From patchwork Tue May 9 10:30:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 41560 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:dca6:b0:f3:34fa:f187 with SMTP id ky38csp2960397pzb; Tue, 9 May 2023 03:31:41 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5X0B5JlcYYDLOvhwc1wpTc1ySVLHT3A0giw5CTR16YDWuJ0M0YehnBSsgGt5G0TLxQ+RbX X-Received: by 2002:a17:906:4fce:b0:965:a414:7cd6 with SMTP id i14-20020a1709064fce00b00965a4147cd6mr13951608ejw.17.1683628300761; Tue, 09 May 2023 03:31:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683628300; cv=none; d=google.com; s=arc-20160816; b=UoYAuOAJb+au7491rJ7PUdIiw8A+VpXb+oGPEEAYWcCQHF3p7FdfPnUEEFMMMkadjz kTyaP9yRZ6mySLJ9Crh6RCgLJNoa2q+m94nab6QJEslqpzj18yZ9WA7jEJ4oqgjwe6Ov 492coQIYeZMTenDm4sErXAb+g7TPXthCTYvj16V8E/Yjviyz6o/hkAGjYwwbtW8Fj2xj SVS+9FRpuVI0yMA3w41SLTKnQuo6u1Vo0xflG+qITZacJxR2k7q6y6uunhlqAnQsF9Im UAkqcAygkv70qa5VQN/X2ZN32xrifpBRuQPrfgt8wxtuDiMeDrfLUVB17Euicp1HhVLU iuXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :delivered-to; bh=HFDjaJf8nLHI8qFWa8jkYeZ3MnieWrAP91uylyPKi/Y=; b=ItVr23e0icEjmjTmUixd1i//HGiz8uuuBcByPjRVwoOs/BrMGFcbiBGFXULj41gOkc iUikUYPLO70lpMgHLlQ3nMrKo3xF5GFy5qU8jZ3SWzsVTw3zlLQ8xPH7UVMAVjCHuZHb QpvnDGu+PzWe8dS+qaPSbYm/jHf9ua6BqB8sPuqziipo7sbfRPJS9ZN2P2JAHg9aR7Ym 3boulm0vDHFEcOYB29DJmbjntOR6b22yWqrP+62HjypxgX+bBXuvUwgxdp5c6vmDDv0c WQg1Ejsd7FX3OGHidtttm3q/UTNIO8Q+b7TMhsWlizTqD3RWcxdfvz/tvM9bxVZd8DOS mvfQ== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id f11-20020a17090660cb00b0096628b314fasi1850708ejk.793.2023.05.09.03.31.40; Tue, 09 May 2023 03:31:40 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id ADA9E68B076; Tue, 9 May 2023 13:31:27 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail0.khirnov.net (red.khirnov.net [176.97.15.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7D907689D6F for ; Tue, 9 May 2023 13:31:20 +0300 (EEST) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id 461592404EC for ; Tue, 9 May 2023 12:31:20 +0200 (CEST) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id f6acYtzpxDQb for ; Tue, 9 May 2023 12:31:19 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail0.khirnov.net (Postfix) with ESMTPS id 5BF922404EE for ; Tue, 9 May 2023 12:31:19 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id AAF513A031B for ; Tue, 9 May 2023 12:31:18 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Tue, 9 May 2023 12:30:39 +0200 Message-Id: <20230509103041.5537-1-anton@khirnov.net> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/3] lavc/decode: drop a useless warning 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Jce9TGq2SZcJ Decoders will currently warn if an audio decoder not marked with AV_CODEC_CAP_SUBFRAMES consumes less than the whole packet, but * this happens for regular files * this has no negative consequences * there is no meeaningful action that can or should be taken in response The warning is thus useless noise. --- libavcodec/decode.c | 7 ------- libavcodec/internal.h | 2 -- 2 files changed, 9 deletions(-) diff --git a/libavcodec/decode.c b/libavcodec/decode.c index 4f2359f07e..360837a0ad 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -423,13 +423,6 @@ FF_ENABLE_DEPRECATION_WARNINGS } } - if (avctx->codec->type == AVMEDIA_TYPE_AUDIO && - !avci->showed_multi_packet_warning && - ret >= 0 && ret != pkt->size && !(avctx->codec->capabilities & AV_CODEC_CAP_SUBFRAMES)) { - av_log(avctx, AV_LOG_WARNING, "Multiple frames in a packet.\n"); - avci->showed_multi_packet_warning = 1; - } - if (!got_frame) av_frame_unref(frame); diff --git a/libavcodec/internal.h b/libavcodec/internal.h index a283c52e01..dceae182c0 100644 --- a/libavcodec/internal.h +++ b/libavcodec/internal.h @@ -148,8 +148,6 @@ typedef struct AVCodecInternal { AVFrame *buffer_frame; int draining_done; - int showed_multi_packet_warning; - /* to prevent infinite loop on errors when draining */ int nb_draining_errors; From patchwork Tue May 9 10:30:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 41561 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:dca6:b0:f3:34fa:f187 with SMTP id ky38csp2960563pzb; Tue, 9 May 2023 03:31:51 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ78reKSBgsn7YOb4JcSbSH4olwzNnaLKQV7c7r7J7U2HEKPU/Psame+Jdp934PRbhNdwvqD X-Received: by 2002:a17:907:2cc5:b0:92b:69cd:34c7 with SMTP id hg5-20020a1709072cc500b0092b69cd34c7mr11686691ejc.40.1683628311010; Tue, 09 May 2023 03:31:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683628310; cv=none; d=google.com; s=arc-20160816; b=PsTUVQLsg5alZJlVjmyY742l91kDXzNDCkXx/8L1u64/Fhz4XUIc1WyEbup3mCQx1V TfkV7t/+/0cqKH6Ic0BNx7nCw/WPVMdiM2ZyupgdQyOb8ZTj670IdDBuL7JPCLymb57n sOsU5rfV/rc8RVSk/kNdQGPly5jxlnsNeWqWqbcgvjU9bTl+MyGgK5z5ZAnyuy+1MV2Y ojDx7Dg8KNAbfjA0joaKA0A9zda83n7+VqBMSwLAphKHmgoyG9T1VoqMK2K+ftluUzd4 0tLVWtgOQGq6KDXzCUFygQ/yidhVzHRYklDQkqy7fAWsUow9ry15uZBO/wGshWHfFCn5 +hLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:delivered-to; bh=ylMI5RerAb8bNI0aHFjGq7Tye8I4HUk5IOWWINdZKF8=; b=aaKOjftHnJi8LQcg+DnG2qNkbv3QuqmfWQYfj5YK864OuXx+7US0bnwD18OzlPFtrl ikWJCbA1XC79HHMnQ9ctPoEk90MVq2/ri2r4mzxz75FTPN6rPTBLNhbGKtnAtZkM1/Ac WF6HgvQjn0DunSczwrYt+hI8dvcFNY/CpEkjYdpJLBYcX/qA/G71blF0tpw+YwPe7XmE M+MyVfq0CP1xf9aTxxyzNXsC5nD1g4NoZGWKCWbftFnekZ/YueCU06/V35PCGmJ+wdR/ mqtAUnComcVr6Bu9ffciRhR5syTvF+C7W7mhJ29e9iMyjZB4U7XGWtaFHBq/XZ/RNsY1 WCkg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id dc19-20020a170906c7d300b0094f50e7bbb2si1461250ejb.660.2023.05.09.03.31.50; Tue, 09 May 2023 03:31:50 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B1FF368C036; Tue, 9 May 2023 13:31:28 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail0.khirnov.net (red.khirnov.net [176.97.15.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 86A1568BF23 for ; Tue, 9 May 2023 13:31:21 +0300 (EEST) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id 4B61B2404EE for ; Tue, 9 May 2023 12:31:21 +0200 (CEST) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id f_QuVW-0DpZ0 for ; Tue, 9 May 2023 12:31:19 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail0.khirnov.net (Postfix) with ESMTPS id 301F5240177 for ; Tue, 9 May 2023 12:31:19 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id B78413A048F for ; Tue, 9 May 2023 12:31:18 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Tue, 9 May 2023 12:30:40 +0200 Message-Id: <20230509103041.5537-2-anton@khirnov.net> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230509103041.5537-1-anton@khirnov.net> References: <20230509103041.5537-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/3] lavc: deprecate AV_CODEC_CAP_SUBFRAMES 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 53rLWrvo2rC7 There is nothing meaningful the caller can do with it. --- libavcodec/alsdec.c | 6 +++++- libavcodec/apac.c | 6 ++++-- libavcodec/apedec.c | 6 +++++- libavcodec/atrac3.c | 12 ++++++++++-- libavcodec/atrac9dec.c | 6 +++++- libavcodec/bonk.c | 6 ++++-- libavcodec/codec.h | 3 +++ libavcodec/ftr.c | 6 +++++- libavcodec/g723_1dec.c | 6 +++++- libavcodec/g729dec.c | 12 ++++++++++-- libavcodec/libspeexdec.c | 6 +++++- libavcodec/misc4.c | 5 ++++- libavcodec/shorten.c | 6 ++++-- libavcodec/tests/avcodec.c | 3 +-- libavcodec/version_major.h | 1 + libavcodec/wavarc.c | 2 ++ libavcodec/wmalosslessdec.c | 6 +++++- libavcodec/wmaprodec.c | 18 +++++++++++++++--- libavcodec/wmavoice.c | 6 +++++- 19 files changed, 98 insertions(+), 24 deletions(-) diff --git a/libavcodec/alsdec.c b/libavcodec/alsdec.c index 4605b2248f..c64d1032a4 100644 --- a/libavcodec/alsdec.c +++ b/libavcodec/alsdec.c @@ -2190,6 +2190,10 @@ const FFCodec ff_als_decoder = { .close = decode_end, FF_CODEC_DECODE_CB(decode_frame), .flush = flush, - .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, + .p.capabilities = +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif + AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/apac.c b/libavcodec/apac.c index 3408f75292..b6cb6c669e 100644 --- a/libavcodec/apac.c +++ b/libavcodec/apac.c @@ -269,8 +269,10 @@ const FFCodec ff_apac_decoder = { FF_CODEC_DECODE_CB(apac_decode), .close = apac_close, .p.capabilities = AV_CODEC_CAP_DELAY | - AV_CODEC_CAP_DR1 | - AV_CODEC_CAP_SUBFRAMES, +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif + AV_CODEC_CAP_DR1, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P, AV_SAMPLE_FMT_S16P, diff --git a/libavcodec/apedec.c b/libavcodec/apedec.c index 772636afde..613c76df0b 100644 --- a/libavcodec/apedec.c +++ b/libavcodec/apedec.c @@ -1680,7 +1680,11 @@ const FFCodec ff_ape_decoder = { .init = ape_decode_init, .close = ape_decode_close, FF_CODEC_DECODE_CB(ape_decode_frame), - .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DELAY | + .p.capabilities = +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif + AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .flush = ape_flush, diff --git a/libavcodec/atrac3.c b/libavcodec/atrac3.c index 7415da590b..5851ee027c 100644 --- a/libavcodec/atrac3.c +++ b/libavcodec/atrac3.c @@ -1026,7 +1026,11 @@ const FFCodec ff_atrac3_decoder = { .init = atrac3_decode_init, .close = atrac3_decode_close, FF_CODEC_DECODE_CB(atrac3_decode_frame), - .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1, + .p.capabilities = +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif + AV_CODEC_CAP_DR1, .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE }, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, @@ -1041,7 +1045,11 @@ const FFCodec ff_atrac3al_decoder = { .init = atrac3_decode_init, .close = atrac3_decode_close, FF_CODEC_DECODE_CB(atrac3al_decode_frame), - .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1, + .p.capabilities = +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif + AV_CODEC_CAP_DR1, .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE }, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, diff --git a/libavcodec/atrac9dec.c b/libavcodec/atrac9dec.c index 60962b1676..8a6940455d 100644 --- a/libavcodec/atrac9dec.c +++ b/libavcodec/atrac9dec.c @@ -1003,5 +1003,9 @@ const FFCodec ff_atrac9_decoder = { FF_CODEC_DECODE_CB(atrac9_decode_frame), .flush = atrac9_decode_flush, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, - .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, + .p.capabilities = +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif + AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, }; diff --git a/libavcodec/bonk.c b/libavcodec/bonk.c index 4a00270392..9a91b4842e 100644 --- a/libavcodec/bonk.c +++ b/libavcodec/bonk.c @@ -428,8 +428,10 @@ const FFCodec ff_bonk_decoder = { FF_CODEC_DECODE_CB(bonk_decode), .close = bonk_close, .p.capabilities = AV_CODEC_CAP_DELAY | - AV_CODEC_CAP_DR1 | - AV_CODEC_CAP_SUBFRAMES, +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif + AV_CODEC_CAP_DR1, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_NONE }, diff --git a/libavcodec/codec.h b/libavcodec/codec.h index 3b1995bcfe..7a932d75dd 100644 --- a/libavcodec/codec.h +++ b/libavcodec/codec.h @@ -80,6 +80,7 @@ */ #define AV_CODEC_CAP_SMALL_LAST_FRAME (1 << 6) +#if FF_API_SUBFRAMES /** * Codec can output multiple frames per AVPacket * Normally demuxers return one frame at a time, demuxers which do not do @@ -92,6 +93,8 @@ * as a last resort. */ #define AV_CODEC_CAP_SUBFRAMES (1 << 8) +#endif + /** * Codec is experimental and is thus avoided in favor of non experimental * encoders diff --git a/libavcodec/ftr.c b/libavcodec/ftr.c index 74a2c10b5c..7cf1b1586f 100644 --- a/libavcodec/ftr.c +++ b/libavcodec/ftr.c @@ -203,6 +203,10 @@ const FFCodec ff_ftr_decoder = { .close = ftr_close, .flush = ftr_flush, .priv_data_size = sizeof(FTRContext), - .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1, + .p.capabilities = +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif + AV_CODEC_CAP_DR1, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/g723_1dec.c b/libavcodec/g723_1dec.c index 55e20de5b5..5fe4a21d9b 100644 --- a/libavcodec/g723_1dec.c +++ b/libavcodec/g723_1dec.c @@ -1118,6 +1118,10 @@ const FFCodec ff_g723_1_decoder = { .priv_data_size = sizeof(G723_1_Context), .init = g723_1_decode_init, FF_CODEC_DECODE_CB(g723_1_decode_frame), - .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1, + .p.capabilities = +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif + AV_CODEC_CAP_DR1, .p.priv_class = &g723_1dec_class, }; diff --git a/libavcodec/g729dec.c b/libavcodec/g729dec.c index f783812cc7..33e1fb9c29 100644 --- a/libavcodec/g729dec.c +++ b/libavcodec/g729dec.c @@ -760,7 +760,11 @@ const FFCodec ff_g729_decoder = { .init = decoder_init, FF_CODEC_DECODE_CB(decode_frame), .close = decode_close, - .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1, + .p.capabilities = +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif + AV_CODEC_CAP_DR1, }; const FFCodec ff_acelp_kelvin_decoder = { @@ -772,5 +776,9 @@ const FFCodec ff_acelp_kelvin_decoder = { .init = decoder_init, FF_CODEC_DECODE_CB(decode_frame), .close = decode_close, - .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1, + .p.capabilities = +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif + AV_CODEC_CAP_DR1, }; diff --git a/libavcodec/libspeexdec.c b/libavcodec/libspeexdec.c index 47fc5d6a4b..84b308490a 100644 --- a/libavcodec/libspeexdec.c +++ b/libavcodec/libspeexdec.c @@ -195,7 +195,11 @@ const FFCodec ff_libspeex_decoder = { CODEC_LONG_NAME("libspeex Speex"), .p.type = AVMEDIA_TYPE_AUDIO, .p.id = AV_CODEC_ID_SPEEX, - .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, + .p.capabilities = +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif + AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, .p.wrapper_name = "libspeex", .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE, .priv_data_size = sizeof(LibSpeexContext), diff --git a/libavcodec/misc4.c b/libavcodec/misc4.c index 1bf162e120..72ac944e54 100644 --- a/libavcodec/misc4.c +++ b/libavcodec/misc4.c @@ -179,7 +179,10 @@ const FFCodec ff_misc4_decoder = { .priv_data_size = sizeof(MISC4Context), .init = misc4_init, FF_CODEC_DECODE_CB(misc4_decode), - .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SUBFRAMES | + .p.capabilities = AV_CODEC_CAP_DR1 | +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif AV_CODEC_CAP_CHANNEL_CONF, .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE }, diff --git a/libavcodec/shorten.c b/libavcodec/shorten.c index 1b2abd76b1..eca0c4e85a 100644 --- a/libavcodec/shorten.c +++ b/libavcodec/shorten.c @@ -814,8 +814,10 @@ const FFCodec ff_shorten_decoder = { FF_CODEC_DECODE_CB(shorten_decode_frame), .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DELAY | - AV_CODEC_CAP_DR1 | - AV_CODEC_CAP_SUBFRAMES , +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif + AV_CODEC_CAP_DR1, .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_U8P, AV_SAMPLE_FMT_NONE }, diff --git a/libavcodec/tests/avcodec.c b/libavcodec/tests/avcodec.c index 4c1730425d..d78447d0fc 100644 --- a/libavcodec/tests/avcodec.c +++ b/libavcodec/tests/avcodec.c @@ -149,8 +149,7 @@ int main(void){ FF_CODEC_CAP_SETS_FRAME_PROPS) || codec->capabilities & (AV_CODEC_CAP_AVOID_PROBING | AV_CODEC_CAP_CHANNEL_CONF | - AV_CODEC_CAP_DRAW_HORIZ_BAND | - AV_CODEC_CAP_SUBFRAMES)) + AV_CODEC_CAP_DRAW_HORIZ_BAND)) ERR("Encoder %s has decoder-only capabilities set\n"); if (codec->capabilities & AV_CODEC_CAP_FRAME_THREADS && codec->capabilities & AV_CODEC_CAP_ENCODER_FLUSH) diff --git a/libavcodec/version_major.h b/libavcodec/version_major.h index 40db213499..8c3ce43165 100644 --- a/libavcodec/version_major.h +++ b/libavcodec/version_major.h @@ -46,6 +46,7 @@ #define FF_API_VT_HWACCEL_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 61) #define FF_API_AVCTX_FRAME_NUMBER (LIBAVCODEC_VERSION_MAJOR < 61) #define FF_API_SLICE_OFFSET (LIBAVCODEC_VERSION_MAJOR < 61) +#define FF_API_SUBFRAMES (LIBAVCODEC_VERSION_MAJOR < 61) // reminder to remove CrystalHD decoders on next major bump #define FF_CODEC_CRYSTAL_HD (LIBAVCODEC_VERSION_MAJOR < 61) diff --git a/libavcodec/wavarc.c b/libavcodec/wavarc.c index 827803c91d..7bfc276df4 100644 --- a/libavcodec/wavarc.c +++ b/libavcodec/wavarc.c @@ -499,7 +499,9 @@ const FFCodec ff_wavarc_decoder = { FF_CODEC_DECODE_CB(wavarc_decode), .close = wavarc_close, .p.capabilities = AV_CODEC_CAP_DR1 | +#if FF_API_SUBFRAMES AV_CODEC_CAP_SUBFRAMES | +#endif AV_CODEC_CAP_DELAY, .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P, AV_SAMPLE_FMT_S16P, diff --git a/libavcodec/wmalosslessdec.c b/libavcodec/wmalosslessdec.c index d545d848e2..5d1c7ac66b 100644 --- a/libavcodec/wmalosslessdec.c +++ b/libavcodec/wmalosslessdec.c @@ -1334,7 +1334,11 @@ const FFCodec ff_wmalossless_decoder = { .close = decode_close, FF_CODEC_DECODE_CB(decode_packet), .flush = flush, - .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY, + .p.capabilities = +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif + AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_S32P, diff --git a/libavcodec/wmaprodec.c b/libavcodec/wmaprodec.c index 35e9caec56..f523f3637f 100644 --- a/libavcodec/wmaprodec.c +++ b/libavcodec/wmaprodec.c @@ -2094,7 +2094,11 @@ const FFCodec ff_wmapro_decoder = { .init = wmapro_decode_init, .close = wmapro_decode_end, FF_CODEC_DECODE_CB(wmapro_decode_packet), - .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1, + .p.capabilities = +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif + AV_CODEC_CAP_DR1, .flush = wmapro_flush, .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE }, @@ -2111,7 +2115,11 @@ const FFCodec ff_xma1_decoder = { .close = xma_decode_end, FF_CODEC_DECODE_CB(xma_decode_packet), .flush = xma_flush, - .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY, + .p.capabilities = +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif + AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY, .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE }, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, @@ -2127,7 +2135,11 @@ const FFCodec ff_xma2_decoder = { .close = xma_decode_end, FF_CODEC_DECODE_CB(xma_decode_packet), .flush = xma_flush, - .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY, + .p.capabilities = +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif + AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY, .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE }, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, diff --git a/libavcodec/wmavoice.c b/libavcodec/wmavoice.c index bb98f841a5..44fda0e2d6 100644 --- a/libavcodec/wmavoice.c +++ b/libavcodec/wmavoice.c @@ -2004,7 +2004,11 @@ const FFCodec ff_wmavoice_decoder = { .init = wmavoice_decode_init, .close = wmavoice_decode_end, FF_CODEC_DECODE_CB(wmavoice_decode_packet), - .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY, + .p.capabilities = +#if FF_API_SUBFRAMES + AV_CODEC_CAP_SUBFRAMES | +#endif + AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .flush = wmavoice_flush, }; From patchwork Tue May 9 10:30:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 41559 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:dca6:b0:f3:34fa:f187 with SMTP id ky38csp2960257pzb; Tue, 9 May 2023 03:31:31 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5VhreCGseIf7BUZRKlUK4nFJ6CQHNHciFh8+uiQg5rZvRUra9lwrfKs9rpQX4waCcw24zs X-Received: by 2002:a17:907:9605:b0:93e:fa12:aa1a with SMTP id gb5-20020a170907960500b0093efa12aa1amr12614920ejc.1.1683628291127; Tue, 09 May 2023 03:31:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683628291; cv=none; d=google.com; s=arc-20160816; b=lGbpFedgvsDkTcdgJ4X0yp8ANHtifkfb6CiW7VlF/whj5+QV2zDEcW1jRHS86Io91k FncBjdwJjWnVrel9YMVMz+a/zn8k53RsHfhww3XByN33GO8fQqwPcJ+lfZ/o7Ghh05KR cB0ccXm6n8i7GC3+TUDsI66CuEcA2UzgcYA8tn+eQ5JlwrvSjmjVetEKs99FsBxkx9hz 9bnHRgZLSQvtDzeyfe2yupDwUUx0Fwm8cTFmKyf1zjJeg89YekAcr7wD2YjuEvDW2WtW mld2SneBu85dtFt/PEFttukaagcOAZSCo7L6CGJB54VRdfihwN/pPu3Tx+UrOYw5ntA4 jqKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:delivered-to; bh=wUkS38HO6v+OJbq307uTLHlP4s5C+sGXbBLeUtlYP0E=; b=QUBEQn1P39TLo2cj4+N19KFJEvRNDE2I1mccmVqWIhykJUClAlrxiLBLFpHickN/e3 FLmaUuLEQpXyBmShCziUL+KpPlSq32G5QHqwHJReB4oLT+hkhvTveGY7GQgqY5TZVRi3 ofVbDUA+vzHSdcHFGItzPLxJHwd2S/CloXVNwccyJTOsl59rP090QaCJkpqGFxQ2a5nq usXRWyB3wGsGVHbnfhY4QmCW+4a3PeAiF90dbbboIDfnK3HCPO+uDGyOb7BL6a2UI9Xc fOpy6eImcLKwatfIg+NLl96VkGUn2Yk1MDAoX0u6y7skXBhdC9/BvK9XlX7F/8zH2N1M Xxdg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id mc27-20020a170906eb5b00b0095954924864si1402598ejb.583.2023.05.09.03.31.30; Tue, 09 May 2023 03:31:31 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AD33A68BEDD; Tue, 9 May 2023 13:31:26 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail0.khirnov.net (red.khirnov.net [176.97.15.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3643F689D6F for ; Tue, 9 May 2023 13:31:20 +0300 (EEST) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id BF9E82404F5 for ; Tue, 9 May 2023 12:31:19 +0200 (CEST) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id lQXZtCs8f7eQ for ; Tue, 9 May 2023 12:31:19 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail0.khirnov.net (Postfix) with ESMTPS id 32A1E2404EC for ; Tue, 9 May 2023 12:31:19 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id C255D3A11B4 for ; Tue, 9 May 2023 12:31:18 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Tue, 9 May 2023 12:30:41 +0200 Message-Id: <20230509103041.5537-3-anton@khirnov.net> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230509103041.5537-1-anton@khirnov.net> References: <20230509103041.5537-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/3] fftools/opt_common: stop printing deprecated AV_CODEC_CAP_SUBFRAMES 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: QnUR1NXeU5k/ --- fftools/opt_common.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/fftools/opt_common.c b/fftools/opt_common.c index 8a06df82df..f6fe9815e1 100644 --- a/fftools/opt_common.c +++ b/fftools/opt_common.c @@ -291,8 +291,6 @@ static void print_codec(const AVCodec *c) printf("delay "); if (c->capabilities & AV_CODEC_CAP_SMALL_LAST_FRAME) printf("small "); - if (c->capabilities & AV_CODEC_CAP_SUBFRAMES) - printf("subframes "); if (c->capabilities & AV_CODEC_CAP_EXPERIMENTAL) printf("exp "); if (c->capabilities & AV_CODEC_CAP_CHANNEL_CONF)