From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id A01324073C for ; Sun, 30 Jan 2022 06:34:19 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7828168B151; Sun, 30 Jan 2022 08:29:27 +0200 (EET) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2034.outbound.protection.outlook.com [40.92.91.34]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E311F68B2FA for ; Sun, 30 Jan 2022 08:29:21 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ATFvPT7J9agqNlkLvy8Tx6LyfDa898N5a7JtuJmsV7/x+wM1nl2pPR7yJW7xla2W5M/DXkNoHQoDdtHTWOhwy770J1NVAoBt8y6oFRLUHALBqphhc/VeObgO/DfH4X85Hwo6zMWgJ4msCtdV7EV9gb2bKEY2aNyHbD7PDmrmvRlsUSRFss2J7D7M1DcvG4gY0LvXvabD7nm4w+mDFroSKISA3y5/VLYN72vqvwt79spPbb1JY+g0PXf4XoUFzA810BW/z1z5G0hI1yFH1tMH7Sm8fSAiUgyfx2koIAfFepvjoezlnN9P2ny1PrmX/dQTpoqH7Oca0nmUhu26GSJHIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7LwSGbACJ9Pl6MAS+8SEitFdlRJ1yPa92D/gNHnyQZU=; b=MsQJBAFE0sTpfDtbX843oID1mXSY2iHJE6Nyok5qJnkdAwVl9FbU2jvCGf49qUYc825jiNtuKSRPEYTLkSIjss7C66w3E1O839H6ZRlaOf+pSrEby2LAp+5u29Etzijm6+H+UojAoroc5ETd17UUyXohgfZflA3MeTqiS7EY2lXGBw1H7nePVijiyZgcpsdkg/VaW8gVzuVCe6BsHClc2oZsmQL8LOhpYKyqrm9H3Z/+kOJY66ZWI84esbl3jZgSjtwf4YOsMvWotQu6unM7Ezy3E02HscyNZuAFSzyMHo/+cpqHPHBvh8sS2yV4zZfp08uLIgSLwMZPu2BOr5kstg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7LwSGbACJ9Pl6MAS+8SEitFdlRJ1yPa92D/gNHnyQZU=; b=ZYxeE4PpQQJTVd5bJ0wmiWFaq6peTN3OEFWqCUgyBbLlnXGl3HIupjbTvgEfThrYqd98AUz+JSolz98vG+3GQn08ez8WsE+V7n10c1oAVj62DwA5ZUYs4pJNTlGHN+gflgCps68ynkw+RzSKuw3+/UHtcVrm0fygIeyGeT7fMx6IslC//65iJ81cKMUvO4YQs4roe98HtwPrFWA6bsl2CwN4ZZgtGpogTjo/dPpM6BhgUhdAs7tyHWN9xj+JhpkY5u5cFlV6rQ+JeVEKYrWii8zX/dBU+YczoMFM67dUCnM17VjQl/Fv1XSOXJPf+3zE6LW0ceN5/WP78wP6Q2Qk0A== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by VI1PR03MB6239.eurprd03.prod.outlook.com (2603:10a6:800:140::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.20; Sun, 30 Jan 2022 06:29:20 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%6]) with mapi id 15.20.4930.021; Sun, 30 Jan 2022 06:29:20 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 30 Jan 2022 07:27:47 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [wbScbRSmB5rq/ZbIRL2NzsNnlpJ9Q5yO] X-ClientProxiedBy: AM6PR10CA0044.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:80::21) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220130062749.936489-38-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 73668fea-a79c-4b29-62df-08d9e3b9d964 X-MS-TrafficTypeDiagnostic: VI1PR03MB6239:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zKKZPvhQnqQVwOE/iCCqmoiu7hvrHdOBmmeJjc8u+P2J2KK3OSo4GxfTipiwlSJuGGgZTSueAaBma4MoV5Kvsm8hOguWBShpo2wzOxBV1caDDYqL+nngKzJMfUnq5eFvhaO+hmcLSz52n4iP6Lh1jmHV0Po7pK31PKD2pbfCIRq3V+AhyEP2Su6zHir5ve1zRXikzQpu3qqDQmU0fvez1RyxnBIQBhp6sqtSwqobRoUf9JjBk/19kb9afndSGLlr08hdBjUGRjW0A6Rm9SFcT4CE7hQHR2xmzkePUXURxc4E9FK4uUurtVjibh6kcB0gVZUgW5uhDDQU4N3mj5NiY8ArX4igNRBgsxXxpMCjfrv3QoFn7xg5iDeVmV80661TqWViYWp2lx/aQz7OsY5Kmv9fxNLRjB1uCUPpG5sebX6PMPe70bDHtZQjUL/RnH4NF7TYL1oRGXWeRclX67l6Jdi8FYnGUbxJnXY8Qc3hrWgHaCqHL8oj1RcEKwm9lqyBOZQYtbGwq/xRasvR8oeqRHjeaMdfUxcdvaIHJEfuHWwktUquywpG2UNlSeIzMIFi X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0o3T7oXn1MnhqyxXoW4Kjq4pJKgEe5l1AMjgY4bUzHG6kyy4GvOMxawy1oNw?= =?us-ascii?Q?b/GHJKBgqCl8Rn//YzLNOnlIQj0YHGHI29AOsexjRs5oahMC8gdYtHoVif5b?= =?us-ascii?Q?Xhrk4Php5By635JRjRkoi7esCoaadcoLlHGjrLOMnUqegHpeviPDnlURrac0?= =?us-ascii?Q?z039GC2w8EP41H7SRCaTFPHxj88WTwcRBY0J3fxRlIvaGFxNpg+ggQLkyJ2p?= =?us-ascii?Q?t5HonPI2dT9v0DCLvRvxZvcfW9Fs2L31O6+QCVEEaDZc2sPl92fp1b3Sj20w?= =?us-ascii?Q?rQpnyiByFT3PxQOacMFNAbyJWGmSiIZj6t8jT3p1lCHe1Ayci2qtYQCVCdJM?= =?us-ascii?Q?Ft65jKtMGgmeGVN99bTyOQnxjD017poub8U+oDge9siX0p51ld2LGF6b0mtj?= =?us-ascii?Q?/XSx6lMk45TUVhUeFP9JlRsCk+ueIFUfYGFJYkhdMtBKYU6Jr9UtoaBoBFzJ?= =?us-ascii?Q?bbUXLNAw8nkpkAKl5gFCt/daPaIrRybYlW/PHIJcQo2bvemO06mswhsJ2dA8?= =?us-ascii?Q?TWIr66MFZ8qdhIQL53ElPI915uRvBmHTG51fOKb8891yBhQyrKubgGmgTcWr?= =?us-ascii?Q?p9dWLxIjcgwh043Y4rnPVYqsWnSDkrzs3YGxA2ZTQIoA1ofGQqMOyeggoqak?= =?us-ascii?Q?xydjgqZQoaMVQYb+cKPbsqs+OeGXPKb24BxPAXS2dHOVhqnrXIbvS5TUJaqF?= =?us-ascii?Q?zQOhjaeGhfZ84LpSC5MoPxSMRIp7LRsOnDG3JDjnQr4DAtMWCO9jW65IhIan?= =?us-ascii?Q?pVzZdQdFVbmwTcvERzwyYvLWFmRFDbTkLZbKYnPUgkBd/0SzIjpj5MBjA7vi?= =?us-ascii?Q?O0DzR6Xn94Luog3u2/BE3qQroJ9Cpx6bZf++NtAu0rS66me/2lhfxeAuXi8/?= =?us-ascii?Q?W94ML6tGI4fQh9fijjqGF8Kr6xTLFXvl/ihC/afZrvGQkAMJSvbS3VRrW295?= =?us-ascii?Q?szy9WNWo/T1u5ux+85zyzA=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 73668fea-a79c-4b29-62df-08d9e3b9d964 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2022 06:29:20.6106 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6239 Subject: [FFmpeg-devel] [PATCH 39/41] avcodec/mpegvideo: Move scenechange_threshold to MPVMainEncContext X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andreas Rheinhardt Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo.h | 1 - libavcodec/mpegvideo_enc.c | 4 ++-- libavcodec/mpegvideoenc.h | 4 +++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 201ca81621..5c7654230a 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -482,7 +482,6 @@ typedef struct MPVContext { int frame_skip_exp; int frame_skip_cmp; - int scenechange_threshold; int noise_reduction; int intra_penalty; diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 01ed41a2e7..1a88e4fb93 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -572,7 +572,7 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) return AVERROR(EINVAL); } - if (s->scenechange_threshold < 1000000000 && + if (m->scenechange_threshold < 1000000000 && (avctx->flags & AV_CODEC_FLAG_CLOSED_GOP)) { av_log(avctx, AV_LOG_ERROR, "closed gop with scene change detection are not supported yet, " @@ -3632,7 +3632,7 @@ static int encode_picture(MPVMainEncContext *m, int picture_number) s->current_picture. mb_var_sum= s->current_picture_ptr-> mb_var_sum= s->me. mb_var_sum_temp; emms_c(); - if (s->me.scene_change_score > s->scenechange_threshold && + if (s->me.scene_change_score > m->scenechange_threshold && s->pict_type == AV_PICTURE_TYPE_P) { s->pict_type= AV_PICTURE_TYPE_I; for(i=0; imb_stride*s->mb_height; i++) diff --git a/libavcodec/mpegvideoenc.h b/libavcodec/mpegvideoenc.h index bc69c6ea53..662236c102 100644 --- a/libavcodec/mpegvideoenc.h +++ b/libavcodec/mpegvideoenc.h @@ -42,6 +42,8 @@ typedef struct MPVMainEncContext { int me_penalty_compensation; int me_pre; ///< prepass for motion estimation + int scenechange_threshold; + int gop_size; int picture_in_gop_number; ///< 0-> first pic in gop, ... @@ -177,7 +179,7 @@ FF_MPV_OPT_CMP_FUNC, \ {"skip_factor", "Frame skip factor", FF_MPV_OFFSET(frame_skip_factor), AV_OPT_TYPE_INT, {.i64 = 0 }, INT_MIN, INT_MAX, FF_MPV_OPT_FLAGS }, \ {"skip_exp", "Frame skip exponent", FF_MPV_OFFSET(frame_skip_exp), AV_OPT_TYPE_INT, {.i64 = 0 }, INT_MIN, INT_MAX, FF_MPV_OPT_FLAGS }, \ {"skip_cmp", "Frame skip compare function", FF_MPV_OFFSET(frame_skip_cmp), AV_OPT_TYPE_INT, {.i64 = FF_CMP_DCTMAX }, INT_MIN, INT_MAX, FF_MPV_OPT_FLAGS, "cmp_func" }, \ -{"sc_threshold", "Scene change threshold", FF_MPV_OFFSET(scenechange_threshold), AV_OPT_TYPE_INT, {.i64 = 0 }, INT_MIN, INT_MAX, FF_MPV_OPT_FLAGS }, \ +{"sc_threshold", "Scene change threshold", FF_MPV_MAIN_OFFSET(scenechange_threshold), AV_OPT_TYPE_INT, {.i64 = 0 }, INT_MIN, INT_MAX, FF_MPV_OPT_FLAGS }, \ {"noise_reduction", "Noise reduction", FF_MPV_OFFSET(noise_reduction), AV_OPT_TYPE_INT, {.i64 = 0 }, INT_MIN, INT_MAX, FF_MPV_OPT_FLAGS }, \ {"ps", "RTP payload size in bytes", FF_MPV_OFFSET(rtp_payload_size), AV_OPT_TYPE_INT, {.i64 = 0 }, INT_MIN, INT_MAX, FF_MPV_OPT_FLAGS }, \ {"mepc", "Motion estimation bitrate penalty compensation (1.0 = 256)", FF_MPV_MAIN_OFFSET(me_penalty_compensation), AV_OPT_TYPE_INT, {.i64 = 256 }, INT_MIN, INT_MAX, FF_MPV_OPT_FLAGS }, \ -- 2.32.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".