There is nothing meaningful the caller can do with it.
Unified · Split
| @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2023-02-09 · 1 unmodified line | ||
| 2 | 2 | |
| 3 | 3 | API changes, most recent first: |
| 4 | 4 | |
| 5 | +2023-05-xx - xxxxxxxxxx - lavc 60 - codec.h | |
| 6 | + Depreate AV_CODEC_CAP_SUBFRAMES without replacement. | |
| 7 | + | |
| 5 | 8 | 2023-05-xx - xxxxxxxxxx - lavc 60.11.100 - codec_par.h |
| 6 | 9 | Add AVCodecParameters.framerate. |
| 7 | 10 | |
| @@ -2190,6 +2190,10 @@ const FFCodec ff_als_decoder = { · 2189 unmodified lines | ||
| 2190 | 2190 | .close = decode_end, |
| 2191 | 2191 | FF_CODEC_DECODE_CB(decode_frame), |
| 2192 | 2192 | .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, | |
| 2194 | 2198 | .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, |
| 2195 | 2199 | }; |
| @@ -269,8 +269,10 @@ const FFCodec ff_apac_decoder = { · 268 unmodified lines | ||
| 269 | 269 | FF_CODEC_DECODE_CB(apac_decode), |
| 270 | 270 | .close = apac_close, |
| 271 | 271 | .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, | |
| 274 | 276 | .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, |
| 275 | 277 | .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P, |
| 276 | 278 | AV_SAMPLE_FMT_S16P, |
| @@ -1680,7 +1680,11 @@ const FFCodec ff_ape_decoder = { · 1679 unmodified lines | ||
| 1680 | 1680 | .init = ape_decode_init, |
| 1681 | 1681 | .close = ape_decode_close, |
| 1682 | 1682 | 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 | | |
| 1684 | 1688 | AV_CODEC_CAP_DR1, |
| 1685 | 1689 | .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, |
| 1686 | 1690 | .flush = ape_flush, |
| @@ -1026,7 +1026,11 @@ const FFCodec ff_atrac3_decoder = { · 1025 unmodified lines | ||
| 1026 | 1026 | .init = atrac3_decode_init, |
| 1027 | 1027 | .close = atrac3_decode_close, |
| 1028 | 1028 | 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, | |
| 1030 | 1034 | .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP, |
| 1031 | 1035 | AV_SAMPLE_FMT_NONE }, |
| 1032 | 1036 | .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, |
| @@ -1041,7 +1045,11 @@ const FFCodec ff_atrac3al_decoder = { · 8 unmodified lines | ||
| 1041 | 1045 | .init = atrac3_decode_init, |
| 1042 | 1046 | .close = atrac3_decode_close, |
| 1043 | 1047 | 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, | |
| 1045 | 1053 | .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP, |
| 1046 | 1054 | AV_SAMPLE_FMT_NONE }, |
| 1047 | 1055 | .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, |
| @@ -1003,5 +1003,9 @@ const FFCodec ff_atrac9_decoder = { · 1002 unmodified lines | ||
| 1003 | 1003 | FF_CODEC_DECODE_CB(atrac9_decode_frame), |
| 1004 | 1004 | .flush = atrac9_decode_flush, |
| 1005 | 1005 | .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, | |
| 1007 | 1011 | }; |
| @@ -428,8 +428,10 @@ const FFCodec ff_bonk_decoder = { · 427 unmodified lines | ||
| 428 | 428 | FF_CODEC_DECODE_CB(bonk_decode), |
| 429 | 429 | .close = bonk_close, |
| 430 | 430 | .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, | |
| 433 | 435 | .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, |
| 434 | 436 | .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P, |
| 435 | 437 | AV_SAMPLE_FMT_NONE }, |
| @@ -80,6 +80,7 @@ · 79 unmodified lines | ||
| 80 | 80 | */ |
| 81 | 81 | #define AV_CODEC_CAP_SMALL_LAST_FRAME (1 << 6) |
| 82 | 82 | |
| 83 | +#if FF_API_SUBFRAMES | |
| 83 | 84 | /** |
| 84 | 85 | * Codec can output multiple frames per AVPacket |
| 85 | 86 | * Normally demuxers return one frame at a time, demuxers which do not do |
| @@ -92,6 +93,8 @@ · 6 unmodified lines | ||
| 92 | 93 | * as a last resort. |
| 93 | 94 | */ |
| 94 | 95 | #define AV_CODEC_CAP_SUBFRAMES (1 << 8) |
| 96 | +#endif | |
| 97 | + | |
| 95 | 98 | /** |
| 96 | 99 | * Codec is experimental and is thus avoided in favor of non experimental |
| 97 | 100 | * encoders |
| @@ -203,6 +203,10 @@ const FFCodec ff_ftr_decoder = { · 202 unmodified lines | ||
| 203 | 203 | .close = ftr_close, |
| 204 | 204 | .flush = ftr_flush, |
| 205 | 205 | .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, | |
| 207 | 211 | .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, |
| 208 | 212 | }; |
| @@ -1118,6 +1118,10 @@ const FFCodec ff_g723_1_decoder = { · 1117 unmodified lines | ||
| 1118 | 1118 | .priv_data_size = sizeof(G723_1_Context), |
| 1119 | 1119 | .init = g723_1_decode_init, |
| 1120 | 1120 | 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, | |
| 1122 | 1126 | .p.priv_class = &g723_1dec_class, |
| 1123 | 1127 | }; |
| @@ -760,7 +760,11 @@ const FFCodec ff_g729_decoder = { · 759 unmodified lines | ||
| 760 | 760 | .init = decoder_init, |
| 761 | 761 | FF_CODEC_DECODE_CB(decode_frame), |
| 762 | 762 | .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, | |
| 764 | 768 | }; |
| 765 | 769 | |
| 766 | 770 | const FFCodec ff_acelp_kelvin_decoder = { |
| @@ -772,5 +776,9 @@ const FFCodec ff_acelp_kelvin_decoder = { · 5 unmodified lines | ||
| 772 | 776 | .init = decoder_init, |
| 773 | 777 | FF_CODEC_DECODE_CB(decode_frame), |
| 774 | 778 | .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, | |
| 776 | 784 | }; |
| @@ -195,7 +195,11 @@ const FFCodec ff_libspeex_decoder = { · 194 unmodified lines | ||
| 195 | 195 | CODEC_LONG_NAME("libspeex Speex"), |
| 196 | 196 | .p.type = AVMEDIA_TYPE_AUDIO, |
| 197 | 197 | .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, | |
| 199 | 203 | .p.wrapper_name = "libspeex", |
| 200 | 204 | .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE, |
| 201 | 205 | .priv_data_size = sizeof(LibSpeexContext), |
| @@ -179,7 +179,10 @@ const FFCodec ff_misc4_decoder = { · 178 unmodified lines | ||
| 179 | 179 | .priv_data_size = sizeof(MISC4Context), |
| 180 | 180 | .init = misc4_init, |
| 181 | 181 | 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 | |
| 183 | 186 | AV_CODEC_CAP_CHANNEL_CONF, |
| 184 | 187 | .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16, |
| 185 | 188 | AV_SAMPLE_FMT_NONE }, |
| @@ -814,8 +814,10 @@ const FFCodec ff_shorten_decoder = { · 813 unmodified lines | ||
| 814 | 814 | FF_CODEC_DECODE_CB(shorten_decode_frame), |
| 815 | 815 | .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF | |
| 816 | 816 | 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, | |
| 819 | 821 | .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P, |
| 820 | 822 | AV_SAMPLE_FMT_U8P, |
| 821 | 823 | AV_SAMPLE_FMT_NONE }, |
| @@ -149,8 +149,7 @@ int main(void){ · 148 unmodified lines | ||
| 149 | 149 | FF_CODEC_CAP_SETS_FRAME_PROPS) || |
| 150 | 150 | codec->capabilities & (AV_CODEC_CAP_AVOID_PROBING | |
| 151 | 151 | AV_CODEC_CAP_CHANNEL_CONF | |
| 152 | − AV_CODEC_CAP_DRAW_HORIZ_BAND | | |
| 153 | − AV_CODEC_CAP_SUBFRAMES)) | |
| 152 | + AV_CODEC_CAP_DRAW_HORIZ_BAND)) | |
| 154 | 153 | ERR("Encoder %s has decoder-only capabilities set\n"); |
| 155 | 154 | if (codec->capabilities & AV_CODEC_CAP_FRAME_THREADS && |
| 156 | 155 | codec->capabilities & AV_CODEC_CAP_ENCODER_FLUSH) |
| @@ -46,6 +46,7 @@ · 45 unmodified lines | ||
| 46 | 46 | #define FF_API_VT_HWACCEL_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 61) |
| 47 | 47 | #define FF_API_AVCTX_FRAME_NUMBER (LIBAVCODEC_VERSION_MAJOR < 61) |
| 48 | 48 | #define FF_API_SLICE_OFFSET (LIBAVCODEC_VERSION_MAJOR < 61) |
| 49 | +#define FF_API_SUBFRAMES (LIBAVCODEC_VERSION_MAJOR < 61) | |
| 49 | 50 | |
| 50 | 51 | // reminder to remove CrystalHD decoders on next major bump |
| 51 | 52 | #define FF_CODEC_CRYSTAL_HD (LIBAVCODEC_VERSION_MAJOR < 61) |
| @@ -499,7 +499,9 @@ const FFCodec ff_wavarc_decoder = { · 498 unmodified lines | ||
| 499 | 499 | FF_CODEC_DECODE_CB(wavarc_decode), |
| 500 | 500 | .close = wavarc_close, |
| 501 | 501 | .p.capabilities = AV_CODEC_CAP_DR1 | |
| 502 | +#if FF_API_SUBFRAMES | |
| 502 | 503 | AV_CODEC_CAP_SUBFRAMES | |
| 504 | +#endif | |
| 503 | 505 | AV_CODEC_CAP_DELAY, |
| 504 | 506 | .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P, |
| 505 | 507 | AV_SAMPLE_FMT_S16P, |
| @@ -1334,7 +1334,11 @@ const FFCodec ff_wmalossless_decoder = { · 1333 unmodified lines | ||
| 1334 | 1334 | .close = decode_close, |
| 1335 | 1335 | FF_CODEC_DECODE_CB(decode_packet), |
| 1336 | 1336 | .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, | |
| 1338 | 1342 | .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, |
| 1339 | 1343 | .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P, |
| 1340 | 1344 | AV_SAMPLE_FMT_S32P, |
| @@ -2094,7 +2094,11 @@ const FFCodec ff_wmapro_decoder = { · 2093 unmodified lines | ||
| 2094 | 2094 | .init = wmapro_decode_init, |
| 2095 | 2095 | .close = wmapro_decode_end, |
| 2096 | 2096 | 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, | |
| 2098 | 2102 | .flush = wmapro_flush, |
| 2099 | 2103 | .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP, |
| 2100 | 2104 | AV_SAMPLE_FMT_NONE }, |
| @@ -2111,7 +2115,11 @@ const FFCodec ff_xma1_decoder = { · 10 unmodified lines | ||
| 2111 | 2115 | .close = xma_decode_end, |
| 2112 | 2116 | FF_CODEC_DECODE_CB(xma_decode_packet), |
| 2113 | 2117 | .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, | |
| 2115 | 2123 | .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP, |
| 2116 | 2124 | AV_SAMPLE_FMT_NONE }, |
| 2117 | 2125 | .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, |
| @@ -2127,7 +2135,11 @@ const FFCodec ff_xma2_decoder = { · 9 unmodified lines | ||
| 2127 | 2135 | .close = xma_decode_end, |
| 2128 | 2136 | FF_CODEC_DECODE_CB(xma_decode_packet), |
| 2129 | 2137 | .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, | |
| 2131 | 2143 | .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP, |
| 2132 | 2144 | AV_SAMPLE_FMT_NONE }, |
| 2133 | 2145 | .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, |
| @@ -2004,7 +2004,11 @@ const FFCodec ff_wmavoice_decoder = { · 2003 unmodified lines | ||
| 2004 | 2004 | .init = wmavoice_decode_init, |
| 2005 | 2005 | .close = wmavoice_decode_end, |
| 2006 | 2006 | 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, | |
| 2008 | 2012 | .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, |
| 2009 | 2013 | .flush = wmavoice_flush, |
| 2010 | 2014 | }; |