From patchwork Mon May 16 18:38:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 35796 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp1674640pzb; Mon, 16 May 2022 11:39:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwSyOdPCfzXEDtepo+upqMwFGyIZauysjNemEBcvctwQ+7IBdGwYOe+E/4TQTLlYmUoeIeC X-Received: by 2002:a05:6402:1ca5:b0:42a:a393:ff02 with SMTP id cz5-20020a0564021ca500b0042aa393ff02mr11337694edb.76.1652726386625; Mon, 16 May 2022 11:39:46 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id i14-20020a056402054e00b0042aa5a47952si5932721edx.262.2022.05.16.11.39.46; Mon, 16 May 2022 11:39:46 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=p9ds6EO2; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A31A968B468; Mon, 16 May 2022 21:39:32 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2016.outbound.protection.outlook.com [40.92.91.16]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 34E1A68B3F9 for ; Mon, 16 May 2022 21:39:26 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kaJcm6gme7dVkrnKADAwVofnc6ko5q0NEj7lOQfgO8jJMz/CGbGMANygYACqI3N0cjhy/6G03y4FB9g7WvFTTNnQy7VaH4SowokAhhbHYtC1zeFmopqxQsR1/jLLWy433fEsU7kF/RBRGEiEt8Cw6/VDic8YVxTtH3h1B+yxwyk8Gre5wlHj/FLnkhEiVluRfHrFGWLHP41eb53uvj3jR23w/HokIxmT9ZB/CbvZFNrx1ATeuJMoDiiGmjJrSrYXx0z7hbW1zPOUxJFlyjEqxgdI0ewIMCdjIUtAoNsEvus7SG/hpoN63khY41Il3Frs2qV+eYe2iO1A7nyHaXtUjw== 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=OAyKc+cGGVCyphOzLn1HN3NZniZ33UC9XzRatEbswD8=; b=JLDZ6NFYTFGfxybeWx6DU8UQbnaQpdnbFViKUsuTIt9rLUOMidDZ/kToNy5tZocGp70hxeaP65pTlRnYXJZXqs0UZQpcw/yOUlqjvOXLc6AlFSO37K3nA/oMs+fK5lK/Sim22BKBa0eLcv1sUqjKHAO2ZSdGhEfkRT3HVuXLviPEz5qg/TxkqJtVwGxC64g0Pq3YcHfHzQJurBFqbsVWsSKBWBjLKKLmOlKlZSkTJogEhHdqgnfqmJKJYSGXSCfMyNX9qKHk1v5BEWUbW6HY0hfOIz/3tZzWruqabBm3lhjIJUMZ1el6fKP2/EQFjRucWbODnEIrkDIATK6zfOZnxQ== 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=OAyKc+cGGVCyphOzLn1HN3NZniZ33UC9XzRatEbswD8=; b=p9ds6EO2lQJoOKFfEaw/k6Qnh3U2LhHzXH+QSd9mP3bwTugFE6FavJsuZfvlwg622EmliZUAngqXCYa4fcId9m8CGJQaD0k0h8qSaX4Q2bPp1aa+Hm9g+NVN/0OZYYTDXOdz31gSk3hAolBv60N4F4tEeHKzfLVkDN5lsdtA7Q8sZYGQbl49uOFpGG3lFGzpe+FE/tcQL6AO/WWfXzZLBsmsXvxM6pnSKFuhu6V2c1xyRa+1f3Vy3vyllDlqdsJjRZiO7nkwHu4cQPalGy5Wm7sl0bSvBGQwUz+al8y7HNMDCwdGl+eBb9B1C0Yt/RKt6ASmY1Usxc3QQ3TmGHYQew== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by VI1PR0101MB2414.eurprd01.prod.exchangelabs.com (2603:10a6:800:4f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5250.14; Mon, 16 May 2022 18:39:19 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5250.018; Mon, 16 May 2022 18:39:19 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 16 May 2022 20:38:58 +0200 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [NFJcQ43gjl0RTXf+S7n3K/UQ4Ri+Ci0j] X-ClientProxiedBy: ZR0P278CA0066.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:21::17) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220516183900.616390-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: be908c85-b9fb-40f2-ff09-08da376b637e X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNW7ZO6S4gJQgGfxIlJxJzTeiFn+SbDLR6zq+fv4PWGbi7WRSSukrbyfAX9F/bx4Lp7zZV025RgzqryrGWlpZd5y/AKtfXGJnajfPxfgdWAW5wKKWAZDB40fgD1od1/oxzXAY7K82GGiVYe5lstFREOnwqL/Mq7BY0UCyrzDabzdpLXHuVrTq9TenNAv9Jb0FgaGNlx96IDpouIgW43ZHZFllRIZfGJWHiPSMXDaN9PbqeY3d8TI2kllOEPnQeOqSi4hni8eZC6OeR6Sv1ZmE+SfUQzlgr3/Mc9A88TYo6tCT7OT8K/YqssPnfin4k29/HqLEGnvE+jwyJnOLnM8QF+O+U3jDQYymjTAGWapZSaTOeEG3VzrOE7v3VQd+dHqR7ukFY4HQizZixULIGNWWU4Y7SdIRC4Bbw2igN6rCevlSGJ2hLNzo7k8T1Ayxk18LWvpiiQgy8bC90BUyVdeha0hmxhgWPUu/40fXvhi9ltzRKENzHON8VORA/C0bPCGhOa+zXJrWqNG5h+0pV5n5DPxMoDA4Ne9RtGegoWhsdlcGpY4gNzIgksk5uLkKsNln2b2f4guCbWKuepTAwRJyzEfUXyJzibeSybncxhSm9we4F6GOss88fsswE3d8PFeyCeQUAj0h7S/S6/uIXGYQuSI2QcRVkRdjNQvVeypDlcmuwq947ZpTIWMsYCWI886RtzYJXehYOlUWu3s7u3Hpevy0ArAK0ODAU8= X-MS-TrafficTypeDiagnostic: VI1PR0101MB2414:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4RFs57YG2cxheSD6eCgo5VaGdPpsMF6fZBAfAJv/jIFR5LSip4k4s+18EEW4bq/6LoYqhZXWzR7CKrVvk/64sUg/KWXOHbObmihi6b8U5UhKTkQEjz8ifQ9RyASPjPcqiViiRFkYnNTl/ZjqexGcRx/bF/SQVAMnkLtWrbi585FAW6KtBu7E30x2r6cRPkRfpn04J/sXyhKCGZysugcenqBp+Ic2yhM0XCBi6L9oJcoTry8ghys7cnR3fofTYRfEFdSlAuCwkBXGIwBlEYeFpENBM4y8p9TGZ+4UWxiqXH1qSpOjyV7ogV8lgq/5Ds2QUFszdHw+IEWCZ0s1VNkCVbw/tpHhJuMep9iJ2RfqmOX3wowCNxD8Qz/p9wnwQvu8FKzXjF48yHZVPd/mKL7sXEHicroBzMRyY4ZG8XhGottwy46XNf7SnlVFfjnp+cUixoeeiy3HJr5RNBKDXTJsTiFNgNlKRjk80zfb6+niEqZ1a3tWVNuJ7LzEobs3ubY98zFPWBJIewSIXGXRR7clm9lAWuZHCcRkP22CB182Crh787VEiJ1UZcxjUGjOEdflQbxFIxPSuif/7q6TFyT7JQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BPHPJp093rqHRfzh59z40+HR1RqxL5fhqpL2pIOcCIEcmzaMJNbU81i4UMUVWu5yWPFnimmFoVK4cy2wk+v4vNch8X/buqSR0P/ugFVtYySiAPhh3w8cOFmdJEUfTDb7f7TlAoMB+DmmMNUU/hLKE0ZbVEXMcXHKQKfLHK06cgnZI7CKS87m/uMmaTwXb7aDlIp1EOUYfxxH/Mr3qSTBKV5DOpj3EUwqh1SQmvG6RlC+WAGCWwj+PCT0hlPgqF2/DCReDj3b5nJ9SCJPlqXHE8N2F20neW3Ju4+F0LCy3OT5ognZztajd6ZisFo1EIYax1mV0idM6DolXX0qoIsKkUQuLr9qUqgIfd0QqLdMjmNFA140qqd7qd78hmiKh0tBT7+tlEzSi34O4PaK3ilWx+vjSrEGdsYaK87nFP7r9YmYg/S2VC4cWH2ZA59itWh9XUyCKWHXPLbxYxX9rYcnUBZjqK80AViaUY06HH8AcgTkzXH2WayssZvhXJnT8HieYztvPmaLstL/QwbKnMbZOYqVLLp7YZ2/6F6sWcIyM4MxV4LqczC8fGkctEEbR8Gmvvy+4wHX6R8lA39t39K+E/b9FHutUTpzR0eJIRWuW2V02/Jc+vfSEx7ch0g8fxOfrriIJCyrm/xgsIT3M/6HwDz1Rq8GZsm9sMbhvDAudNMLGywbAbCzuLx8dZt7O0+9D9qJwP0H0ytRcy46msc0/BLmy3Z6azDKlBeUp1peOlFPGC7sAYLPweU+hs2Vct/rJociNuFi6M2Rlup7S4fNluEFqC0ELqCjkusgHFlqhO8Mhj17qg7va96d5+VG5h2XgxwSGhR5JO5wc1c4NmsuH4xDSkSFmMROjZU8qfmAl3nG8XywzBOndtXwB9xMzlAajBRNHbTEg8cgviZtEIo90MMeCi/VJNIx+v1viApDXrQrw/fsXpmUhOM8UEhF+hGZMErwcBsC+BCmz3luSnSOqPPuosiEKi/CM6niEwCylFRtgjIbXa5aP4qJf/95iW6p3AGc1MESkMLZF2+PmB5+x8E1kyHTYNroPzaLA+GWMfu8dptQpqz3XcOdfiOh4ypHApNuyDU9rjjgkVBkYCGIjFm2ePunNw97Hr9CZkbQZm2/gdOuxCncUmDc96HNplJzJOiqN3eGd6FUUp5yWc8co+4kUwb4CQ7/Sv1U7dsNHZvEHabXTzS1473P1j73PpEGz/i+xpp3/FTFH8bOjC5KRy8aoYHRkbxskByaW2FRueCcobu6HLtakHhJ5azyJJ379ofyjsYCcWDIoeJqjrsGVFMkSpfmquQSuw0L97BX5N3dxqLi//dkA6XreP7a0Y5VTX4/A/wX2GfQLShfUw9thKW06hl2cU+QecZkR9r5TTFFJC9dPSs5eSbw4BW80MJf0yEltR2sMRFVo8sROAep/ASUvVmug8hiBdY9DK1PSOMDzJkgNk3plOhNb81P4H4y X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: be908c85-b9fb-40f2-ff09-08da376b637e X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 May 2022 18:39:19.8985 (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: VI1PR0101MB2414 Subject: [FFmpeg-devel] [PATCH 5/7] avcodec/mjpegenc: Remove pointless motion-estimation options 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: xWIb/Q+c5K6t (M)JPEG does not use motion estimation/motion vectors at all. These options therefore don't affect the output at all. So remove them. Signed-off-by: Andreas Rheinhardt --- libavcodec/ituh263enc.c | 2 ++ libavcodec/mpeg12enc.c | 2 ++ libavcodec/mpeg4videoenc.c | 1 + libavcodec/mpegvideo_enc.c | 1 + libavcodec/mpegvideoenc.h | 16 +++++++++------- libavcodec/version.h | 2 +- 6 files changed, 16 insertions(+), 8 deletions(-) diff --git a/libavcodec/ituh263enc.c b/libavcodec/ituh263enc.c index e99ebfe076..ca44819639 100644 --- a/libavcodec/ituh263enc.c +++ b/libavcodec/ituh263enc.c @@ -885,6 +885,7 @@ static const AVOption h263_options[] = { { "obmc", "use overlapped block motion compensation.", OFFSET(obmc), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, { "mb_info", "emit macroblock info for RFC 2190 packetization, the parameter value is the maximum payload size", OFFSET(mb_info), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, VE }, FF_MPV_COMMON_OPTS + FF_MPV_COMMON_MOTION_EST_OPTS #if FF_API_MPEGVIDEO_OPTS FF_MPV_DEPRECATED_MPEG_QUANT_OPT FF_MPV_DEPRECATED_A53_CC_OPT @@ -921,6 +922,7 @@ static const AVOption h263p_options[] = { { "obmc", "use overlapped block motion compensation.", OFFSET(obmc), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, { "structured_slices", "Write slice start position at every GOB header instead of just GOB number.", OFFSET(h263_slice_structured), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE}, FF_MPV_COMMON_OPTS + FF_MPV_COMMON_MOTION_EST_OPTS #if FF_API_MPEGVIDEO_OPTS FF_MPV_DEPRECATED_MPEG_QUANT_OPT FF_MPV_DEPRECATED_A53_CC_OPT diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index 8d867cd7d0..e4980240c5 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -1172,6 +1172,7 @@ av_cold void ff_mpeg1_encode_init(MpegEncContext *s) static const AVOption mpeg1_options[] = { COMMON_OPTS FF_MPV_COMMON_OPTS + FF_MPV_COMMON_MOTION_EST_OPTS #if FF_API_MPEGVIDEO_OPTS FF_MPV_DEPRECATED_MPEG_QUANT_OPT FF_MPV_DEPRECATED_A53_CC_OPT @@ -1205,6 +1206,7 @@ static const AVOption mpeg2_options[] = { { LEVEL("low", 10) }, #undef LEVEL FF_MPV_COMMON_OPTS + FF_MPV_COMMON_MOTION_EST_OPTS #if FF_API_MPEGVIDEO_OPTS { "mpeg_quant", "Deprecated, does nothing", FF_MPV_OFFSET(mpeg_quant), AV_OPT_TYPE_INT, {.i64 = 1 }, 0, 1, VE | AV_OPT_FLAG_DEPRECATED }, diff --git a/libavcodec/mpeg4videoenc.c b/libavcodec/mpeg4videoenc.c index 69770dc153..45bba455bf 100644 --- a/libavcodec/mpeg4videoenc.c +++ b/libavcodec/mpeg4videoenc.c @@ -1379,6 +1379,7 @@ static const AVOption options[] = { OFFSET(mpeg_quant), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, 1, VE }, FF_MPV_COMMON_BFRAME_OPTS FF_MPV_COMMON_OPTS + FF_MPV_COMMON_MOTION_EST_OPTS #if FF_API_MPEGVIDEO_OPTS FF_MPV_DEPRECATED_A53_CC_OPT FF_MPV_DEPRECATED_MATRIX_OPT diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index c9d8c48026..1ef3e6f4a2 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -94,6 +94,7 @@ static uint8_t default_fcode_tab[MAX_MV * 2 + 1]; static const AVOption mpv_generic_options[] = { FF_MPV_COMMON_OPTS + FF_MPV_COMMON_MOTION_EST_OPTS #if FF_API_MPEGVIDEO_OPTS FF_MPV_DEPRECATED_MPEG_QUANT_OPT FF_MPV_DEPRECATED_A53_CC_OPT diff --git a/libavcodec/mpegvideoenc.h b/libavcodec/mpegvideoenc.h index ecc389a6d3..a5f1014b50 100644 --- a/libavcodec/mpegvideoenc.h +++ b/libavcodec/mpegvideoenc.h @@ -92,10 +92,6 @@ FF_MPV_OPT_CMP_FUNC, \ {"border_mask", "increase the quantizer for macroblocks close to borders", FF_MPV_OFFSET(border_masking), AV_OPT_TYPE_FLOAT, {.dbl = 0 }, -FLT_MAX, FLT_MAX, FF_MPV_OPT_FLAGS}, \ {"lmin", "minimum Lagrange factor (VBR)", FF_MPV_OFFSET(lmin), AV_OPT_TYPE_INT, {.i64 = 2*FF_QP2LAMBDA }, 0, INT_MAX, FF_MPV_OPT_FLAGS }, \ {"lmax", "maximum Lagrange factor (VBR)", FF_MPV_OFFSET(lmax), AV_OPT_TYPE_INT, {.i64 = 31*FF_QP2LAMBDA }, 0, INT_MAX, FF_MPV_OPT_FLAGS }, \ -{"motion_est", "motion estimation algorithm", FF_MPV_OFFSET(motion_est), AV_OPT_TYPE_INT, {.i64 = FF_ME_EPZS }, FF_ME_ZERO, FF_ME_XONE, FF_MPV_OPT_FLAGS, "motion_est" }, \ -{ "zero", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = FF_ME_ZERO }, 0, 0, FF_MPV_OPT_FLAGS, "motion_est" }, \ -{ "epzs", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = FF_ME_EPZS }, 0, 0, FF_MPV_OPT_FLAGS, "motion_est" }, \ -{ "xone", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = FF_ME_XONE }, 0, 0, FF_MPV_OPT_FLAGS, "motion_est" }, \ {"skip_threshold", "Frame skip threshold", FF_MPV_OFFSET(frame_skip_threshold), AV_OPT_TYPE_INT, {.i64 = 0 }, INT_MIN, INT_MAX, FF_MPV_OPT_FLAGS }, \ {"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 }, \ @@ -103,15 +99,21 @@ FF_MPV_OPT_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 }, \ {"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_OFFSET(me_penalty_compensation), AV_OPT_TYPE_INT, {.i64 = 256 }, INT_MIN, INT_MAX, FF_MPV_OPT_FLAGS }, \ -{"mepre", "pre motion estimation", FF_MPV_OFFSET(me_pre), AV_OPT_TYPE_INT, {.i64 = 0 }, INT_MIN, INT_MAX, FF_MPV_OPT_FLAGS }, \ -{"intra_penalty", "Penalty for intra blocks in block decision", FF_MPV_OFFSET(intra_penalty), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, INT_MAX/2, FF_MPV_OPT_FLAGS }, \ #define FF_MPV_COMMON_BFRAME_OPTS \ {"b_strategy", "Strategy to choose between I/P/B-frames", FF_MPV_OFFSET(b_frame_strategy), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, 2, FF_MPV_OPT_FLAGS }, \ {"b_sensitivity", "Adjust sensitivity of b_frame_strategy 1", FF_MPV_OFFSET(b_sensitivity), AV_OPT_TYPE_INT, {.i64 = 40 }, 1, INT_MAX, FF_MPV_OPT_FLAGS }, \ {"brd_scale", "Downscale frames for dynamic B-frame decision", FF_MPV_OFFSET(brd_scale), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, 3, FF_MPV_OPT_FLAGS }, +#define FF_MPV_COMMON_MOTION_EST_OPTS \ +{"motion_est", "motion estimation algorithm", FF_MPV_OFFSET(motion_est), AV_OPT_TYPE_INT, {.i64 = FF_ME_EPZS }, FF_ME_ZERO, FF_ME_XONE, FF_MPV_OPT_FLAGS, "motion_est" }, \ +{ "zero", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = FF_ME_ZERO }, 0, 0, FF_MPV_OPT_FLAGS, "motion_est" }, \ +{ "epzs", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = FF_ME_EPZS }, 0, 0, FF_MPV_OPT_FLAGS, "motion_est" }, \ +{ "xone", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = FF_ME_XONE }, 0, 0, FF_MPV_OPT_FLAGS, "motion_est" }, \ +{"mepc", "Motion estimation bitrate penalty compensation (1.0 = 256)", FF_MPV_OFFSET(me_penalty_compensation), AV_OPT_TYPE_INT, {.i64 = 256 }, INT_MIN, INT_MAX, FF_MPV_OPT_FLAGS }, \ +{"mepre", "pre motion estimation", FF_MPV_OFFSET(me_pre), AV_OPT_TYPE_INT, {.i64 = 0 }, INT_MIN, INT_MAX, FF_MPV_OPT_FLAGS }, \ +{"intra_penalty", "Penalty for intra blocks in block decision", FF_MPV_OFFSET(intra_penalty), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, INT_MAX/2, FF_MPV_OPT_FLAGS }, \ + #if FF_API_MPEGVIDEO_OPTS #define FF_MPV_DEPRECATED_MPEG_QUANT_OPT \ { "mpeg_quant", "Deprecated, does nothing", FF_MPV_OFFSET(mpeg_quant), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, 0, FF_MPV_OPT_FLAGS | AV_OPT_FLAG_DEPRECATED }, diff --git a/libavcodec/version.h b/libavcodec/version.h index 5183deb68b..aeb58e3fed 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #include "version_major.h" -#define LIBAVCODEC_VERSION_MINOR 29 +#define LIBAVCODEC_VERSION_MINOR 30 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \