From patchwork Mon Jul 1 12:16:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 50253 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:cc64:0:b0:482:c625:d099 with SMTP id k4csp1745318vqv; Mon, 1 Jul 2024 05:27:55 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWoPN3+y0RBts2Pzv10Zh0T9Hj3HsxuD52vkLeE2/lKX56dmTCs184vFeSzjmZQ8cnmj1oSb3ysjcupCu//5CUL79yKHF6VTGlVCg== X-Google-Smtp-Source: AGHT+IH/uCmo/I5B0REYWmNeSZF+Vw1thNE4tN1eE3FePzy3hFEdETDOLeyBZwP1ORmYPvZPL7aQ X-Received: by 2002:a17:906:c141:b0:a6f:bbfd:39d1 with SMTP id a640c23a62f3a-a75143fdcffmr402029266b.2.1719836875500; Mon, 01 Jul 2024 05:27:55 -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 a640c23a62f3a-a72ab075428si376104366b.599.2024.07.01.05.27.54; Mon, 01 Jul 2024 05:27:55 -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=tAFvehV4; 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 44B6A68D7CC; Mon, 1 Jul 2024 15:17:45 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02olkn2037.outbound.protection.outlook.com [40.92.50.37]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E2C5768D7B1 for ; Mon, 1 Jul 2024 15:17:34 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ni3vAnPKZnF+BrY80sMNLquGDhoTgdhRyzRKFidTS6Xtto7Y078NWraLI3zlHtOgil3DZ9hHiFWBX5hRBnO2nXmWIc0VLo/6tPXIFwjV3YdomqaLHa2gGEC/Hf3Ag4oPIrcfPveFR2Jaj/tg4QFhCYVP8FrPmGffbBhj5bnGHZnSFztxxOqFdFOivXO731fXAAHPcAMLZbT4lmkwQEKoofwEfhccnkRjjwbDmOZB5UV41cBXR818qbO8d2+nWRXDnTkGWUL5tyV9Ga9uHjFu6i6xl+utv3Riz3mhi5305qL7eGSdGlZC7HaJAW8IRA9O8eTOmMUWnPd0AgHZu5srwA== 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=0p+InTodNRBkCl7qwrhk4bI0w+/gf38/9SIw24Adld4=; b=JjQN3uC60cjqZMzlJ0bsgjyBX5mecVqPSeFBdAEn7w3PA9HN2UmcDXf0UaNW31NRDvWoiYbnt44WH7xiUryRocITY+vNQJgheRbCtaI3rXRwQYJJBQAgUlgXyc/Bmby3GRn2qmq5Pv4yhzBniMo1gHpqq8YbJQ2iVc44zG10rtqVszAc8tIw1Xm2hVAov6/llfuTwqi4yfCV6JZqMg4aA7I6Yk7UdHP/Fhku8TPL4GvSyT85kLuw6jvcIHfW5Qqxg78mnaX7TKwONmo3GmcKOUS5WZQg6qm6ZwP7JJpX7hfI7oeMrDwpNTy1EUTqSkqT7dKGw4MbwVaHtNcAAmW9Rg== 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=0p+InTodNRBkCl7qwrhk4bI0w+/gf38/9SIw24Adld4=; b=tAFvehV44bqCpC4yPZCD5dkWo+Z6KUbMg5JsGxyl5QJlD5+PrN+mK4PxxlUxtkdtR57YTa76wnEg3xbVYSr6N5gcOsip6ARviDM7BwhvQ/LH25B2OIyfb5K6XAoEoFqZlpcaqGpvOCz9CJD7i99j/HKVho5qG7TTUgjQ8RNS2CUcYVUX5eq3Mw0poW9328X6YRl+hgrRuKp0VfyXMPSNDsnZOn81TlXemSZZ7nZb5OMIibgMZU4FQPqLu5HOEJfbe2KLTNKxb++A363+2ENMnmAjJ8WcXFPdGcAUD9zGAJEw4gXMTk5eMj4JA1I8wdgEozQngcYNvDg+p28zY0Or/g== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by DU0P250MB0481.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:349::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7719.32; Mon, 1 Jul 2024 12:17:30 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614%5]) with mapi id 15.20.7719.029; Mon, 1 Jul 2024 12:17:30 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 1 Jul 2024 14:16:06 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [PEKI9XUz28ebNkO4BOx73F4CHRlKYPe/OIXDZAzb9/o=] X-ClientProxiedBy: ZR0P278CA0149.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:41::11) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240701121610.3560848-8-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|DU0P250MB0481:EE_ X-MS-Office365-Filtering-Correlation-Id: 6d17a634-eee9-4808-2f4b-08dc99c7c753 X-Microsoft-Antispam: BCL:0; ARA:14566002|8060799006|461199028|440099028|3412199025|1710799026; X-Microsoft-Antispam-Message-Info: gVAE/xc7h9TWxupIXGUHd610rjwyZ/NWlwvziosVLepc5XN/KKHqI/m8saf9vHCTJHUxv3Llh5e7BxCmpq6qyqUd39yCpUY2w8Do5ujt9OlhW/Rn1dj5FMrOkVAe51MiH97Tp40Se/mlEQ4qTy9SfFUwheJtuCdUlEfpvrmhudB7OYNf/P25CIUskIpHkh39XVX3WNmht1SQRQkY8I7C+qtvNPH4wsYEFM/c3LozX1KsLWzkXGp7m5hNSlrhwMGPqlbahu/UOwl6eTbPFiJ2mAnpvjRdUC+df5QDy/tf+7dflMS7uFHqk2zfJNs2jxbd5vgQ980XDPR8xeC2sT5LDxDMi6ssiYkqwDggHtRA0o3uo67bAVzzAl72qQqATTM3JT4jr60JyiW3FIDnHGFaiArs66uWHTYVOa9ajHBti1Q94dOSAjDetRMHQ94EKK9R3LPVaHRmDJoqg24rQWNkqC5FAeLKyAoOjFms+ItNOoPI1iwg7njsZjzD5ixpUvs5sqXcX7E6tsawyzhONkXIXjSEgpd59NV9uAg7ATaJ670ni5TAvNdzicZRIqPh2hwFgob9YtI7yLflBnmzer5I+l/C57noo/wEat1etSrh0oMn/Ob9KGTm6VFNlJm37cqDCitlT8UWYQsMwtbDIWvMFg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: QQQ4BWc2x9SUN9cq/PK3rZZH0IGxHv5ZfZoODmefNdfO6sMkh7+9WKz1xus5OytbdDWU6BnWqurZZC0Com3LMIIsufXld1/RtBZiiHQvGsQN6CCTSDGzaZxn7R6DHsPb3U4txrgUzP4oanB2lM82PK5URv7QbG+GMAUoPMc2+b5RYarmxntp1LoK3U3OQbjJfY1cDgiKO+jPRnil3811UC0pLvNyLhR9UxDKkO2TCg02mwuPBfcHBN7Hi9VRNz755pUxeyhscRaWLrneph86V1w8Y2NebO+SWF312TA6M49yQjRTP6f4DhfX9PP3bJqe6GbB9MSFgCH73Z6QQxnLWe3Ncu3kMUE5nKjd0/2YMQTOXdkExwD6jIjW3ZPWttdZgJW96xm5OsysFDXWxzR7XI0IrT8dtWIpT7yhMuhpWtJJTSCapkgAcfuVgPy/kjRlogrqW6sKneDtypvAas0fR2jvTrDTWrfgbQW5lrDvcJSPBxW4qDRFTzH7X7q/DxhlzSSuvFh9pr8qrBJsnug3ObtW6qqAu32WSzGZqfUepriBWwP6FuQLq911W4r/CgTzxCd1lsm39rLw8R6lNOn4UMmDnCY7sxBMIBTaQFedl1OAxFhWVguGwYNmtdtnQNecbrLT9PkDd3mPd8xaNk9yn4c3l0VFdgIsTvpRna04VtYQ/OyV4EcvBnfGhqvfcNGvnDsirACUJIflDA0afwRNH+A/pt7wwZVmy20Zkv/4efBHrkrsolE+yhiAZd4ptK84rUYpooUkOgeQ+nWV41UPnsfjeF2XWp/pZg0231iYUXNmoI/vNpjl8kHXB37+pvsw5fSnkhCNMtbkDlzC+vxIHF3F9bB43GJ6+NBmx7EQkmYsvFnP/tjp+njfTH3fOevzSoF1oKTcE+jNWSxTCXgfCY7rzJjgdhV1NbYWhvQkAlxhLrC9WIVzvAkdtGUV1LcfRyvbVZhIVo7JRKNS+yXqEEHULOgu1siBKVPYDB+wE/7Bo4M5wFTwR7iP2Lprt9Cwe00PmxnoutMsiRaa219SfnfnnhN9/HpLAy2KRSBFPPUo9ewGs4n4viJICexVR/csM/rlari+27vOGM7ZlySmJRlg1pvYJNN4bCZcFDrMaiBYr6RiL8QO11nG75776lrR6CGjX92h+RikadvLsfBDncx7KkhUMw7QL7JoxOHSEZ8Ew24yOBJD7jMmxPJT+fmJ3WEF9+Tne7ZlmTaRq25RbS3o7lPJ6jhZV8rPX0fId/cJeeSBZfIkC3jt0O+4xRhXkT/qH/hdYf3/99inJ7WU3g== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6d17a634-eee9-4808-2f4b-08dc99c7c753 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jul 2024 12:17:30.3548 (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: DU0P250MB0481 Subject: [FFmpeg-devel] [PATCH 09/13] avcodec/mpegvideo_enc: Add AV_CODEC_CAP_DR1 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: Wr3dBtxm5OxX The mpegvideo-based encoders do one uncommon thing with the packet's data given by ff_alloc_packet(): They potentially reallocate it. But this only affects the internal buffer and is not user-facing at all, so one can nevertheless use the AV_CODEC_CAP_DR1 for them. Signed-off-by: Andreas Rheinhardt --- libavcodec/flvenc.c | 2 +- libavcodec/h261enc.c | 2 +- libavcodec/ituh263enc.c | 5 +++-- libavcodec/mjpegenc.c | 5 +++-- libavcodec/mpeg12enc.c | 6 ++++-- libavcodec/mpeg4videoenc.c | 3 ++- libavcodec/msmpeg4enc.c | 6 +++--- libavcodec/rv10enc.c | 2 +- libavcodec/rv20enc.c | 2 +- libavcodec/speedhqenc.c | 2 +- libavcodec/wmv2enc.c | 2 +- 11 files changed, 21 insertions(+), 16 deletions(-) diff --git a/libavcodec/flvenc.c b/libavcodec/flvenc.c index 6a96cb0f2f..97323ac655 100644 --- a/libavcodec/flvenc.c +++ b/libavcodec/flvenc.c @@ -98,6 +98,7 @@ const FFCodec ff_flv_encoder = { .p.type = AVMEDIA_TYPE_VIDEO, .p.id = AV_CODEC_ID_FLV1, .p.priv_class = &ff_mpv_enc_class, + .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .priv_data_size = sizeof(MpegEncContext), .init = ff_mpv_encode_init, FF_CODEC_ENCODE_CB(ff_mpv_encode_picture), @@ -105,5 +106,4 @@ const FFCodec ff_flv_encoder = { .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE}, - .p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, }; diff --git a/libavcodec/h261enc.c b/libavcodec/h261enc.c index d3d724bef6..e0ff1a03da 100644 --- a/libavcodec/h261enc.c +++ b/libavcodec/h261enc.c @@ -383,6 +383,7 @@ const FFCodec ff_h261_encoder = { .p.type = AVMEDIA_TYPE_VIDEO, .p.id = AV_CODEC_ID_H261, .p.priv_class = &ff_mpv_enc_class, + .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .priv_data_size = sizeof(H261EncContext), .init = ff_mpv_encode_init, FF_CODEC_ENCODE_CB(ff_mpv_encode_picture), @@ -390,5 +391,4 @@ const FFCodec ff_h261_encoder = { .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, - .p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, }; diff --git a/libavcodec/ituh263enc.c b/libavcodec/ituh263enc.c index 3982b1e675..ad2d1a044f 100644 --- a/libavcodec/ituh263enc.c +++ b/libavcodec/ituh263enc.c @@ -921,7 +921,7 @@ const FFCodec ff_h263_encoder = { .p.id = AV_CODEC_ID_H263, .p.pix_fmts = (const enum AVPixelFormat[]){AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE}, .p.priv_class = &h263_class, - .p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, + .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .priv_data_size = sizeof(MpegEncContext), .init = ff_mpv_encode_init, @@ -952,7 +952,8 @@ const FFCodec ff_h263p_encoder = { .p.id = AV_CODEC_ID_H263P, .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, .p.priv_class = &h263p_class, - .p.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, + .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS | + AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .priv_data_size = sizeof(MpegEncContext), .init = ff_mpv_encode_init, diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index 9d4c3a4f41..c4f72743ca 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -649,7 +649,8 @@ const FFCodec ff_mjpeg_encoder = { .init = ff_mpv_encode_init, FF_CODEC_ENCODE_CB(ff_mpv_encode_picture), .close = mjpeg_encode_close, - .p.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS | + .p.capabilities = AV_CODEC_CAP_DR1 | + AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_ICC_PROFILES, .p.pix_fmts = (const enum AVPixelFormat[]) { @@ -675,6 +676,7 @@ const FFCodec ff_amv_encoder = { CODEC_LONG_NAME("AMV Video"), .p.type = AVMEDIA_TYPE_VIDEO, .p.id = AV_CODEC_ID_AMV, + .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .priv_data_size = sizeof(MJPEGEncContext), .init = ff_mpv_encode_init, FF_CODEC_ENCODE_CB(amv_encode_picture), @@ -684,6 +686,5 @@ const FFCodec ff_amv_encoder = { AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_NONE }, .p.priv_class = &amv_class, - .p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, }; #endif diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index 72b2caab7e..6b156772df 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -1243,7 +1243,8 @@ const FFCodec ff_mpeg1video_encoder = { .p.supported_framerates = ff_mpeg12_frame_rate_tab + 1, .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, - .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS | + .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY | + AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.priv_class = &mpeg1_class, @@ -1262,7 +1263,8 @@ const FFCodec ff_mpeg2video_encoder = { .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_NONE }, - .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS | + .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY | + AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.priv_class = &mpeg2_class, diff --git a/libavcodec/mpeg4videoenc.c b/libavcodec/mpeg4videoenc.c index 0b18776497..abbf4180e9 100644 --- a/libavcodec/mpeg4videoenc.c +++ b/libavcodec/mpeg4videoenc.c @@ -1393,7 +1393,8 @@ const FFCodec ff_mpeg4_encoder = { FF_CODEC_ENCODE_CB(ff_mpv_encode_picture), .close = ff_mpv_encode_end, .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, - .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS | + .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY | + AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.priv_class = &mpeg4enc_class, diff --git a/libavcodec/msmpeg4enc.c b/libavcodec/msmpeg4enc.c index 3103a73663..a78ab7b2d8 100644 --- a/libavcodec/msmpeg4enc.c +++ b/libavcodec/msmpeg4enc.c @@ -682,7 +682,7 @@ const FFCodec ff_msmpeg4v2_encoder = { .p.id = AV_CODEC_ID_MSMPEG4V2, .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, .p.priv_class = &ff_mpv_enc_class, - .p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, + .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .priv_data_size = sizeof(MSMPEG4EncContext), .init = ff_mpv_encode_init, @@ -697,7 +697,7 @@ const FFCodec ff_msmpeg4v3_encoder = { .p.id = AV_CODEC_ID_MSMPEG4V3, .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, .p.priv_class = &ff_mpv_enc_class, - .p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, + .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .priv_data_size = sizeof(MSMPEG4EncContext), .init = ff_mpv_encode_init, @@ -712,7 +712,7 @@ const FFCodec ff_wmv1_encoder = { .p.id = AV_CODEC_ID_WMV1, .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, .p.priv_class = &ff_mpv_enc_class, - .p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, + .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .priv_data_size = sizeof(MSMPEG4EncContext), .init = ff_mpv_encode_init, diff --git a/libavcodec/rv10enc.c b/libavcodec/rv10enc.c index 8a405b8686..b12248636d 100644 --- a/libavcodec/rv10enc.c +++ b/libavcodec/rv10enc.c @@ -71,7 +71,7 @@ const FFCodec ff_rv10_encoder = { .p.type = AVMEDIA_TYPE_VIDEO, .p.id = AV_CODEC_ID_RV10, .p.priv_class = &ff_mpv_enc_class, - .p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, + .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .priv_data_size = sizeof(MpegEncContext), .init = ff_mpv_encode_init, FF_CODEC_ENCODE_CB(ff_mpv_encode_picture), diff --git a/libavcodec/rv20enc.c b/libavcodec/rv20enc.c index dc26877d5e..4f90182b76 100644 --- a/libavcodec/rv20enc.c +++ b/libavcodec/rv20enc.c @@ -68,7 +68,7 @@ const FFCodec ff_rv20_encoder = { .p.type = AVMEDIA_TYPE_VIDEO, .p.id = AV_CODEC_ID_RV20, .p.priv_class = &ff_mpv_enc_class, - .p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, + .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .priv_data_size = sizeof(MpegEncContext), .init = ff_mpv_encode_init, FF_CODEC_ENCODE_CB(ff_mpv_encode_picture), diff --git a/libavcodec/speedhqenc.c b/libavcodec/speedhqenc.c index 4995b19f3b..93b249497b 100644 --- a/libavcodec/speedhqenc.c +++ b/libavcodec/speedhqenc.c @@ -294,7 +294,7 @@ const FFCodec ff_speedhq_encoder = { .p.type = AVMEDIA_TYPE_VIDEO, .p.id = AV_CODEC_ID_SPEEDHQ, .p.priv_class = &ff_mpv_enc_class, - .p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, + .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .priv_data_size = sizeof(SpeedHQEncContext), .init = ff_mpv_encode_init, FF_CODEC_ENCODE_CB(ff_mpv_encode_picture), diff --git a/libavcodec/wmv2enc.c b/libavcodec/wmv2enc.c index 13ec2bf6ff..57bf931cc6 100644 --- a/libavcodec/wmv2enc.c +++ b/libavcodec/wmv2enc.c @@ -243,7 +243,7 @@ const FFCodec ff_wmv2_encoder = { .p.type = AVMEDIA_TYPE_VIDEO, .p.id = AV_CODEC_ID_WMV2, .p.priv_class = &ff_mpv_enc_class, - .p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, + .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .priv_data_size = sizeof(WMV2EncContext), .init = wmv2_encode_init, FF_CODEC_ENCODE_CB(ff_mpv_encode_picture),