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 E0DE9408F9 for ; Tue, 1 Feb 2022 13:18:31 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9A98A68B3EF; Tue, 1 Feb 2022 15:08:52 +0200 (EET) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2064.outbound.protection.outlook.com [40.92.91.64]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B79BE68B39E for ; Tue, 1 Feb 2022 15:08:40 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FEPoUCbeP061hTj1NS3dh4HnZ9kf+mAkXTA4T8TZMcumZeWnxqwlvuIAcHKNmkBU7gg7yCduztplPT7Wff8FNWpvks/sBDfLy+l3Z54AVZLdsFrXyQnboUEtRdE8/FWe1UbbCP1Tuc8FtoNCLZ65rJrs2k9Yd6JS0eAgEsRebXGNI3Gr4AKe+Lnrt7xUylS4Y09n2tWwN5A83ategXC2y3fqjNGMobJTSzUtUJAKFIKfjvrT+6hOY8hH4ofB2uMqf/03GMxz6tNP755/prXEt66yU3Pxv/SIvlcBao52GC5DMQS2EaC/QvuWVbGd4paBJwBrO9tdb6ZrNvkr1NhocA== 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=5spjA3VrLbRtd0qBtg/WvJ4j3cbYtjbrJoaeM+WXsiA=; b=kp11xZ5tKTA19sw2V679NnJ8o3V6jeYhhzKy3eTV8VaoHQs6f0jMlqG8WHEhm8NA25s5h7oEHKbR9a7GShgaw7JY0hV4QgUrDBs2zS0phXa61evop9+6kcOsRLnWQIgmB7LfrikPLYnQ4t+dSO52uFrQoMCwJdmHrNLDKoUSXwaQpYuinor5fqzFi3wlV7Dk0O/9ozg84AopsYy8YONe/6NoMRIdgxNB74Z/9D3Y/dtaW9AwV9ccaOZ1WYCP7aU1fU1asNSRhdeRcOrQHFX2sJDZa5kUNp+kz7q0gfeYVHTzcLONqxNMG5YFxxGYbZAyO5xCRmxCIMwdubkT3ijQSw== 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=5spjA3VrLbRtd0qBtg/WvJ4j3cbYtjbrJoaeM+WXsiA=; b=NsQ3I8g8pKrBswTsJnN+DywRUrxE7z8d2rZZG+tlQHFyMVh8EkH5/D620s7hyk1QwpT1c87eKDDpM+jhzi9lptiqTO8j8PxXPJR5+rIme9YOPlMjsz+zy5ddH9l1sR3CKTkV3iI2Kcw9tfZ4YUhwZ8CxDa9EPwA7q9A0ynUJK8h8ggRqAvqLYT41/IAFVI294U7XkzpyuiJ7bTwJcvxO7f1p9E45p4nwvQQW566adp4/K0ci6nVOMAw+YGoE34nTZY/BFKcCEoMb6eM06MGBi8wQa6aqWnavnT/dUnfU+QRk5F6mm9p15EtQwKSwt85E1NBFI6ByVpPfU3925fn6yA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM9PR03MB7962.eurprd03.prod.outlook.com (2603:10a6:20b:439::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.22; Tue, 1 Feb 2022 13:08:38 +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.4951.011; Tue, 1 Feb 2022 13:08:38 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 1 Feb 2022 14:06:46 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [fna8eURrTzofBYRZuEYqFcyqyjQHAHgB] X-ClientProxiedBy: AM6P195CA0092.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:86::33) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220201130706.1420875-48-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 981af294-2692-4782-decf-08d9e583efdf X-MS-TrafficTypeDiagnostic: AM9PR03MB7962:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: k2hQsAp6/PkhVSlUAkf6lHYjedxi0zZ4r6DaVhqJsLcNHFciRc69bXxCBqEtYaV1fmrX2eN+qjfa/gpl5vW13Xc9UMKRu1fdb/dN1FUInXYA25Q6dzeEZco5zarILmrkFcaIjfoRuOnZyAEFHVdBu7aH9IM19YM7SOj4DZIgMLdKQUqdhLgtipu2QhqwC+FM9puxXhKDpNJc3i/yeMuLLL2DmwVZrlJLrRMaaqpsUTGr6Wt+LxiN02sV6LB1eBX/uCu+dNf+LItzU4UmCTAzkIA7e7bB92OXn453AfFO/i05fJtmnIdtGOWKL6LHPQVtUS+qJyEhpPoCVfIueX7zcBfVt/XGGHAL8/SrT4FQF0N05VNlwIrE9CE4HBP3/c7xvddKd93rG/AsXqu4FpKe6/zcmHVqcKjBEfyTDttuCo58xGAtH4E4WWlA5DhHtkmkv7xkF6cPysKV0cSEgCMjT0B1xLv3IpPvS2JxRC4XZMX4qMigbyjYMOvtrBZuR1eIajDNBxB7bGaTW1RqCQUtEJYvjWs7l7eKbj0itHKAErm+cImGYQYywMRhrfppGT7l X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?zEPDlsYUkh6s6+XtuReQG4IsgPdGwyR6I31N4U3muKDAu6frJsbJI9Ug0O4u?= =?us-ascii?Q?3mx97czMdCKTvm7g2O9BMb4+CqUd02U+Vj31XuXWRZYgEZisuGJ/mFUSzVjT?= =?us-ascii?Q?xkjxKDVWLPs4ZGACXnoLZAvy0lL8FjmeoIrBhJ3ctljhKCcX+XM31YRWu8x/?= =?us-ascii?Q?pWT1TiuAGwuwEYHfGi7zhL1bQ/JaSGy9EV3dbHUK28s2VfsJ8XVQOv2ZWLtp?= =?us-ascii?Q?nC8XSLDnTgx3NYBRCkqy9QvPcqrCeC/2buc3LxFBgdT8RTialbSNzFrcA/H1?= =?us-ascii?Q?GmUGhQMKL9zWdPKLGiFmeyF3WBp4d7YQQoT/Y9BNY+3bwj2sSEyJ7AUEGdRf?= =?us-ascii?Q?tXBeA/bpkK3YRr9xa0f6FOqKdPH1eZq4TiBktmSoNCRHQvL8LJT/lFaoLzN5?= =?us-ascii?Q?A3Lti3+IGvnifwiOAJSP9Do0fKNQhaHoM0lj3QOR7Yw1uC4ipG6f5RuzTivA?= =?us-ascii?Q?gXCee9hTh2B6PHNI0b/vPpH9w10nsHSbcq/85bfO6BFV7bdDTRQ6kHB/0tIx?= =?us-ascii?Q?ISIE2OcTdhlweP+GbhZdaLK4TfoOnAXfwkaKCqtQoeSCBNCZRoe1rDfes2kg?= =?us-ascii?Q?5hGtNxw3xopyNQZLkJ5sVIcyRNrzJhApe+ScFdAB4HA8P4uCMjkXdC9TmtFF?= =?us-ascii?Q?+vWZ6oqw3+v2xQvem4LJZXNS4mL32EovgeQGOvYiN9GPv4Mp+29CHMK5b8LD?= =?us-ascii?Q?pald0y+aidawirDHC3drFO37g3uVJP8sixE2SxdWrYHoSILBxS21asqr5TuP?= =?us-ascii?Q?I7owBSekJB4MN+/ovamtW7DLSKbXbCDYxk70xkeORBguPxMbpIgePYATAi+l?= =?us-ascii?Q?pYrip9fX7lzC1DjHGeuLZAFqzV1T6K2xsPgND3uHBMXo5AMubeEYPMWhPJFS?= =?us-ascii?Q?sdhaBQTMT1a6dbtRexkjsTkPb9Bi0yuEzPLAGEtOfO++Q8sfvP27tYQPZXCN?= =?us-ascii?Q?ezCKNnJJM80Iu0f6ldI51A=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 981af294-2692-4782-decf-08d9e583efdf X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2022 13:08:27.8475 (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: AM9PR03MB7962 Subject: [FFmpeg-devel] [PATCH v2 49/69] 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 0d6b79fe5d..4601c4be64 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -478,7 +478,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 0e14cebb3f..093f3b948f 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -574,7 +574,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, " @@ -3634,7 +3634,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 b83c24debb..0abd315846 100644 --- a/libavcodec/mpegvideoenc.h +++ b/libavcodec/mpegvideoenc.h @@ -44,6 +44,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, ... @@ -179,7 +181,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".