From patchwork Tue Jan 25 17:41:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33853 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp834303iov; Tue, 25 Jan 2022 09:45:14 -0800 (PST) X-Google-Smtp-Source: ABdhPJwrvhcVgQKCs3svNOMH7c2Fpa6lAm/M59zABVGTDlcfilZ7JKcDbfYTQhnw/Mh36PjrtcmU X-Received: by 2002:a17:906:444e:: with SMTP id i14mr17359425ejp.596.1643132714265; Tue, 25 Jan 2022 09:45:14 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id v10si10632424edb.96.2022.01.25.09.45.12; Tue, 25 Jan 2022 09:45:14 -0800 (PST) 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=D+iZW8z5; 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 9CFEF68B19D; Tue, 25 Jan 2022 19:42:35 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068033.outbound.protection.outlook.com [40.92.68.33]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7B48568B182 for ; Tue, 25 Jan 2022 19:42:32 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fo3OVprF362yqiUot5lWSzBnjGA81554JINZOKodEf0ZDc+hStop1HzX/xNG4+J3gQqWfRvPAM1s1SEKysRLpiiC2fneS8pYUwK8ZKidNSj/pJHETttTRekzLo9KxseUAbiEHTAElOJGPuM9WIqx8SOypsZJUVoCVs7oUL124oKDMymk7yEcAG/Tb8aP3i8mbPa6nv98TYx9Km+Oz0W1dY1/LUI0aW345Eso6mHkmP80yLzpi5jmRZb5H+JyQfdc17hv0ijRx+gBbD5SwRZ91kSDf5fIlilQ/rFcVAA6A4lXgMjBXEUHFpVXErmwkCYIvqulCn1hV3eLFF/AwtJ9VQ== 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=JsXRDQd/qaw9CXNDJbgbCGMXUkZdXGxofMSzQ9+n5rU=; b=cw5MYE7rieZC+3Mx5eEIxLzkGBThr+s7qgr5CPutWXQFy0uP0YuyK+nm6HMtuNyFzfvCNzY37YjMCxL2+k1+3hgku9ot3/pazwaWTeuwYvZiA98eHC/kTt2FZ80mJs7etGL4aLK2Blzwe96aqinj3UhbgpQ7NyOxg5XmM15Jzk2/ixFyR7wUSrft7SVP29Fb/m3wBSdI6c0MaxDj0r+uwnDYXFun4uWIXLxtGL74rm2nxmaeAnpESeOeZmPsGCtOhzbYODqPyae3TlbhnaSgO1MUsk6LnXqNuujQs3ll6t4wWPb/hIb8Ae5bA4tVC9mEMzL/2he4tDrhpHtqbV6GFg== 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=JsXRDQd/qaw9CXNDJbgbCGMXUkZdXGxofMSzQ9+n5rU=; b=D+iZW8z5JxJ2NoCwVe2Oso/ry0Qe0+gJIdAxlsliesbG4EU3mnpLl/W61sS5N2UvZttyFvgzORLXygzk/6ISgYc5sNY4GsOG96BKj2IBp+P93evv/yFcer5tOM3vmxTxH0OimeuSBEzhd5SP6awXob5z5HhzooD1Qh0dEc8VKWmvsTflhzDXR9+LA/WUyJ6FsRuG2ZM1AkAdE9wbOH5BHkSRqs1vT/1nnqMXNw6B43Y2YOb925xtZ2kZT7Gzcy9tVspHyK/x27HoaucBu644ihvS2RvrLtA/VTCPv9vywSDHtz7PakrD+eD6o9lvooy1cF6MGjXWKx7jRTVSp7Nk7A== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:42:31 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:42:31 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:46 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [UGYwCeqxgE/BCDgz8zbXLr3WtbqoIHNe] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-18-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b1f5738b-a1dc-44e9-ef2a-08d9e02a0fdf X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1dh/0p3L/E+Ih6xQcquoyv7wJa/Udk4wM8qRBb0UIOXpW6Od7KZXDcMZgAtUHR2BsaK3LoVWc2A/s1gbKQZF1rXsxvCrFEnYInIX80W8ZWNGbZUpzMhr4SfaR3H67nT+DaMn29tQ5K4ogO0LV8k/KWCMbUJdlhUrRFenUwbRHmcoIIuttMBwiFsD2CdA/UdKd2wQ+6/z9zDWe72kfuHhYWJ8BAKICXXvy9pwQgF601UzQmXDhe+rcu92/wiyqTktaFftJKXy7TyGPmGtDOilKqHg64aJ3+FRgnxHXM5zwcvB9uAG6iVUFNiXfexotNh8f8oTJw+bPv+5cw768hV1n8f/tLA0Rr0e5bGDnq+GHEcFHMgd94unx094jTHwI0Uaww2BNTXRq6MBlANJDzYE5cc/5H3Y4/ezBzkVRWdGUJo8lmDPE17wxI0xiSNGHeFScDk7IjdRdfKD3Ka2rEulIRJND8RiHcPxN5AyDYuOXjOaJM6ORLbKyl6ywdmvnAAwYcWDfsPMFp52QAkVy9fdWS+AfyPHnOCpnqYDokgUNrU/rjn00rrw+vagzSfg7n63 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: uaxr5py376et1YckLdui/x1tKxuB5WFDxiN2ST0DZ4fC4nRXWvdKtItDuOm8RPH5MT7FaBeCkak88KtuUnLTVcHP64Ye0LVVuzMFmFGwWQsADXl2hojqlJXRM9nFUZ82ugJ7KoDcqI9OEgfMK4D8RbHPZFqTNpOdSKPQ/0nn8sb8Avt+2WHVC3uNcSZxh+W8V+OYbWs/b/fX/VncDTc0nl5CcDdddIfKM1I4aHz9ddAkTXrJlCn6ev8Dkp7DEkHz7+CfYKdDUorF5MXzWpwHllfNlu5fk1WHC6LOuPL1kDcuLnV81E+2fnxefBb6aCyVf81ntWAD0pR1/sACTDm34tAXrL5MzWpdKhcwAE7veNiw9u8czv4V7jFMZhaWMjLz+V+/LeKHvp1bBDFpjrx9YRSOkTypsdLORCO4J3tZfwkJ93CF+ThLs+rp4+pC/iMkJci3NnFKOy/PemFsB9XFUEnGNRh9lgIM6Pq0FfrXCYyenIDI41YirQlVJszAXiJ9CNEKlgR3lzKSHm01OGKo9gcDHq3fpc0VbjTISrJe9Qnd3L99ERJuGzXXg3wL1BFTwFdDkWau2obZmiWwbLMIZnAJRqo2tkcczlupict7w4E+PJJ+PxfaSdfjHDC2lF4Lew/AHYysHtQvp7MrO67o1PD4pUmfO5c1O46MIuydFYo6KNQP/QNtdzC6yET0W1tI6WsLo2ZTKUBZD/NZfmuC+/gUtZ7EEpf9I46fQDTuk8WAmCR48hv9KEyCX/NmQ4nny0gjw2aQdYGWwK7GY+4PQqswzbzb8jUF23nPX5E2VZ7lT51wrVUwd8PcO6Zmihy7NTdhXryggBf4GGiG6ha7SJ4iFPJj3S5ISMPH10kdOto01eSDDjUcAIjfiEhiN12c1ksyCBhQDMxcTkR7cLvfKeHm0XQc5o6wupqXNv0kjaj6RIzXrmchE5NLjkBTGLPMU3fBEM0EZJj8yye+5t0QJg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b1f5738b-a1dc-44e9-ef2a-08d9e02a0fdf X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:42:30.9999 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 19/21] avcodec/mpegvideo_enc: Move H.263p? encoders to ituh263enc.c 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: lc02DYm9pfAV Signed-off-by: Andreas Rheinhardt --- libavcodec/ituh263enc.c | 72 ++++++++++++++++++++++++++++++++++++++ libavcodec/mpegvideo_enc.c | 72 -------------------------------------- 2 files changed, 72 insertions(+), 72 deletions(-) diff --git a/libavcodec/ituh263enc.c b/libavcodec/ituh263enc.c index bd2deba210..9253d60a16 100644 --- a/libavcodec/ituh263enc.c +++ b/libavcodec/ituh263enc.c @@ -874,3 +874,75 @@ void ff_h263_encode_mba(MpegEncContext *s) mb_pos= s->mb_x + s->mb_width*s->mb_y; put_bits(&s->pb, ff_mba_length[i], mb_pos); } + +#define OFFSET(x) offsetof(MpegEncContext, x) +#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM +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 +#if FF_API_MPEGVIDEO_OPTS + FF_MPV_DEPRECATED_MPEG_QUANT_OPT + FF_MPV_DEPRECATED_A53_CC_OPT + FF_MPV_DEPRECATED_MATRIX_OPT + FF_MPV_DEPRECATED_BFRAME_OPTS +#endif + { NULL }, +}; + +static const AVClass h263_class = { + .class_name = "H.263 encoder", + .item_name = av_default_item_name, + .option = h263_options, + .version = LIBAVUTIL_VERSION_INT, +}; + +const AVCodec ff_h263_encoder = { + .name = "h263", + .long_name = NULL_IF_CONFIG_SMALL("H.263 / H.263-1996"), + .type = AVMEDIA_TYPE_VIDEO, + .id = AV_CODEC_ID_H263, + .pix_fmts= (const enum AVPixelFormat[]){AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE}, + .priv_class = &h263_class, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, + .priv_data_size = sizeof(MpegEncContext), + .init = ff_mpv_encode_init, + .encode2 = ff_mpv_encode_picture, + .close = ff_mpv_encode_end, +}; + +static const AVOption h263p_options[] = { + { "umv", "Use unlimited motion vectors.", OFFSET(umvplus), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, + { "aiv", "Use alternative inter VLC.", OFFSET(alt_inter_vlc), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, + { "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 +#if FF_API_MPEGVIDEO_OPTS + FF_MPV_DEPRECATED_MPEG_QUANT_OPT + FF_MPV_DEPRECATED_A53_CC_OPT + FF_MPV_DEPRECATED_MATRIX_OPT + FF_MPV_DEPRECATED_BFRAME_OPTS +#endif + { NULL }, +}; +static const AVClass h263p_class = { + .class_name = "H.263p encoder", + .item_name = av_default_item_name, + .option = h263p_options, + .version = LIBAVUTIL_VERSION_INT, +}; + +const AVCodec ff_h263p_encoder = { + .name = "h263p", + .long_name = NULL_IF_CONFIG_SMALL("H.263+ / H.263-1998 / H.263 version 2"), + .type = AVMEDIA_TYPE_VIDEO, + .id = AV_CODEC_ID_H263P, + .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .priv_class = &h263p_class, + .capabilities = AV_CODEC_CAP_SLICE_THREADS, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, + .priv_data_size = sizeof(MpegEncContext), + .init = ff_mpv_encode_init, + .encode2 = ff_mpv_encode_picture, + .close = ff_mpv_encode_end, +}; diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 4c3c870013..044c675014 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -4556,75 +4556,3 @@ int ff_dct_quantize_c(MpegEncContext *s, return last_non_zero; } - -#define OFFSET(x) offsetof(MpegEncContext, x) -#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM -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 -#if FF_API_MPEGVIDEO_OPTS - FF_MPV_DEPRECATED_MPEG_QUANT_OPT - FF_MPV_DEPRECATED_A53_CC_OPT - FF_MPV_DEPRECATED_MATRIX_OPT - FF_MPV_DEPRECATED_BFRAME_OPTS -#endif - { NULL }, -}; - -static const AVClass h263_class = { - .class_name = "H.263 encoder", - .item_name = av_default_item_name, - .option = h263_options, - .version = LIBAVUTIL_VERSION_INT, -}; - -const AVCodec ff_h263_encoder = { - .name = "h263", - .long_name = NULL_IF_CONFIG_SMALL("H.263 / H.263-1996"), - .type = AVMEDIA_TYPE_VIDEO, - .id = AV_CODEC_ID_H263, - .priv_data_size = sizeof(MpegEncContext), - .init = ff_mpv_encode_init, - .encode2 = ff_mpv_encode_picture, - .close = ff_mpv_encode_end, - .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, - .pix_fmts= (const enum AVPixelFormat[]){AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE}, - .priv_class = &h263_class, -}; - -static const AVOption h263p_options[] = { - { "umv", "Use unlimited motion vectors.", OFFSET(umvplus), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, - { "aiv", "Use alternative inter VLC.", OFFSET(alt_inter_vlc), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, - { "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 -#if FF_API_MPEGVIDEO_OPTS - FF_MPV_DEPRECATED_MPEG_QUANT_OPT - FF_MPV_DEPRECATED_A53_CC_OPT - FF_MPV_DEPRECATED_MATRIX_OPT - FF_MPV_DEPRECATED_BFRAME_OPTS -#endif - { NULL }, -}; -static const AVClass h263p_class = { - .class_name = "H.263p encoder", - .item_name = av_default_item_name, - .option = h263p_options, - .version = LIBAVUTIL_VERSION_INT, -}; - -const AVCodec ff_h263p_encoder = { - .name = "h263p", - .long_name = NULL_IF_CONFIG_SMALL("H.263+ / H.263-1998 / H.263 version 2"), - .type = AVMEDIA_TYPE_VIDEO, - .id = AV_CODEC_ID_H263P, - .priv_data_size = sizeof(MpegEncContext), - .init = ff_mpv_encode_init, - .encode2 = ff_mpv_encode_picture, - .close = ff_mpv_encode_end, - .capabilities = AV_CODEC_CAP_SLICE_THREADS, - .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, - .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, - .priv_class = &h263p_class, -};