History

lavc: deprecate AV_CODEC_CAP_SUBFRAMES

There is nothing meaningful the caller can do with it.

Anton Khirnov committed 3 years ago

Commit 8b20d0d1 parent 51d6ae020 files · +101 −24Browse files

Unified · Split

20 files
  1. doc/APIchanges +3 −0
  2. libavcodec/alsdec.c +5 −1
  3. libavcodec/apac.c +4 −2
  4. libavcodec/apedec.c +5 −1
  5. libavcodec/atrac3.c +10 −2
  6. libavcodec/atrac9dec.c +5 −1
  7. libavcodec/bonk.c +4 −2
  8. libavcodec/codec.h +3 −0
  9. libavcodec/ftr.c +5 −1
  10. libavcodec/g723_1dec.c +5 −1
  11. libavcodec/g729dec.c +10 −2
  12. libavcodec/libspeexdec.c +5 −1
  13. libavcodec/misc4.c +4 −1
  14. libavcodec/shorten.c +4 −2
  15. libavcodec/tests/avcodec.c +1 −2
  16. libavcodec/version_major.h +1 −0
  17. libavcodec/wavarc.c +2 −0
  18. libavcodec/wmalosslessdec.c +5 −1
  19. libavcodec/wmaprodec.c +15 −3
  20. libavcodec/wmavoice.c +5 −1
doc/APIchanges+3−0
@@ -2,6 +2,9 @@ The last version increases of all libraries were on 2023-02-09 · 1 unmodified line
22
33 API changes, most recent first:
44
5+2023-05-xx - xxxxxxxxxx - lavc 60 - codec.h
6+ Depreate AV_CODEC_CAP_SUBFRAMES without replacement.
7+
58 2023-05-xx - xxxxxxxxxx - lavc 60.11.100 - codec_par.h
69 Add AVCodecParameters.framerate.
710
libavcodec/alsdec.c+5−1
@@ -2190,6 +2190,10 @@ const FFCodec ff_als_decoder = { · 2189 unmodified lines
21902190 .close = decode_end,
21912191 FF_CODEC_DECODE_CB(decode_frame),
21922192 .flush = flush,
2193− .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
2193+ .p.capabilities =
2194+#if FF_API_SUBFRAMES
2195+ AV_CODEC_CAP_SUBFRAMES |
2196+#endif
2197+ AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
21942198 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
21952199 };
libavcodec/apac.c+4−2
@@ -269,8 +269,10 @@ const FFCodec ff_apac_decoder = { · 268 unmodified lines
269269 FF_CODEC_DECODE_CB(apac_decode),
270270 .close = apac_close,
271271 .p.capabilities = AV_CODEC_CAP_DELAY |
272− AV_CODEC_CAP_DR1 |
273− AV_CODEC_CAP_SUBFRAMES,
272+#if FF_API_SUBFRAMES
273+ AV_CODEC_CAP_SUBFRAMES |
274+#endif
275+ AV_CODEC_CAP_DR1,
274276 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
275277 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,
276278 AV_SAMPLE_FMT_S16P,
libavcodec/apedec.c+5−1
@@ -1680,7 +1680,11 @@ const FFCodec ff_ape_decoder = { · 1679 unmodified lines
16801680 .init = ape_decode_init,
16811681 .close = ape_decode_close,
16821682 FF_CODEC_DECODE_CB(ape_decode_frame),
1683− .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DELAY |
1683+ .p.capabilities =
1684+#if FF_API_SUBFRAMES
1685+ AV_CODEC_CAP_SUBFRAMES |
1686+#endif
1687+ AV_CODEC_CAP_DELAY |
16841688 AV_CODEC_CAP_DR1,
16851689 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
16861690 .flush = ape_flush,
libavcodec/atrac3.c+10−2
@@ -1026,7 +1026,11 @@ const FFCodec ff_atrac3_decoder = { · 1025 unmodified lines
10261026 .init = atrac3_decode_init,
10271027 .close = atrac3_decode_close,
10281028 FF_CODEC_DECODE_CB(atrac3_decode_frame),
1029− .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
1029+ .p.capabilities =
1030+#if FF_API_SUBFRAMES
1031+ AV_CODEC_CAP_SUBFRAMES |
1032+#endif
1033+ AV_CODEC_CAP_DR1,
10301034 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
10311035 AV_SAMPLE_FMT_NONE },
10321036 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
@@ -1041,7 +1045,11 @@ const FFCodec ff_atrac3al_decoder = { · 8 unmodified lines
10411045 .init = atrac3_decode_init,
10421046 .close = atrac3_decode_close,
10431047 FF_CODEC_DECODE_CB(atrac3al_decode_frame),
1044− .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
1048+ .p.capabilities =
1049+#if FF_API_SUBFRAMES
1050+ AV_CODEC_CAP_SUBFRAMES |
1051+#endif
1052+ AV_CODEC_CAP_DR1,
10451053 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
10461054 AV_SAMPLE_FMT_NONE },
10471055 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
libavcodec/atrac9dec.c+5−1
@@ -1003,5 +1003,9 @@ const FFCodec ff_atrac9_decoder = { · 1002 unmodified lines
10031003 FF_CODEC_DECODE_CB(atrac9_decode_frame),
10041004 .flush = atrac9_decode_flush,
10051005 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
1006− .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
1006+ .p.capabilities =
1007+#if FF_API_SUBFRAMES
1008+ AV_CODEC_CAP_SUBFRAMES |
1009+#endif
1010+ AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
10071011 };
libavcodec/bonk.c+4−2
@@ -428,8 +428,10 @@ const FFCodec ff_bonk_decoder = { · 427 unmodified lines
428428 FF_CODEC_DECODE_CB(bonk_decode),
429429 .close = bonk_close,
430430 .p.capabilities = AV_CODEC_CAP_DELAY |
431− AV_CODEC_CAP_DR1 |
432− AV_CODEC_CAP_SUBFRAMES,
431+#if FF_API_SUBFRAMES
432+ AV_CODEC_CAP_SUBFRAMES |
433+#endif
434+ AV_CODEC_CAP_DR1,
433435 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
434436 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
435437 AV_SAMPLE_FMT_NONE },
libavcodec/codec.h+3−0
@@ -80,6 +80,7 @@ · 79 unmodified lines
8080 */
8181 #define AV_CODEC_CAP_SMALL_LAST_FRAME (1 << 6)
8282
83+#if FF_API_SUBFRAMES
8384 /**
8485 * Codec can output multiple frames per AVPacket
8586 * Normally demuxers return one frame at a time, demuxers which do not do
@@ -92,6 +93,8 @@ · 6 unmodified lines
9293 * as a last resort.
9394 */
9495 #define AV_CODEC_CAP_SUBFRAMES (1 << 8)
96+#endif
97+
9598 /**
9699 * Codec is experimental and is thus avoided in favor of non experimental
97100 * encoders
libavcodec/ftr.c+5−1
@@ -203,6 +203,10 @@ const FFCodec ff_ftr_decoder = { · 202 unmodified lines
203203 .close = ftr_close,
204204 .flush = ftr_flush,
205205 .priv_data_size = sizeof(FTRContext),
206− .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
206+ .p.capabilities =
207+#if FF_API_SUBFRAMES
208+ AV_CODEC_CAP_SUBFRAMES |
209+#endif
210+ AV_CODEC_CAP_DR1,
207211 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
208212 };
libavcodec/g723_1dec.c+5−1
@@ -1118,6 +1118,10 @@ const FFCodec ff_g723_1_decoder = { · 1117 unmodified lines
11181118 .priv_data_size = sizeof(G723_1_Context),
11191119 .init = g723_1_decode_init,
11201120 FF_CODEC_DECODE_CB(g723_1_decode_frame),
1121− .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
1121+ .p.capabilities =
1122+#if FF_API_SUBFRAMES
1123+ AV_CODEC_CAP_SUBFRAMES |
1124+#endif
1125+ AV_CODEC_CAP_DR1,
11221126 .p.priv_class = &g723_1dec_class,
11231127 };
libavcodec/g729dec.c+10−2
@@ -760,7 +760,11 @@ const FFCodec ff_g729_decoder = { · 759 unmodified lines
760760 .init = decoder_init,
761761 FF_CODEC_DECODE_CB(decode_frame),
762762 .close = decode_close,
763− .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
763+ .p.capabilities =
764+#if FF_API_SUBFRAMES
765+ AV_CODEC_CAP_SUBFRAMES |
766+#endif
767+ AV_CODEC_CAP_DR1,
764768 };
765769
766770 const FFCodec ff_acelp_kelvin_decoder = {
@@ -772,5 +776,9 @@ const FFCodec ff_acelp_kelvin_decoder = { · 5 unmodified lines
772776 .init = decoder_init,
773777 FF_CODEC_DECODE_CB(decode_frame),
774778 .close = decode_close,
775− .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
779+ .p.capabilities =
780+#if FF_API_SUBFRAMES
781+ AV_CODEC_CAP_SUBFRAMES |
782+#endif
783+ AV_CODEC_CAP_DR1,
776784 };
libavcodec/libspeexdec.c+5−1
@@ -195,7 +195,11 @@ const FFCodec ff_libspeex_decoder = { · 194 unmodified lines
195195 CODEC_LONG_NAME("libspeex Speex"),
196196 .p.type = AVMEDIA_TYPE_AUDIO,
197197 .p.id = AV_CODEC_ID_SPEEX,
198− .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
198+ .p.capabilities =
199+#if FF_API_SUBFRAMES
200+ AV_CODEC_CAP_SUBFRAMES |
201+#endif
202+ AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
199203 .p.wrapper_name = "libspeex",
200204 .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE,
201205 .priv_data_size = sizeof(LibSpeexContext),
libavcodec/misc4.c+4−1
@@ -179,7 +179,10 @@ const FFCodec ff_misc4_decoder = { · 178 unmodified lines
179179 .priv_data_size = sizeof(MISC4Context),
180180 .init = misc4_init,
181181 FF_CODEC_DECODE_CB(misc4_decode),
182− .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SUBFRAMES |
182+ .p.capabilities = AV_CODEC_CAP_DR1 |
183+#if FF_API_SUBFRAMES
184+ AV_CODEC_CAP_SUBFRAMES |
185+#endif
183186 AV_CODEC_CAP_CHANNEL_CONF,
184187 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16,
185188 AV_SAMPLE_FMT_NONE },
libavcodec/shorten.c+4−2
@@ -814,8 +814,10 @@ const FFCodec ff_shorten_decoder = { · 813 unmodified lines
814814 FF_CODEC_DECODE_CB(shorten_decode_frame),
815815 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
816816 AV_CODEC_CAP_DELAY |
817− AV_CODEC_CAP_DR1 |
818− AV_CODEC_CAP_SUBFRAMES ,
817+#if FF_API_SUBFRAMES
818+ AV_CODEC_CAP_SUBFRAMES |
819+#endif
820+ AV_CODEC_CAP_DR1,
819821 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
820822 AV_SAMPLE_FMT_U8P,
821823 AV_SAMPLE_FMT_NONE },
libavcodec/tests/avcodec.c+1−2
@@ -149,8 +149,7 @@ int main(void){ · 148 unmodified lines
149149 FF_CODEC_CAP_SETS_FRAME_PROPS) ||
150150 codec->capabilities & (AV_CODEC_CAP_AVOID_PROBING |
151151 AV_CODEC_CAP_CHANNEL_CONF |
152− AV_CODEC_CAP_DRAW_HORIZ_BAND |
153− AV_CODEC_CAP_SUBFRAMES))
152+ AV_CODEC_CAP_DRAW_HORIZ_BAND))
154153 ERR("Encoder %s has decoder-only capabilities set\n");
155154 if (codec->capabilities & AV_CODEC_CAP_FRAME_THREADS &&
156155 codec->capabilities & AV_CODEC_CAP_ENCODER_FLUSH)
libavcodec/version_major.h+1−0
@@ -46,6 +46,7 @@ · 45 unmodified lines
4646 #define FF_API_VT_HWACCEL_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 61)
4747 #define FF_API_AVCTX_FRAME_NUMBER (LIBAVCODEC_VERSION_MAJOR < 61)
4848 #define FF_API_SLICE_OFFSET (LIBAVCODEC_VERSION_MAJOR < 61)
49+#define FF_API_SUBFRAMES (LIBAVCODEC_VERSION_MAJOR < 61)
4950
5051 // reminder to remove CrystalHD decoders on next major bump
5152 #define FF_CODEC_CRYSTAL_HD (LIBAVCODEC_VERSION_MAJOR < 61)
libavcodec/wavarc.c+2−0
@@ -499,7 +499,9 @@ const FFCodec ff_wavarc_decoder = { · 498 unmodified lines
499499 FF_CODEC_DECODE_CB(wavarc_decode),
500500 .close = wavarc_close,
501501 .p.capabilities = AV_CODEC_CAP_DR1 |
502+#if FF_API_SUBFRAMES
502503 AV_CODEC_CAP_SUBFRAMES |
504+#endif
503505 AV_CODEC_CAP_DELAY,
504506 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,
505507 AV_SAMPLE_FMT_S16P,
libavcodec/wmalosslessdec.c+5−1
@@ -1334,7 +1334,11 @@ const FFCodec ff_wmalossless_decoder = { · 1333 unmodified lines
13341334 .close = decode_close,
13351335 FF_CODEC_DECODE_CB(decode_packet),
13361336 .flush = flush,
1337− .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
1337+ .p.capabilities =
1338+#if FF_API_SUBFRAMES
1339+ AV_CODEC_CAP_SUBFRAMES |
1340+#endif
1341+ AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
13381342 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
13391343 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
13401344 AV_SAMPLE_FMT_S32P,
libavcodec/wmaprodec.c+15−3
@@ -2094,7 +2094,11 @@ const FFCodec ff_wmapro_decoder = { · 2093 unmodified lines
20942094 .init = wmapro_decode_init,
20952095 .close = wmapro_decode_end,
20962096 FF_CODEC_DECODE_CB(wmapro_decode_packet),
2097− .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
2097+ .p.capabilities =
2098+#if FF_API_SUBFRAMES
2099+ AV_CODEC_CAP_SUBFRAMES |
2100+#endif
2101+ AV_CODEC_CAP_DR1,
20982102 .flush = wmapro_flush,
20992103 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
21002104 AV_SAMPLE_FMT_NONE },
@@ -2111,7 +2115,11 @@ const FFCodec ff_xma1_decoder = { · 10 unmodified lines
21112115 .close = xma_decode_end,
21122116 FF_CODEC_DECODE_CB(xma_decode_packet),
21132117 .flush = xma_flush,
2114− .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
2118+ .p.capabilities =
2119+#if FF_API_SUBFRAMES
2120+ AV_CODEC_CAP_SUBFRAMES |
2121+#endif
2122+ AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
21152123 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
21162124 AV_SAMPLE_FMT_NONE },
21172125 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
@@ -2127,7 +2135,11 @@ const FFCodec ff_xma2_decoder = { · 9 unmodified lines
21272135 .close = xma_decode_end,
21282136 FF_CODEC_DECODE_CB(xma_decode_packet),
21292137 .flush = xma_flush,
2130− .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
2138+ .p.capabilities =
2139+#if FF_API_SUBFRAMES
2140+ AV_CODEC_CAP_SUBFRAMES |
2141+#endif
2142+ AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
21312143 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
21322144 AV_SAMPLE_FMT_NONE },
21332145 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
libavcodec/wmavoice.c+5−1
@@ -2004,7 +2004,11 @@ const FFCodec ff_wmavoice_decoder = { · 2003 unmodified lines
20042004 .init = wmavoice_decode_init,
20052005 .close = wmavoice_decode_end,
20062006 FF_CODEC_DECODE_CB(wmavoice_decode_packet),
2007− .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
2007+ .p.capabilities =
2008+#if FF_API_SUBFRAMES
2009+ AV_CODEC_CAP_SUBFRAMES |
2010+#endif
2011+ AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
20082012 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
20092013 .flush = wmavoice_flush,
20102014 };

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t