* [FFmpeg-devel] [PATCH 1/3] lavc/decode: drop a useless warning @ 2023-05-09 10:30 Anton Khirnov 2023-05-09 10:30 ` [FFmpeg-devel] [PATCH 2/3] lavc: deprecate AV_CODEC_CAP_SUBFRAMES Anton Khirnov ` (2 more replies) 0 siblings, 3 replies; 8+ messages in thread From: Anton Khirnov @ 2023-05-09 10:30 UTC (permalink / raw) To: ffmpeg-devel 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; -- 2.39.2 _______________________________________________ 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". ^ permalink raw reply [flat|nested] 8+ messages in thread
* [FFmpeg-devel] [PATCH 2/3] lavc: deprecate AV_CODEC_CAP_SUBFRAMES 2023-05-09 10:30 [FFmpeg-devel] [PATCH 1/3] lavc/decode: drop a useless warning Anton Khirnov @ 2023-05-09 10:30 ` Anton Khirnov 2023-05-09 11:56 ` James Almer 2023-05-09 10:30 ` [FFmpeg-devel] [PATCH 3/3] fftools/opt_common: stop printing deprecated AV_CODEC_CAP_SUBFRAMES Anton Khirnov 2023-05-09 10:51 ` [FFmpeg-devel] [PATCH 1/3] lavc/decode: drop a useless warning Paul B Mahol 2 siblings, 1 reply; 8+ messages in thread From: Anton Khirnov @ 2023-05-09 10:30 UTC (permalink / raw) To: ffmpeg-devel 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, }; -- 2.39.2 _______________________________________________ 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". ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [PATCH 2/3] lavc: deprecate AV_CODEC_CAP_SUBFRAMES 2023-05-09 10:30 ` [FFmpeg-devel] [PATCH 2/3] lavc: deprecate AV_CODEC_CAP_SUBFRAMES Anton Khirnov @ 2023-05-09 11:56 ` James Almer 2023-05-09 12:02 ` Anton Khirnov 0 siblings, 1 reply; 8+ messages in thread From: James Almer @ 2023-05-09 11:56 UTC (permalink / raw) To: ffmpeg-devel On 5/9/2023 7:30 AM, Anton Khirnov wrote: > 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(-) Missing APIChanges entry. For that matter, when there's no replacement for a deprecated API, and thus there's no point in bumping minor, what should the APIChanges entry point to? _______________________________________________ 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". ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [PATCH 2/3] lavc: deprecate AV_CODEC_CAP_SUBFRAMES 2023-05-09 11:56 ` James Almer @ 2023-05-09 12:02 ` Anton Khirnov 2023-05-09 12:40 ` James Almer 0 siblings, 1 reply; 8+ messages in thread From: Anton Khirnov @ 2023-05-09 12:02 UTC (permalink / raw) To: FFmpeg development discussions and patches Quoting James Almer (2023-05-09 13:56:22) > On 5/9/2023 7:30 AM, Anton Khirnov wrote: > > 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(-) > > Missing APIChanges entry. > > For that matter, when there's no replacement for a deprecated API, and > thus there's no point in bumping minor, what should the APIChanges entry > point to? Is there a point in having an APIchanges entry when no API actually changed? -- Anton Khirnov _______________________________________________ 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". ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [PATCH 2/3] lavc: deprecate AV_CODEC_CAP_SUBFRAMES 2023-05-09 12:02 ` Anton Khirnov @ 2023-05-09 12:40 ` James Almer 2023-05-09 13:57 ` [FFmpeg-devel] [PATCH v2 " Anton Khirnov 0 siblings, 1 reply; 8+ messages in thread From: James Almer @ 2023-05-09 12:40 UTC (permalink / raw) To: ffmpeg-devel On 5/9/2023 9:02 AM, Anton Khirnov wrote: > Quoting James Almer (2023-05-09 13:56:22) >> On 5/9/2023 7:30 AM, Anton Khirnov wrote: >>> 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(-) >> >> Missing APIChanges entry. >> >> For that matter, when there's no replacement for a deprecated API, and >> thus there's no point in bumping minor, what should the APIChanges entry >> point to? > > Is there a point in having an APIchanges entry when no API actually > changed? You have added entries saying "Deprecated X without replacement" before. _______________________________________________ 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". ^ permalink raw reply [flat|nested] 8+ messages in thread
* [FFmpeg-devel] [PATCH v2 2/3] lavc: deprecate AV_CODEC_CAP_SUBFRAMES 2023-05-09 12:40 ` James Almer @ 2023-05-09 13:57 ` Anton Khirnov 0 siblings, 0 replies; 8+ messages in thread From: Anton Khirnov @ 2023-05-09 13:57 UTC (permalink / raw) To: ffmpeg-devel There is nothing meaningful the caller can do with it. --- doc/APIchanges | 3 +++ 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 +++++- 20 files changed, 101 insertions(+), 24 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index 20ab4709e7..a37fe1bb8e 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2023-02-09 API changes, most recent first: +2023-05-xx - xxxxxxxxxx - lavc 60 - codec.h + Depreate AV_CODEC_CAP_SUBFRAMES without replacement. + 2023-05-xx - xxxxxxxxxx - lavc 60.11.100 - codec_par.h Add AVCodecParameters.framerate. 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, }; -- 2.39.2 _______________________________________________ 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". ^ permalink raw reply [flat|nested] 8+ messages in thread
* [FFmpeg-devel] [PATCH 3/3] fftools/opt_common: stop printing deprecated AV_CODEC_CAP_SUBFRAMES 2023-05-09 10:30 [FFmpeg-devel] [PATCH 1/3] lavc/decode: drop a useless warning Anton Khirnov 2023-05-09 10:30 ` [FFmpeg-devel] [PATCH 2/3] lavc: deprecate AV_CODEC_CAP_SUBFRAMES Anton Khirnov @ 2023-05-09 10:30 ` Anton Khirnov 2023-05-09 10:51 ` [FFmpeg-devel] [PATCH 1/3] lavc/decode: drop a useless warning Paul B Mahol 2 siblings, 0 replies; 8+ messages in thread From: Anton Khirnov @ 2023-05-09 10:30 UTC (permalink / raw) To: ffmpeg-devel --- 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) -- 2.39.2 _______________________________________________ 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". ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/3] lavc/decode: drop a useless warning 2023-05-09 10:30 [FFmpeg-devel] [PATCH 1/3] lavc/decode: drop a useless warning Anton Khirnov 2023-05-09 10:30 ` [FFmpeg-devel] [PATCH 2/3] lavc: deprecate AV_CODEC_CAP_SUBFRAMES Anton Khirnov 2023-05-09 10:30 ` [FFmpeg-devel] [PATCH 3/3] fftools/opt_common: stop printing deprecated AV_CODEC_CAP_SUBFRAMES Anton Khirnov @ 2023-05-09 10:51 ` Paul B Mahol 2 siblings, 0 replies; 8+ messages in thread From: Paul B Mahol @ 2023-05-09 10:51 UTC (permalink / raw) To: FFmpeg development discussions and patches Finally! _______________________________________________ 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". ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-05-09 13:57 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-05-09 10:30 [FFmpeg-devel] [PATCH 1/3] lavc/decode: drop a useless warning Anton Khirnov 2023-05-09 10:30 ` [FFmpeg-devel] [PATCH 2/3] lavc: deprecate AV_CODEC_CAP_SUBFRAMES Anton Khirnov 2023-05-09 11:56 ` James Almer 2023-05-09 12:02 ` Anton Khirnov 2023-05-09 12:40 ` James Almer 2023-05-09 13:57 ` [FFmpeg-devel] [PATCH v2 " Anton Khirnov 2023-05-09 10:30 ` [FFmpeg-devel] [PATCH 3/3] fftools/opt_common: stop printing deprecated AV_CODEC_CAP_SUBFRAMES Anton Khirnov 2023-05-09 10:51 ` [FFmpeg-devel] [PATCH 1/3] lavc/decode: drop a useless warning Paul B Mahol
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git