From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTP id A01324073C
	for <ffmpegdev@gitmailbox.com>; 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 <ffmpeg-devel@ffmpeg.org>; 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 <andreas.rheinhardt@outlook.com>
To: ffmpeg-devel@ffmpeg.org
Date: Sun, 30 Jan 2022 07:27:47 +0100
Message-ID: <AM7PR03MB66609F09A42F9E356F6C16FD8F249@AM7PR03MB6660.eurprd03.prod.outlook.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <AM7PR03MB666068B09E9D0014E1CC65DD8F249@AM7PR03MB6660.eurprd03.prod.outlook.com>
References: <AM7PR03MB666068B09E9D0014E1CC65DD8F249@AM7PR03MB6660.eurprd03.prod.outlook.com>
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 <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Cc: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/AM7PR03MB66609F09A42F9E356F6C16FD8F249@AM7PR03MB6660.eurprd03.prod.outlook.com/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 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; i<s->mb_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".