Message ID | AS8P250MB0744F99BAF58EE810132BDF68F529@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM |
---|---|
State | Accepted |
Commit | fdff1b9cbfd8cf5a9810c29efa4baf13a4786742 |
Headers | show |
Series | [FFmpeg-devel,1/2] avcodec/codec_internal: Avoid deprecation warnings for channel_layouts | expand |
Context | Check | Description |
---|---|---|
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
Andreas Rheinhardt: > AVCodec.channel_layouts is deprecated and Clang (unlike GCC) > warns when setting this field in a codec definition. > Fortunately, Clang (unlike GCC) allows to use > FF_DISABLE_DEPRECATION_WARNINGS inside a definition (of an FFCodec), > so that one can create simple macros to set AVCodec.channel_layouts > that also suppress deprecation warnings for Clang. > > (Notice that some of the codec definitions were already > inside FF_DISABLE/ENABLE_DEPRECATION_WARNINGS (that were not > guarded by FF_API_OLD_CHANNEL_LAYOUT); these have been removed. > Also notice that setting AVCodec.channel_layouts was not guarded > by FF_API_OLD_CHANNEL_LAYOUT either, so testing disabling it > it without removing all the codeblocks would not have worked.) > > Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> > --- > According to godbolt both of these assumptions about Clang > are true for the oldest Clang version provided by godbolt > (namely 3.0). > > Can someone test audiotoolboxenc just to be sure? > > libavcodec/aacdec.c | 8 ++------ > libavcodec/aacdec_fixed.c | 4 +--- > libavcodec/ac3enc_fixed.c | 6 +----- > libavcodec/ac3enc_float.c | 6 +----- > libavcodec/alacenc.c | 6 +----- > libavcodec/aptxdec.c | 8 ++------ > libavcodec/aptxenc.c | 8 ++------ > libavcodec/audiotoolboxenc.c | 2 +- > libavcodec/codec_internal.h | 19 +++++++++++++++++++ > libavcodec/dcaenc.c | 11 +++-------- > libavcodec/eac3enc.c | 6 +----- > libavcodec/g722enc.c | 4 +--- > libavcodec/libcodec2.c | 8 ++------ > libavcodec/libfdk-aacenc.c | 4 +--- > libavcodec/libgsmenc.c | 8 ++------ > libavcodec/libmp3lame.c | 6 +----- > libavcodec/libshine.c | 6 +----- > libavcodec/libspeexenc.c | 6 +----- > libavcodec/libtwolame.c | 7 +------ > libavcodec/mlpenc.c | 8 ++------ > libavcodec/mpegaudioenc_fixed.c | 6 +----- > libavcodec/mpegaudioenc_float.c | 6 +----- > libavcodec/opusenc.c | 5 +---- > libavcodec/pcm-blurayenc.c | 7 ++----- > libavcodec/pcm-dvdenc.c | 9 ++------- > libavcodec/ra144enc.c | 4 +--- > libavcodec/s302menc.c | 5 ----- > libavcodec/sbcdec.c | 5 +---- > libavcodec/sbcenc.c | 5 +---- > libavcodec/vorbisdec.c | 4 +--- > 30 files changed, 57 insertions(+), 140 deletions(-) > > diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c > index 2d448103df..2fdfd6b221 100644 > --- a/libavcodec/aacdec.c > +++ b/libavcodec/aacdec.c > @@ -566,9 +566,7 @@ const FFCodec ff_aac_decoder = { > }, > .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1, > .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = aac_channel_layout, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(aac_channel_layout) > .p.ch_layouts = aac_ch_layout, > .flush = flush, > .p.priv_class = &aac_decoder_class, > @@ -594,9 +592,7 @@ const FFCodec ff_aac_latm_decoder = { > }, > .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1, > .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = aac_channel_layout, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(aac_channel_layout) > .p.ch_layouts = aac_ch_layout, > .flush = flush, > .p.profiles = NULL_IF_CONFIG_SMALL(ff_aac_profiles), > diff --git a/libavcodec/aacdec_fixed.c b/libavcodec/aacdec_fixed.c > index 4b2085335d..8c5dad2813 100644 > --- a/libavcodec/aacdec_fixed.c > +++ b/libavcodec/aacdec_fixed.c > @@ -464,9 +464,7 @@ const FFCodec ff_aac_fixed_decoder = { > }, > .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1, > .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = aac_channel_layout, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(aac_channel_layout) > .p.ch_layouts = aac_ch_layout, > .p.priv_class = &aac_decoder_class, > .p.profiles = NULL_IF_CONFIG_SMALL(ff_aac_profiles), > diff --git a/libavcodec/ac3enc_fixed.c b/libavcodec/ac3enc_fixed.c > index a22d3b4abf..a52a598152 100644 > --- a/libavcodec/ac3enc_fixed.c > +++ b/libavcodec/ac3enc_fixed.c > @@ -119,7 +119,6 @@ static av_cold int ac3_fixed_encode_init(AVCodecContext *avctx) > } > > > -FF_DISABLE_DEPRECATION_WARNINGS > const FFCodec ff_ac3_fixed_encoder = { > .p.name = "ac3_fixed", > CODEC_LONG_NAME("ATSC A/52A (AC-3)"), > @@ -135,10 +134,7 @@ const FFCodec ff_ac3_fixed_encoder = { > .p.priv_class = &ff_ac3enc_class, > .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, > .p.supported_samplerates = ff_ac3_sample_rate_tab, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = ff_ac3_channel_layouts, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(ff_ac3_channel_layouts) > .p.ch_layouts = ff_ac3_ch_layouts, > .defaults = ff_ac3_enc_defaults, > }; > -FF_ENABLE_DEPRECATION_WARNINGS > diff --git a/libavcodec/ac3enc_float.c b/libavcodec/ac3enc_float.c > index 6238980690..3ca7d113c2 100644 > --- a/libavcodec/ac3enc_float.c > +++ b/libavcodec/ac3enc_float.c > @@ -123,7 +123,6 @@ av_cold int ff_ac3_float_encode_init(AVCodecContext *avctx) > return ff_ac3_encode_init(avctx); > } > > -FF_DISABLE_DEPRECATION_WARNINGS > const FFCodec ff_ac3_encoder = { > .p.name = "ac3", > CODEC_LONG_NAME("ATSC A/52A (AC-3)"), > @@ -138,11 +137,8 @@ const FFCodec ff_ac3_encoder = { > AV_SAMPLE_FMT_NONE }, > .p.priv_class = &ff_ac3enc_class, > .p.supported_samplerates = ff_ac3_sample_rate_tab, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = ff_ac3_channel_layouts, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(ff_ac3_channel_layouts) > .p.ch_layouts = ff_ac3_ch_layouts, > .defaults = ff_ac3_enc_defaults, > .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, > }; > -FF_ENABLE_DEPRECATION_WARNINGS > diff --git a/libavcodec/alacenc.c b/libavcodec/alacenc.c > index 362d4f8ba6..0f685d71d6 100644 > --- a/libavcodec/alacenc.c > +++ b/libavcodec/alacenc.c > @@ -648,7 +648,6 @@ static const AVClass alacenc_class = { > .version = LIBAVUTIL_VERSION_INT, > }; > > -FF_DISABLE_DEPRECATION_WARNINGS > const FFCodec ff_alac_encoder = { > .p.name = "alac", > CODEC_LONG_NAME("ALAC (Apple Lossless Audio Codec)"), > @@ -660,12 +659,9 @@ const FFCodec ff_alac_encoder = { > .init = alac_encode_init, > FF_CODEC_ENCODE_CB(alac_encode_frame), > .close = alac_encode_close, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = alac_channel_layouts, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(alac_channel_layouts) > .p.ch_layouts = ff_alac_ch_layouts, > .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32P, > AV_SAMPLE_FMT_S16P, > AV_SAMPLE_FMT_NONE }, > }; > -FF_ENABLE_DEPRECATION_WARNINGS > diff --git a/libavcodec/aptxdec.c b/libavcodec/aptxdec.c > index d254b3026b..3ae7a00803 100644 > --- a/libavcodec/aptxdec.c > +++ b/libavcodec/aptxdec.c > @@ -183,9 +183,7 @@ const FFCodec ff_aptx_decoder = { > .init = ff_aptx_init, > FF_CODEC_DECODE_CB(aptx_decode_frame), > .p.capabilities = AV_CODEC_CAP_DR1, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0}, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_STEREO) > .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_STEREO, { 0 } }, > .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S32P, > AV_SAMPLE_FMT_NONE }, > @@ -202,9 +200,7 @@ const FFCodec ff_aptx_hd_decoder = { > .init = ff_aptx_init, > FF_CODEC_DECODE_CB(aptx_decode_frame), > .p.capabilities = AV_CODEC_CAP_DR1, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0}, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_STEREO) > .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_STEREO, { 0 } }, > .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S32P, > AV_SAMPLE_FMT_NONE }, > diff --git a/libavcodec/aptxenc.c b/libavcodec/aptxenc.c > index 114e286fe2..5fc0378f5d 100644 > --- a/libavcodec/aptxenc.c > +++ b/libavcodec/aptxenc.c > @@ -276,9 +276,7 @@ const FFCodec ff_aptx_encoder = { > .init = aptx_encode_init, > FF_CODEC_ENCODE_CB(aptx_encode_frame), > .close = aptx_close, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0}, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_STEREO) > .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_STEREO, { 0 } }, > .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S32P, > AV_SAMPLE_FMT_NONE }, > @@ -297,9 +295,7 @@ const FFCodec ff_aptx_hd_encoder = { > .init = aptx_encode_init, > FF_CODEC_ENCODE_CB(aptx_encode_frame), > .close = aptx_close, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0}, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_STEREO) > .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_STEREO, { 0 } }, > .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S32P, > AV_SAMPLE_FMT_NONE }, > diff --git a/libavcodec/audiotoolboxenc.c b/libavcodec/audiotoolboxenc.c > index 02a863bf03..1ccfda4d20 100644 > --- a/libavcodec/audiotoolboxenc.c > +++ b/libavcodec/audiotoolboxenc.c > @@ -627,7 +627,7 @@ static const AVOption options[] = { > .p.priv_class = &ffat_##NAME##_enc_class, \ > .p.capabilities = AV_CODEC_CAP_DELAY | \ > AV_CODEC_CAP_ENCODER_FLUSH CAPS, \ > - .p.channel_layouts = CHANNEL_LAYOUTS, \ > + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(CHANNEL_LAYOUTS) \ > .p.ch_layouts = CH_LAYOUTS, \ > .p.sample_fmts = (const enum AVSampleFormat[]) { \ > AV_SAMPLE_FMT_S16, \ > diff --git a/libavcodec/codec_internal.h b/libavcodec/codec_internal.h > index 2d9b4f6460..e3b77e6dea 100644 > --- a/libavcodec/codec_internal.h > +++ b/libavcodec/codec_internal.h > @@ -276,6 +276,25 @@ typedef struct FFCodec { > .update_thread_context_for_user = NULL > #endif > > +#if FF_API_OLD_CHANNEL_LAYOUT > +#define CODEC_OLD_CHANNEL_LAYOUTS(...) CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(((const uint64_t[]) { __VA_ARGS__, 0 })) > +#if defined(__clang__) > +#define CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(array) \ > + FF_DISABLE_DEPRECATION_WARNINGS \ > + .p.channel_layouts = (array), \ > + FF_ENABLE_DEPRECATION_WARNINGS > +#else > +#define CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(array) .p.channel_layouts = (array), > +#endif > +#else > +/* This is only provided to allow to test disabling FF_API_OLD_CHANNEL_LAYOUT > + * without removing all the FF_API_OLD_CHANNEL_LAYOUT codeblocks. > + * It is of course still expected to be removed when FF_API_OLD_CHANNEL_LAYOUT > + * will be finally removed (along with all usages of these macros). */ > +#define CODEC_OLD_CHANNEL_LAYOUTS(...) > +#define CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(array) > +#endif > + > #define FF_CODEC_DECODE_CB(func) \ > .cb_type = FF_CODEC_CB_TYPE_DECODE, \ > .cb.decode = (func) > diff --git a/libavcodec/dcaenc.c b/libavcodec/dcaenc.c > index 46618c13f9..eec6965b5f 100644 > --- a/libavcodec/dcaenc.c > +++ b/libavcodec/dcaenc.c > @@ -1324,14 +1324,9 @@ const FFCodec ff_dca_encoder = { > .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32, > AV_SAMPLE_FMT_NONE }, > .p.supported_samplerates = sample_rates, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, > - AV_CH_LAYOUT_STEREO, > - AV_CH_LAYOUT_2_2, > - AV_CH_LAYOUT_5POINT0, > - AV_CH_LAYOUT_5POINT1, > - 0 }, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO, > + AV_CH_LAYOUT_2_2, AV_CH_LAYOUT_5POINT0, > + AV_CH_LAYOUT_5POINT1) > .p.ch_layouts = (const AVChannelLayout[]){ > AV_CHANNEL_LAYOUT_MONO, > AV_CHANNEL_LAYOUT_STEREO, > diff --git a/libavcodec/eac3enc.c b/libavcodec/eac3enc.c > index 648c93dcaa..78d4f1399a 100644 > --- a/libavcodec/eac3enc.c > +++ b/libavcodec/eac3enc.c > @@ -249,7 +249,6 @@ void ff_eac3_output_frame_header(AC3EncodeContext *s) > } > > > -FF_DISABLE_DEPRECATION_WARNINGS > const FFCodec ff_eac3_encoder = { > .p.name = "eac3", > CODEC_LONG_NAME("ATSC A/52 E-AC-3"), > @@ -264,11 +263,8 @@ const FFCodec ff_eac3_encoder = { > AV_SAMPLE_FMT_NONE }, > .p.priv_class = &eac3enc_class, > .p.supported_samplerates = ff_ac3_sample_rate_tab, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = ff_ac3_channel_layouts, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(ff_ac3_channel_layouts) > .p.ch_layouts = ff_ac3_ch_layouts, > .defaults = ff_ac3_enc_defaults, > .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, > }; > -FF_ENABLE_DEPRECATION_WARNINGS > diff --git a/libavcodec/g722enc.c b/libavcodec/g722enc.c > index dc044c320d..bc08211b1d 100644 > --- a/libavcodec/g722enc.c > +++ b/libavcodec/g722enc.c > @@ -381,9 +381,7 @@ const FFCodec ff_adpcm_g722_encoder = { > .close = g722_encode_close, > FF_CODEC_ENCODE_CB(g722_encode_frame), > .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE }, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO, 0 }, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO) > .p.ch_layouts = (const AVChannelLayout[]){ > AV_CHANNEL_LAYOUT_MONO, { 0 } > }, > diff --git a/libavcodec/libcodec2.c b/libavcodec/libcodec2.c > index 581ef04ce2..5728d915c2 100644 > --- a/libavcodec/libcodec2.c > +++ b/libavcodec/libcodec2.c > @@ -189,9 +189,7 @@ const FFCodec ff_libcodec2_decoder = { > .init = libcodec2_init_decoder, > .close = libcodec2_close, > FF_CODEC_DECODE_CB(libcodec2_decode), > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 }, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO) > }; > > const FFCodec ff_libcodec2_encoder = { > @@ -209,7 +207,5 @@ const FFCodec ff_libcodec2_encoder = { > .init = libcodec2_init_encoder, > .close = libcodec2_close, > FF_CODEC_ENCODE_CB(libcodec2_encode), > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 }, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO) > }; > diff --git a/libavcodec/libfdk-aacenc.c b/libavcodec/libfdk-aacenc.c > index fc2e71c51f..d589964453 100644 > --- a/libavcodec/libfdk-aacenc.c > +++ b/libavcodec/libfdk-aacenc.c > @@ -494,8 +494,6 @@ const FFCodec ff_libfdk_aac_encoder = { > .p.profiles = profiles, > .p.supported_samplerates = aac_sample_rates, > .p.wrapper_name = "libfdk", > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = aac_channel_layout, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(aac_channel_layout) > .p.ch_layouts = aac_ch_layouts, > }; > diff --git a/libavcodec/libgsmenc.c b/libavcodec/libgsmenc.c > index 9ad430bf62..bd3b1420aa 100644 > --- a/libavcodec/libgsmenc.c > +++ b/libavcodec/libgsmenc.c > @@ -127,9 +127,7 @@ const FFCodec ff_libgsm_encoder = { > FF_CODEC_ENCODE_CB(libgsm_encode_frame), > .close = libgsm_encode_close, > .defaults = libgsm_defaults, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 }, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO) > .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, { 0 } }, > .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, > AV_SAMPLE_FMT_NONE }, > @@ -148,9 +146,7 @@ const FFCodec ff_libgsm_ms_encoder = { > FF_CODEC_ENCODE_CB(libgsm_encode_frame), > .close = libgsm_encode_close, > .defaults = libgsm_defaults, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 }, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO) > .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, { 0 } }, > .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, > AV_SAMPLE_FMT_NONE }, > diff --git a/libavcodec/libmp3lame.c b/libavcodec/libmp3lame.c > index c8a6eb8c33..26e58baa3d 100644 > --- a/libavcodec/libmp3lame.c > +++ b/libavcodec/libmp3lame.c > @@ -345,11 +345,7 @@ const FFCodec ff_libmp3lame_encoder = { > AV_SAMPLE_FMT_S16P, > AV_SAMPLE_FMT_NONE }, > .p.supported_samplerates = libmp3lame_sample_rates, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, > - AV_CH_LAYOUT_STEREO, > - 0 }, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO) > .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, > AV_CHANNEL_LAYOUT_STEREO, > { 0 }, > diff --git a/libavcodec/libshine.c b/libavcodec/libshine.c > index e266229f03..2f6a9233e0 100644 > --- a/libavcodec/libshine.c > +++ b/libavcodec/libshine.c > @@ -140,11 +140,7 @@ const FFCodec ff_libshine_encoder = { > .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16P, > AV_SAMPLE_FMT_NONE }, > .p.supported_samplerates = libshine_sample_rates, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, > - AV_CH_LAYOUT_STEREO, > - 0 }, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO) > .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, > AV_CHANNEL_LAYOUT_STEREO, > { 0 }, > diff --git a/libavcodec/libspeexenc.c b/libavcodec/libspeexenc.c > index 2191e7dac7..9fdb247863 100644 > --- a/libavcodec/libspeexenc.c > +++ b/libavcodec/libspeexenc.c > @@ -354,11 +354,7 @@ const FFCodec ff_libspeex_encoder = { > .close = encode_close, > .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, > AV_SAMPLE_FMT_NONE }, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO, > - AV_CH_LAYOUT_STEREO, > - 0 }, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO) > .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, > AV_CHANNEL_LAYOUT_STEREO, > { 0 }, > diff --git a/libavcodec/libtwolame.c b/libavcodec/libtwolame.c > index 2168b3cdf6..9c0156aa25 100644 > --- a/libavcodec/libtwolame.c > +++ b/libavcodec/libtwolame.c > @@ -228,12 +228,7 @@ const FFCodec ff_libtwolame_encoder = { > AV_SAMPLE_FMT_S16P, > AV_SAMPLE_FMT_NONE > }, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]) { > - AV_CH_LAYOUT_MONO, > - AV_CH_LAYOUT_STEREO, > - 0 }, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO) > .p.ch_layouts = (const AVChannelLayout[]) { > AV_CHANNEL_LAYOUT_MONO, > AV_CHANNEL_LAYOUT_STEREO, > diff --git a/libavcodec/mlpenc.c b/libavcodec/mlpenc.c > index a8b0486cf3..1bc8995c58 100644 > --- a/libavcodec/mlpenc.c > +++ b/libavcodec/mlpenc.c > @@ -2252,9 +2252,7 @@ const FFCodec ff_mlp_encoder = { > .close = mlp_encode_close, > .p.sample_fmts = (const enum AVSampleFormat[]) {AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE}, > .p.supported_samplerates = (const int[]) {44100, 48000, 88200, 96000, 176400, 192000, 0}, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = ff_mlp_channel_layouts, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(ff_mlp_channel_layouts) > .p.ch_layouts = ff_mlp_ch_layouts, > .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, > }; > @@ -2274,9 +2272,7 @@ const FFCodec ff_truehd_encoder = { > .close = mlp_encode_close, > .p.sample_fmts = (const enum AVSampleFormat[]) {AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE}, > .p.supported_samplerates = (const int[]) {44100, 48000, 88200, 96000, 176400, 192000, 0}, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO, AV_CH_LAYOUT_5POINT0, AV_CH_LAYOUT_5POINT1, 0 }, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO, AV_CH_LAYOUT_5POINT0, AV_CH_LAYOUT_5POINT1) > .p.ch_layouts = (const AVChannelLayout[]) { > AV_CHANNEL_LAYOUT_MONO, > AV_CHANNEL_LAYOUT_STEREO, > diff --git a/libavcodec/mpegaudioenc_fixed.c b/libavcodec/mpegaudioenc_fixed.c > index 3b2bcb3594..afbffe766b 100644 > --- a/libavcodec/mpegaudioenc_fixed.c > +++ b/libavcodec/mpegaudioenc_fixed.c > @@ -37,11 +37,7 @@ const FFCodec ff_mp2fixed_encoder = { > .p.supported_samplerates = (const int[]){ > 44100, 48000, 32000, 22050, 24000, 16000, 0 > }, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO, > - AV_CH_LAYOUT_STEREO, > - 0 }, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO) > .p.ch_layouts = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO, > AV_CHANNEL_LAYOUT_STEREO, > { 0 } }, > diff --git a/libavcodec/mpegaudioenc_float.c b/libavcodec/mpegaudioenc_float.c > index 64b5bbda6e..212709c291 100644 > --- a/libavcodec/mpegaudioenc_float.c > +++ b/libavcodec/mpegaudioenc_float.c > @@ -38,11 +38,7 @@ const FFCodec ff_mp2_encoder = { > .p.supported_samplerates = (const int[]){ > 44100, 48000, 32000, 22050, 24000, 16000, 0 > }, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO, > - AV_CH_LAYOUT_STEREO, > - 0 }, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO) > .p.ch_layouts = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO, > AV_CHANNEL_LAYOUT_STEREO, > { 0 } }, > diff --git a/libavcodec/opusenc.c b/libavcodec/opusenc.c > index a7a9d3a5f5..324fcd64a6 100644 > --- a/libavcodec/opusenc.c > +++ b/libavcodec/opusenc.c > @@ -740,10 +740,7 @@ const FFCodec ff_opus_encoder = { > .close = opus_encode_end, > .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, > .p.supported_samplerates = (const int []){ 48000, 0 }, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t []){ AV_CH_LAYOUT_MONO, > - AV_CH_LAYOUT_STEREO, 0 }, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO) > .p.ch_layouts = (const AVChannelLayout []){ AV_CHANNEL_LAYOUT_MONO, > AV_CHANNEL_LAYOUT_STEREO, { 0 } }, > .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP, > diff --git a/libavcodec/pcm-blurayenc.c b/libavcodec/pcm-blurayenc.c > index 03ed88b8ae..62e86e722f 100644 > --- a/libavcodec/pcm-blurayenc.c > +++ b/libavcodec/pcm-blurayenc.c > @@ -279,8 +279,7 @@ const FFCodec ff_pcm_bluray_encoder = { > .init = pcm_bluray_encode_init, > FF_CODEC_ENCODE_CB(pcm_bluray_encode_frame), > .p.supported_samplerates = (const int[]) { 48000, 96000, 192000, 0 }, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]) { > + CODEC_OLD_CHANNEL_LAYOUTS( > AV_CH_LAYOUT_MONO, > AV_CH_LAYOUT_STEREO, > AV_CH_LAYOUT_SURROUND, > @@ -290,9 +289,7 @@ const FFCodec ff_pcm_bluray_encoder = { > AV_CH_LAYOUT_5POINT0, > AV_CH_LAYOUT_5POINT1, > AV_CH_LAYOUT_7POINT0, > - AV_CH_LAYOUT_7POINT1, > - 0 }, > -#endif > + AV_CH_LAYOUT_7POINT1) > .p.ch_layouts = (const AVChannelLayout[]) { > AV_CHANNEL_LAYOUT_MONO, > AV_CHANNEL_LAYOUT_STEREO, > diff --git a/libavcodec/pcm-dvdenc.c b/libavcodec/pcm-dvdenc.c > index e9349680e8..011d0a2f00 100644 > --- a/libavcodec/pcm-dvdenc.c > +++ b/libavcodec/pcm-dvdenc.c > @@ -181,13 +181,8 @@ const FFCodec ff_pcm_dvd_encoder = { > .init = pcm_dvd_encode_init, > FF_CODEC_ENCODE_CB(pcm_dvd_encode_frame), > .p.supported_samplerates = (const int[]) { 48000, 96000, 0}, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, > - AV_CH_LAYOUT_STEREO, > - AV_CH_LAYOUT_5POINT1, > - AV_CH_LAYOUT_7POINT1, > - 0 }, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO, > + AV_CH_LAYOUT_5POINT1, AV_CH_LAYOUT_7POINT1) > .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, > AV_CHANNEL_LAYOUT_STEREO, > AV_CHANNEL_LAYOUT_5POINT1, > diff --git a/libavcodec/ra144enc.c b/libavcodec/ra144enc.c > index d9448e88c8..ea537f3f80 100644 > --- a/libavcodec/ra144enc.c > +++ b/libavcodec/ra144enc.c > @@ -549,8 +549,6 @@ const FFCodec ff_ra_144_encoder = { > .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, > AV_SAMPLE_FMT_NONE }, > .p.supported_samplerates = (const int[]){ 8000, 0 }, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 }, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO) > .p.ch_layouts = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO, { 0 } }, > }; > diff --git a/libavcodec/s302menc.c b/libavcodec/s302menc.c > index ad59325ec4..3bd657f945 100644 > --- a/libavcodec/s302menc.c > +++ b/libavcodec/s302menc.c > @@ -184,9 +184,4 @@ const FFCodec ff_s302m_encoder = { > AV_SAMPLE_FMT_S16, > AV_SAMPLE_FMT_NONE }, > .p.supported_samplerates = (const int[]) { 48000, 0 }, > - /* .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, > - AV_CH_LAYOUT_QUAD, > - AV_CH_LAYOUT_5POINT1_BACK, > - AV_CH_LAYOUT_5POINT1_BACK | AV_CH_LAYOUT_STEREO_DOWNMIX, > - 0 }, */ > }; > diff --git a/libavcodec/sbcdec.c b/libavcodec/sbcdec.c > index 51411eb16b..3fac2f5016 100644 > --- a/libavcodec/sbcdec.c > +++ b/libavcodec/sbcdec.c > @@ -374,10 +374,7 @@ const FFCodec ff_sbc_decoder = { > .init = sbc_decode_init, > FF_CODEC_DECODE_CB(sbc_decode_frame), > .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, > - AV_CH_LAYOUT_STEREO, 0}, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO) > .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, > AV_CHANNEL_LAYOUT_STEREO, > { 0 } }, > diff --git a/libavcodec/sbcenc.c b/libavcodec/sbcenc.c > index d7e9fb4198..721c97e1ea 100644 > --- a/libavcodec/sbcenc.c > +++ b/libavcodec/sbcenc.c > @@ -352,10 +352,7 @@ const FFCodec ff_sbc_encoder = { > .priv_data_size = sizeof(SBCEncContext), > .init = sbc_encode_init, > FF_CODEC_ENCODE_CB(sbc_encode_frame), > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, > - AV_CH_LAYOUT_STEREO, 0}, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO) > .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, > AV_CHANNEL_LAYOUT_STEREO, > { 0 } }, > diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c > index 0d04e7c2c4..4a85500c10 100644 > --- a/libavcodec/vorbisdec.c > +++ b/libavcodec/vorbisdec.c > @@ -1876,9 +1876,7 @@ const FFCodec ff_vorbis_decoder = { > .flush = vorbis_decode_flush, > .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, > .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, > -#if FF_API_OLD_CHANNEL_LAYOUT > - .p.channel_layouts = ff_vorbis_channel_layouts, > -#endif > + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(ff_vorbis_channel_layouts) > .p.ch_layouts = ff_vorbis_ch_layouts, > .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP, > AV_SAMPLE_FMT_NONE }, Will apply tonight unless there are objections. - Andreas
diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c index 2d448103df..2fdfd6b221 100644 --- a/libavcodec/aacdec.c +++ b/libavcodec/aacdec.c @@ -566,9 +566,7 @@ const FFCodec ff_aac_decoder = { }, .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = aac_channel_layout, -#endif + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(aac_channel_layout) .p.ch_layouts = aac_ch_layout, .flush = flush, .p.priv_class = &aac_decoder_class, @@ -594,9 +592,7 @@ const FFCodec ff_aac_latm_decoder = { }, .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = aac_channel_layout, -#endif + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(aac_channel_layout) .p.ch_layouts = aac_ch_layout, .flush = flush, .p.profiles = NULL_IF_CONFIG_SMALL(ff_aac_profiles), diff --git a/libavcodec/aacdec_fixed.c b/libavcodec/aacdec_fixed.c index 4b2085335d..8c5dad2813 100644 --- a/libavcodec/aacdec_fixed.c +++ b/libavcodec/aacdec_fixed.c @@ -464,9 +464,7 @@ const FFCodec ff_aac_fixed_decoder = { }, .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = aac_channel_layout, -#endif + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(aac_channel_layout) .p.ch_layouts = aac_ch_layout, .p.priv_class = &aac_decoder_class, .p.profiles = NULL_IF_CONFIG_SMALL(ff_aac_profiles), diff --git a/libavcodec/ac3enc_fixed.c b/libavcodec/ac3enc_fixed.c index a22d3b4abf..a52a598152 100644 --- a/libavcodec/ac3enc_fixed.c +++ b/libavcodec/ac3enc_fixed.c @@ -119,7 +119,6 @@ static av_cold int ac3_fixed_encode_init(AVCodecContext *avctx) } -FF_DISABLE_DEPRECATION_WARNINGS const FFCodec ff_ac3_fixed_encoder = { .p.name = "ac3_fixed", CODEC_LONG_NAME("ATSC A/52A (AC-3)"), @@ -135,10 +134,7 @@ const FFCodec ff_ac3_fixed_encoder = { .p.priv_class = &ff_ac3enc_class, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.supported_samplerates = ff_ac3_sample_rate_tab, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = ff_ac3_channel_layouts, -#endif + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(ff_ac3_channel_layouts) .p.ch_layouts = ff_ac3_ch_layouts, .defaults = ff_ac3_enc_defaults, }; -FF_ENABLE_DEPRECATION_WARNINGS diff --git a/libavcodec/ac3enc_float.c b/libavcodec/ac3enc_float.c index 6238980690..3ca7d113c2 100644 --- a/libavcodec/ac3enc_float.c +++ b/libavcodec/ac3enc_float.c @@ -123,7 +123,6 @@ av_cold int ff_ac3_float_encode_init(AVCodecContext *avctx) return ff_ac3_encode_init(avctx); } -FF_DISABLE_DEPRECATION_WARNINGS const FFCodec ff_ac3_encoder = { .p.name = "ac3", CODEC_LONG_NAME("ATSC A/52A (AC-3)"), @@ -138,11 +137,8 @@ const FFCodec ff_ac3_encoder = { AV_SAMPLE_FMT_NONE }, .p.priv_class = &ff_ac3enc_class, .p.supported_samplerates = ff_ac3_sample_rate_tab, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = ff_ac3_channel_layouts, -#endif + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(ff_ac3_channel_layouts) .p.ch_layouts = ff_ac3_ch_layouts, .defaults = ff_ac3_enc_defaults, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; -FF_ENABLE_DEPRECATION_WARNINGS diff --git a/libavcodec/alacenc.c b/libavcodec/alacenc.c index 362d4f8ba6..0f685d71d6 100644 --- a/libavcodec/alacenc.c +++ b/libavcodec/alacenc.c @@ -648,7 +648,6 @@ static const AVClass alacenc_class = { .version = LIBAVUTIL_VERSION_INT, }; -FF_DISABLE_DEPRECATION_WARNINGS const FFCodec ff_alac_encoder = { .p.name = "alac", CODEC_LONG_NAME("ALAC (Apple Lossless Audio Codec)"), @@ -660,12 +659,9 @@ const FFCodec ff_alac_encoder = { .init = alac_encode_init, FF_CODEC_ENCODE_CB(alac_encode_frame), .close = alac_encode_close, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = alac_channel_layouts, -#endif + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(alac_channel_layouts) .p.ch_layouts = ff_alac_ch_layouts, .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32P, AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_NONE }, }; -FF_ENABLE_DEPRECATION_WARNINGS diff --git a/libavcodec/aptxdec.c b/libavcodec/aptxdec.c index d254b3026b..3ae7a00803 100644 --- a/libavcodec/aptxdec.c +++ b/libavcodec/aptxdec.c @@ -183,9 +183,7 @@ const FFCodec ff_aptx_decoder = { .init = ff_aptx_init, FF_CODEC_DECODE_CB(aptx_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0}, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_STEREO) .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_STEREO, { 0 } }, .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S32P, AV_SAMPLE_FMT_NONE }, @@ -202,9 +200,7 @@ const FFCodec ff_aptx_hd_decoder = { .init = ff_aptx_init, FF_CODEC_DECODE_CB(aptx_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0}, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_STEREO) .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_STEREO, { 0 } }, .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S32P, AV_SAMPLE_FMT_NONE }, diff --git a/libavcodec/aptxenc.c b/libavcodec/aptxenc.c index 114e286fe2..5fc0378f5d 100644 --- a/libavcodec/aptxenc.c +++ b/libavcodec/aptxenc.c @@ -276,9 +276,7 @@ const FFCodec ff_aptx_encoder = { .init = aptx_encode_init, FF_CODEC_ENCODE_CB(aptx_encode_frame), .close = aptx_close, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0}, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_STEREO) .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_STEREO, { 0 } }, .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S32P, AV_SAMPLE_FMT_NONE }, @@ -297,9 +295,7 @@ const FFCodec ff_aptx_hd_encoder = { .init = aptx_encode_init, FF_CODEC_ENCODE_CB(aptx_encode_frame), .close = aptx_close, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0}, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_STEREO) .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_STEREO, { 0 } }, .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S32P, AV_SAMPLE_FMT_NONE }, diff --git a/libavcodec/audiotoolboxenc.c b/libavcodec/audiotoolboxenc.c index 02a863bf03..1ccfda4d20 100644 --- a/libavcodec/audiotoolboxenc.c +++ b/libavcodec/audiotoolboxenc.c @@ -627,7 +627,7 @@ static const AVOption options[] = { .p.priv_class = &ffat_##NAME##_enc_class, \ .p.capabilities = AV_CODEC_CAP_DELAY | \ AV_CODEC_CAP_ENCODER_FLUSH CAPS, \ - .p.channel_layouts = CHANNEL_LAYOUTS, \ + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(CHANNEL_LAYOUTS) \ .p.ch_layouts = CH_LAYOUTS, \ .p.sample_fmts = (const enum AVSampleFormat[]) { \ AV_SAMPLE_FMT_S16, \ diff --git a/libavcodec/codec_internal.h b/libavcodec/codec_internal.h index 2d9b4f6460..e3b77e6dea 100644 --- a/libavcodec/codec_internal.h +++ b/libavcodec/codec_internal.h @@ -276,6 +276,25 @@ typedef struct FFCodec { .update_thread_context_for_user = NULL #endif +#if FF_API_OLD_CHANNEL_LAYOUT +#define CODEC_OLD_CHANNEL_LAYOUTS(...) CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(((const uint64_t[]) { __VA_ARGS__, 0 })) +#if defined(__clang__) +#define CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(array) \ + FF_DISABLE_DEPRECATION_WARNINGS \ + .p.channel_layouts = (array), \ + FF_ENABLE_DEPRECATION_WARNINGS +#else +#define CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(array) .p.channel_layouts = (array), +#endif +#else +/* This is only provided to allow to test disabling FF_API_OLD_CHANNEL_LAYOUT + * without removing all the FF_API_OLD_CHANNEL_LAYOUT codeblocks. + * It is of course still expected to be removed when FF_API_OLD_CHANNEL_LAYOUT + * will be finally removed (along with all usages of these macros). */ +#define CODEC_OLD_CHANNEL_LAYOUTS(...) +#define CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(array) +#endif + #define FF_CODEC_DECODE_CB(func) \ .cb_type = FF_CODEC_CB_TYPE_DECODE, \ .cb.decode = (func) diff --git a/libavcodec/dcaenc.c b/libavcodec/dcaenc.c index 46618c13f9..eec6965b5f 100644 --- a/libavcodec/dcaenc.c +++ b/libavcodec/dcaenc.c @@ -1324,14 +1324,9 @@ const FFCodec ff_dca_encoder = { .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE }, .p.supported_samplerates = sample_rates, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, - AV_CH_LAYOUT_STEREO, - AV_CH_LAYOUT_2_2, - AV_CH_LAYOUT_5POINT0, - AV_CH_LAYOUT_5POINT1, - 0 }, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO, + AV_CH_LAYOUT_2_2, AV_CH_LAYOUT_5POINT0, + AV_CH_LAYOUT_5POINT1) .p.ch_layouts = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO, AV_CHANNEL_LAYOUT_STEREO, diff --git a/libavcodec/eac3enc.c b/libavcodec/eac3enc.c index 648c93dcaa..78d4f1399a 100644 --- a/libavcodec/eac3enc.c +++ b/libavcodec/eac3enc.c @@ -249,7 +249,6 @@ void ff_eac3_output_frame_header(AC3EncodeContext *s) } -FF_DISABLE_DEPRECATION_WARNINGS const FFCodec ff_eac3_encoder = { .p.name = "eac3", CODEC_LONG_NAME("ATSC A/52 E-AC-3"), @@ -264,11 +263,8 @@ const FFCodec ff_eac3_encoder = { AV_SAMPLE_FMT_NONE }, .p.priv_class = &eac3enc_class, .p.supported_samplerates = ff_ac3_sample_rate_tab, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = ff_ac3_channel_layouts, -#endif + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(ff_ac3_channel_layouts) .p.ch_layouts = ff_ac3_ch_layouts, .defaults = ff_ac3_enc_defaults, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; -FF_ENABLE_DEPRECATION_WARNINGS diff --git a/libavcodec/g722enc.c b/libavcodec/g722enc.c index dc044c320d..bc08211b1d 100644 --- a/libavcodec/g722enc.c +++ b/libavcodec/g722enc.c @@ -381,9 +381,7 @@ const FFCodec ff_adpcm_g722_encoder = { .close = g722_encode_close, FF_CODEC_ENCODE_CB(g722_encode_frame), .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE }, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO, 0 }, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO) .p.ch_layouts = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO, { 0 } }, diff --git a/libavcodec/libcodec2.c b/libavcodec/libcodec2.c index 581ef04ce2..5728d915c2 100644 --- a/libavcodec/libcodec2.c +++ b/libavcodec/libcodec2.c @@ -189,9 +189,7 @@ const FFCodec ff_libcodec2_decoder = { .init = libcodec2_init_decoder, .close = libcodec2_close, FF_CODEC_DECODE_CB(libcodec2_decode), -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 }, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO) }; const FFCodec ff_libcodec2_encoder = { @@ -209,7 +207,5 @@ const FFCodec ff_libcodec2_encoder = { .init = libcodec2_init_encoder, .close = libcodec2_close, FF_CODEC_ENCODE_CB(libcodec2_encode), -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 }, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO) }; diff --git a/libavcodec/libfdk-aacenc.c b/libavcodec/libfdk-aacenc.c index fc2e71c51f..d589964453 100644 --- a/libavcodec/libfdk-aacenc.c +++ b/libavcodec/libfdk-aacenc.c @@ -494,8 +494,6 @@ const FFCodec ff_libfdk_aac_encoder = { .p.profiles = profiles, .p.supported_samplerates = aac_sample_rates, .p.wrapper_name = "libfdk", -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = aac_channel_layout, -#endif + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(aac_channel_layout) .p.ch_layouts = aac_ch_layouts, }; diff --git a/libavcodec/libgsmenc.c b/libavcodec/libgsmenc.c index 9ad430bf62..bd3b1420aa 100644 --- a/libavcodec/libgsmenc.c +++ b/libavcodec/libgsmenc.c @@ -127,9 +127,7 @@ const FFCodec ff_libgsm_encoder = { FF_CODEC_ENCODE_CB(libgsm_encode_frame), .close = libgsm_encode_close, .defaults = libgsm_defaults, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 }, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO) .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, { 0 } }, .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE }, @@ -148,9 +146,7 @@ const FFCodec ff_libgsm_ms_encoder = { FF_CODEC_ENCODE_CB(libgsm_encode_frame), .close = libgsm_encode_close, .defaults = libgsm_defaults, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 }, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO) .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, { 0 } }, .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE }, diff --git a/libavcodec/libmp3lame.c b/libavcodec/libmp3lame.c index c8a6eb8c33..26e58baa3d 100644 --- a/libavcodec/libmp3lame.c +++ b/libavcodec/libmp3lame.c @@ -345,11 +345,7 @@ const FFCodec ff_libmp3lame_encoder = { AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_NONE }, .p.supported_samplerates = libmp3lame_sample_rates, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, - AV_CH_LAYOUT_STEREO, - 0 }, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO) .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, AV_CHANNEL_LAYOUT_STEREO, { 0 }, diff --git a/libavcodec/libshine.c b/libavcodec/libshine.c index e266229f03..2f6a9233e0 100644 --- a/libavcodec/libshine.c +++ b/libavcodec/libshine.c @@ -140,11 +140,7 @@ const FFCodec ff_libshine_encoder = { .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_NONE }, .p.supported_samplerates = libshine_sample_rates, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, - AV_CH_LAYOUT_STEREO, - 0 }, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO) .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, AV_CHANNEL_LAYOUT_STEREO, { 0 }, diff --git a/libavcodec/libspeexenc.c b/libavcodec/libspeexenc.c index 2191e7dac7..9fdb247863 100644 --- a/libavcodec/libspeexenc.c +++ b/libavcodec/libspeexenc.c @@ -354,11 +354,7 @@ const FFCodec ff_libspeex_encoder = { .close = encode_close, .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE }, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO, - AV_CH_LAYOUT_STEREO, - 0 }, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO) .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, AV_CHANNEL_LAYOUT_STEREO, { 0 }, diff --git a/libavcodec/libtwolame.c b/libavcodec/libtwolame.c index 2168b3cdf6..9c0156aa25 100644 --- a/libavcodec/libtwolame.c +++ b/libavcodec/libtwolame.c @@ -228,12 +228,7 @@ const FFCodec ff_libtwolame_encoder = { AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_NONE }, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]) { - AV_CH_LAYOUT_MONO, - AV_CH_LAYOUT_STEREO, - 0 }, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO) .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, AV_CHANNEL_LAYOUT_STEREO, diff --git a/libavcodec/mlpenc.c b/libavcodec/mlpenc.c index a8b0486cf3..1bc8995c58 100644 --- a/libavcodec/mlpenc.c +++ b/libavcodec/mlpenc.c @@ -2252,9 +2252,7 @@ const FFCodec ff_mlp_encoder = { .close = mlp_encode_close, .p.sample_fmts = (const enum AVSampleFormat[]) {AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE}, .p.supported_samplerates = (const int[]) {44100, 48000, 88200, 96000, 176400, 192000, 0}, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = ff_mlp_channel_layouts, -#endif + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(ff_mlp_channel_layouts) .p.ch_layouts = ff_mlp_ch_layouts, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; @@ -2274,9 +2272,7 @@ const FFCodec ff_truehd_encoder = { .close = mlp_encode_close, .p.sample_fmts = (const enum AVSampleFormat[]) {AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE}, .p.supported_samplerates = (const int[]) {44100, 48000, 88200, 96000, 176400, 192000, 0}, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO, AV_CH_LAYOUT_5POINT0, AV_CH_LAYOUT_5POINT1, 0 }, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO, AV_CH_LAYOUT_5POINT0, AV_CH_LAYOUT_5POINT1) .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, AV_CHANNEL_LAYOUT_STEREO, diff --git a/libavcodec/mpegaudioenc_fixed.c b/libavcodec/mpegaudioenc_fixed.c index 3b2bcb3594..afbffe766b 100644 --- a/libavcodec/mpegaudioenc_fixed.c +++ b/libavcodec/mpegaudioenc_fixed.c @@ -37,11 +37,7 @@ const FFCodec ff_mp2fixed_encoder = { .p.supported_samplerates = (const int[]){ 44100, 48000, 32000, 22050, 24000, 16000, 0 }, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO, - AV_CH_LAYOUT_STEREO, - 0 }, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO) .p.ch_layouts = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO, AV_CHANNEL_LAYOUT_STEREO, { 0 } }, diff --git a/libavcodec/mpegaudioenc_float.c b/libavcodec/mpegaudioenc_float.c index 64b5bbda6e..212709c291 100644 --- a/libavcodec/mpegaudioenc_float.c +++ b/libavcodec/mpegaudioenc_float.c @@ -38,11 +38,7 @@ const FFCodec ff_mp2_encoder = { .p.supported_samplerates = (const int[]){ 44100, 48000, 32000, 22050, 24000, 16000, 0 }, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO, - AV_CH_LAYOUT_STEREO, - 0 }, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO) .p.ch_layouts = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO, AV_CHANNEL_LAYOUT_STEREO, { 0 } }, diff --git a/libavcodec/opusenc.c b/libavcodec/opusenc.c index a7a9d3a5f5..324fcd64a6 100644 --- a/libavcodec/opusenc.c +++ b/libavcodec/opusenc.c @@ -740,10 +740,7 @@ const FFCodec ff_opus_encoder = { .close = opus_encode_end, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.supported_samplerates = (const int []){ 48000, 0 }, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t []){ AV_CH_LAYOUT_MONO, - AV_CH_LAYOUT_STEREO, 0 }, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO) .p.ch_layouts = (const AVChannelLayout []){ AV_CHANNEL_LAYOUT_MONO, AV_CHANNEL_LAYOUT_STEREO, { 0 } }, .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP, diff --git a/libavcodec/pcm-blurayenc.c b/libavcodec/pcm-blurayenc.c index 03ed88b8ae..62e86e722f 100644 --- a/libavcodec/pcm-blurayenc.c +++ b/libavcodec/pcm-blurayenc.c @@ -279,8 +279,7 @@ const FFCodec ff_pcm_bluray_encoder = { .init = pcm_bluray_encode_init, FF_CODEC_ENCODE_CB(pcm_bluray_encode_frame), .p.supported_samplerates = (const int[]) { 48000, 96000, 192000, 0 }, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]) { + CODEC_OLD_CHANNEL_LAYOUTS( AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO, AV_CH_LAYOUT_SURROUND, @@ -290,9 +289,7 @@ const FFCodec ff_pcm_bluray_encoder = { AV_CH_LAYOUT_5POINT0, AV_CH_LAYOUT_5POINT1, AV_CH_LAYOUT_7POINT0, - AV_CH_LAYOUT_7POINT1, - 0 }, -#endif + AV_CH_LAYOUT_7POINT1) .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, AV_CHANNEL_LAYOUT_STEREO, diff --git a/libavcodec/pcm-dvdenc.c b/libavcodec/pcm-dvdenc.c index e9349680e8..011d0a2f00 100644 --- a/libavcodec/pcm-dvdenc.c +++ b/libavcodec/pcm-dvdenc.c @@ -181,13 +181,8 @@ const FFCodec ff_pcm_dvd_encoder = { .init = pcm_dvd_encode_init, FF_CODEC_ENCODE_CB(pcm_dvd_encode_frame), .p.supported_samplerates = (const int[]) { 48000, 96000, 0}, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, - AV_CH_LAYOUT_STEREO, - AV_CH_LAYOUT_5POINT1, - AV_CH_LAYOUT_7POINT1, - 0 }, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO, + AV_CH_LAYOUT_5POINT1, AV_CH_LAYOUT_7POINT1) .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, AV_CHANNEL_LAYOUT_STEREO, AV_CHANNEL_LAYOUT_5POINT1, diff --git a/libavcodec/ra144enc.c b/libavcodec/ra144enc.c index d9448e88c8..ea537f3f80 100644 --- a/libavcodec/ra144enc.c +++ b/libavcodec/ra144enc.c @@ -549,8 +549,6 @@ const FFCodec ff_ra_144_encoder = { .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE }, .p.supported_samplerates = (const int[]){ 8000, 0 }, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 }, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO) .p.ch_layouts = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO, { 0 } }, }; diff --git a/libavcodec/s302menc.c b/libavcodec/s302menc.c index ad59325ec4..3bd657f945 100644 --- a/libavcodec/s302menc.c +++ b/libavcodec/s302menc.c @@ -184,9 +184,4 @@ const FFCodec ff_s302m_encoder = { AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE }, .p.supported_samplerates = (const int[]) { 48000, 0 }, - /* .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, - AV_CH_LAYOUT_QUAD, - AV_CH_LAYOUT_5POINT1_BACK, - AV_CH_LAYOUT_5POINT1_BACK | AV_CH_LAYOUT_STEREO_DOWNMIX, - 0 }, */ }; diff --git a/libavcodec/sbcdec.c b/libavcodec/sbcdec.c index 51411eb16b..3fac2f5016 100644 --- a/libavcodec/sbcdec.c +++ b/libavcodec/sbcdec.c @@ -374,10 +374,7 @@ const FFCodec ff_sbc_decoder = { .init = sbc_decode_init, FF_CODEC_DECODE_CB(sbc_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, - AV_CH_LAYOUT_STEREO, 0}, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO) .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, AV_CHANNEL_LAYOUT_STEREO, { 0 } }, diff --git a/libavcodec/sbcenc.c b/libavcodec/sbcenc.c index d7e9fb4198..721c97e1ea 100644 --- a/libavcodec/sbcenc.c +++ b/libavcodec/sbcenc.c @@ -352,10 +352,7 @@ const FFCodec ff_sbc_encoder = { .priv_data_size = sizeof(SBCEncContext), .init = sbc_encode_init, FF_CODEC_ENCODE_CB(sbc_encode_frame), -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, - AV_CH_LAYOUT_STEREO, 0}, -#endif + CODEC_OLD_CHANNEL_LAYOUTS(AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO) .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, AV_CHANNEL_LAYOUT_STEREO, { 0 } }, diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c index 0d04e7c2c4..4a85500c10 100644 --- a/libavcodec/vorbisdec.c +++ b/libavcodec/vorbisdec.c @@ -1876,9 +1876,7 @@ const FFCodec ff_vorbis_decoder = { .flush = vorbis_decode_flush, .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, -#if FF_API_OLD_CHANNEL_LAYOUT - .p.channel_layouts = ff_vorbis_channel_layouts, -#endif + CODEC_OLD_CHANNEL_LAYOUTS_ARRAY(ff_vorbis_channel_layouts) .p.ch_layouts = ff_vorbis_ch_layouts, .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE },
AVCodec.channel_layouts is deprecated and Clang (unlike GCC) warns when setting this field in a codec definition. Fortunately, Clang (unlike GCC) allows to use FF_DISABLE_DEPRECATION_WARNINGS inside a definition (of an FFCodec), so that one can create simple macros to set AVCodec.channel_layouts that also suppress deprecation warnings for Clang. (Notice that some of the codec definitions were already inside FF_DISABLE/ENABLE_DEPRECATION_WARNINGS (that were not guarded by FF_API_OLD_CHANNEL_LAYOUT); these have been removed. Also notice that setting AVCodec.channel_layouts was not guarded by FF_API_OLD_CHANNEL_LAYOUT either, so testing disabling it it without removing all the codeblocks would not have worked.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- According to godbolt both of these assumptions about Clang are true for the oldest Clang version provided by godbolt (namely 3.0). Can someone test audiotoolboxenc just to be sure? libavcodec/aacdec.c | 8 ++------ libavcodec/aacdec_fixed.c | 4 +--- libavcodec/ac3enc_fixed.c | 6 +----- libavcodec/ac3enc_float.c | 6 +----- libavcodec/alacenc.c | 6 +----- libavcodec/aptxdec.c | 8 ++------ libavcodec/aptxenc.c | 8 ++------ libavcodec/audiotoolboxenc.c | 2 +- libavcodec/codec_internal.h | 19 +++++++++++++++++++ libavcodec/dcaenc.c | 11 +++-------- libavcodec/eac3enc.c | 6 +----- libavcodec/g722enc.c | 4 +--- libavcodec/libcodec2.c | 8 ++------ libavcodec/libfdk-aacenc.c | 4 +--- libavcodec/libgsmenc.c | 8 ++------ libavcodec/libmp3lame.c | 6 +----- libavcodec/libshine.c | 6 +----- libavcodec/libspeexenc.c | 6 +----- libavcodec/libtwolame.c | 7 +------ libavcodec/mlpenc.c | 8 ++------ libavcodec/mpegaudioenc_fixed.c | 6 +----- libavcodec/mpegaudioenc_float.c | 6 +----- libavcodec/opusenc.c | 5 +---- libavcodec/pcm-blurayenc.c | 7 ++----- libavcodec/pcm-dvdenc.c | 9 ++------- libavcodec/ra144enc.c | 4 +--- libavcodec/s302menc.c | 5 ----- libavcodec/sbcdec.c | 5 +---- libavcodec/sbcenc.c | 5 +---- libavcodec/vorbisdec.c | 4 +--- 30 files changed, 57 insertions(+), 140 deletions(-)