PR #21669 opened by mkver URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21669 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21669.patch
>From c94b556e8d952dba9e9e5e2af2e53faf72ebce04 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt <[email protected]> Date: Fri, 6 Feb 2026 16:33:11 +0100 Subject: [PATCH 1/4] avcodec/adpcm: Don't set AVCodec.sample_fmts It is unnecessary for a decoder (the sample fmt is set lateron during init and the user has no choice over this (even for the decoders where sample_fmts contains two entries). (This also fixes the ADPCM_DECODER macro: It's second and third parameters were called "name" and "sample_fmts", yet the second argument always contained the sample fmts.) Signed-off-by: Andreas Rheinhardt <[email protected]> --- libavcodec/adpcm.c | 139 +++++++++++++++++++++------------------------ 1 file changed, 65 insertions(+), 74 deletions(-) diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c index 31340af677..201ea3fbaa 100644 --- a/libavcodec/adpcm.c +++ b/libavcodec/adpcm.c @@ -2935,91 +2935,82 @@ static av_cold void adpcm_flush(AVCodecContext *avctx) } -static const enum AVSampleFormat sample_fmts_s16[] = { AV_SAMPLE_FMT_S16, - AV_SAMPLE_FMT_NONE }; -static const enum AVSampleFormat sample_fmts_s16p[] = { AV_SAMPLE_FMT_S16P, - AV_SAMPLE_FMT_NONE }; -static const enum AVSampleFormat sample_fmts_both[] = { AV_SAMPLE_FMT_S16, - AV_SAMPLE_FMT_S16P, - AV_SAMPLE_FMT_NONE }; - -#define ADPCM_DECODER_0(id_, sample_fmts_, name_, long_name_) -#define ADPCM_DECODER_1(id_, sample_fmts_, name_, long_name_) \ +#define ADPCM_DECODER_0(id_, name_, long_name_) +#define ADPCM_DECODER_1(id_, name_, long_name_) \ const FFCodec ff_ ## name_ ## _decoder = { \ .p.name = #name_, \ CODEC_LONG_NAME(long_name_), \ .p.type = AVMEDIA_TYPE_AUDIO, \ .p.id = id_, \ .p.capabilities = AV_CODEC_CAP_DR1, \ - CODEC_SAMPLEFMTS_ARRAY(sample_fmts_), \ .priv_data_size = sizeof(ADPCMDecodeContext), \ .init = adpcm_decode_init, \ FF_CODEC_DECODE_CB(adpcm_decode_frame), \ .flush = adpcm_flush, \ }; -#define ADPCM_DECODER_2(enabled, codec_id, name, sample_fmts, long_name) \ - ADPCM_DECODER_ ## enabled(codec_id, name, sample_fmts, long_name) -#define ADPCM_DECODER_3(config, codec_id, name, sample_fmts, long_name) \ - ADPCM_DECODER_2(config, codec_id, name, sample_fmts, long_name) -#define ADPCM_DECODER(codec, name, sample_fmts, long_name) \ +#define ADPCM_DECODER_2(enabled, codec_id, name, long_name) \ + ADPCM_DECODER_ ## enabled(codec_id, name, long_name) +#define ADPCM_DECODER_3(config, codec_id, name, long_name) \ + ADPCM_DECODER_2(config, codec_id, name, long_name) +#define ADPCM_DECODER(codec, name, long_name) \ ADPCM_DECODER_3(CONFIG_ ## codec ## _DECODER, AV_CODEC_ID_ ## codec, \ - name, sample_fmts, long_name) + name, long_name) /* Note: Do not forget to add new entries to the Makefile as well. */ -ADPCM_DECODER(ADPCM_4XM, sample_fmts_s16p, adpcm_4xm, "ADPCM 4X Movie") -ADPCM_DECODER(ADPCM_AFC, sample_fmts_s16p, adpcm_afc, "ADPCM Nintendo Gamecube AFC") -ADPCM_DECODER(ADPCM_AGM, sample_fmts_s16, adpcm_agm, "ADPCM AmuseGraphics Movie") -ADPCM_DECODER(ADPCM_AICA, sample_fmts_s16p, adpcm_aica, "ADPCM Yamaha AICA") -ADPCM_DECODER(ADPCM_ARGO, sample_fmts_s16p, adpcm_argo, "ADPCM Argonaut Games") -ADPCM_DECODER(ADPCM_CIRCUS, sample_fmts_s16, adpcm_circus, "ADPCM Circus") -ADPCM_DECODER(ADPCM_CT, sample_fmts_s16, adpcm_ct, "ADPCM Creative Technology") -ADPCM_DECODER(ADPCM_DTK, sample_fmts_s16p, adpcm_dtk, "ADPCM Nintendo Gamecube DTK") -ADPCM_DECODER(ADPCM_EA, sample_fmts_s16, adpcm_ea, "ADPCM Electronic Arts") -ADPCM_DECODER(ADPCM_EA_MAXIS_XA, sample_fmts_s16, adpcm_ea_maxis_xa, "ADPCM Electronic Arts Maxis CDROM XA") -ADPCM_DECODER(ADPCM_EA_R1, sample_fmts_s16p, adpcm_ea_r1, "ADPCM Electronic Arts R1") -ADPCM_DECODER(ADPCM_EA_R2, sample_fmts_s16p, adpcm_ea_r2, "ADPCM Electronic Arts R2") -ADPCM_DECODER(ADPCM_EA_R3, sample_fmts_s16p, adpcm_ea_r3, "ADPCM Electronic Arts R3") -ADPCM_DECODER(ADPCM_EA_XAS, sample_fmts_s16p, adpcm_ea_xas, "ADPCM Electronic Arts XAS") -ADPCM_DECODER(ADPCM_IMA_ACORN, sample_fmts_s16, adpcm_ima_acorn, "ADPCM IMA Acorn Replay") -ADPCM_DECODER(ADPCM_IMA_AMV, sample_fmts_s16, adpcm_ima_amv, "ADPCM IMA AMV") -ADPCM_DECODER(ADPCM_IMA_APC, sample_fmts_s16, adpcm_ima_apc, "ADPCM IMA CRYO APC") -ADPCM_DECODER(ADPCM_IMA_APM, sample_fmts_s16, adpcm_ima_apm, "ADPCM IMA Ubisoft APM") -ADPCM_DECODER(ADPCM_IMA_CUNNING, sample_fmts_s16p, adpcm_ima_cunning, "ADPCM IMA Cunning Developments") -ADPCM_DECODER(ADPCM_IMA_DAT4, sample_fmts_s16, adpcm_ima_dat4, "ADPCM IMA Eurocom DAT4") -ADPCM_DECODER(ADPCM_IMA_DK3, sample_fmts_s16, adpcm_ima_dk3, "ADPCM IMA Duck DK3") -ADPCM_DECODER(ADPCM_IMA_DK4, sample_fmts_s16, adpcm_ima_dk4, "ADPCM IMA Duck DK4") -ADPCM_DECODER(ADPCM_IMA_EA_EACS, sample_fmts_s16, adpcm_ima_ea_eacs, "ADPCM IMA Electronic Arts EACS") -ADPCM_DECODER(ADPCM_IMA_EA_SEAD, sample_fmts_s16, adpcm_ima_ea_sead, "ADPCM IMA Electronic Arts SEAD") -ADPCM_DECODER(ADPCM_IMA_ESCAPE, sample_fmts_s16, adpcm_ima_escape, "ADPCM IMA Acorn Escape") -ADPCM_DECODER(ADPCM_IMA_HVQM2, sample_fmts_s16, adpcm_ima_hvqm2, "ADPCM IMA HVQM2") -ADPCM_DECODER(ADPCM_IMA_HVQM4, sample_fmts_s16, adpcm_ima_hvqm4, "ADPCM IMA HVQM4") -ADPCM_DECODER(ADPCM_IMA_ISS, sample_fmts_s16, adpcm_ima_iss, "ADPCM IMA Funcom ISS") -ADPCM_DECODER(ADPCM_IMA_MAGIX, sample_fmts_s16, adpcm_ima_magix, "ADPCM IMA Magix") -ADPCM_DECODER(ADPCM_IMA_MOFLEX, sample_fmts_s16p, adpcm_ima_moflex, "ADPCM IMA MobiClip MOFLEX") -ADPCM_DECODER(ADPCM_IMA_MTF, sample_fmts_s16, adpcm_ima_mtf, "ADPCM IMA Capcom's MT Framework") -ADPCM_DECODER(ADPCM_IMA_OKI, sample_fmts_s16, adpcm_ima_oki, "ADPCM IMA Dialogic OKI") -ADPCM_DECODER(ADPCM_IMA_PDA, sample_fmts_s16, adpcm_ima_pda, "ADPCM IMA PlayDate") -ADPCM_DECODER(ADPCM_IMA_QT, sample_fmts_s16p, adpcm_ima_qt, "ADPCM IMA QuickTime") -ADPCM_DECODER(ADPCM_IMA_RAD, sample_fmts_s16, adpcm_ima_rad, "ADPCM IMA Radical") -ADPCM_DECODER(ADPCM_IMA_SSI, sample_fmts_s16, adpcm_ima_ssi, "ADPCM IMA Simon & Schuster Interactive") -ADPCM_DECODER(ADPCM_IMA_SMJPEG, sample_fmts_s16, adpcm_ima_smjpeg, "ADPCM IMA Loki SDL MJPEG") -ADPCM_DECODER(ADPCM_IMA_ALP, sample_fmts_s16, adpcm_ima_alp, "ADPCM IMA High Voltage Software ALP") -ADPCM_DECODER(ADPCM_IMA_WAV, sample_fmts_s16p, adpcm_ima_wav, "ADPCM IMA WAV") -ADPCM_DECODER(ADPCM_IMA_WS, sample_fmts_both, adpcm_ima_ws, "ADPCM IMA Westwood") -ADPCM_DECODER(ADPCM_IMA_XBOX, sample_fmts_s16p, adpcm_ima_xbox, "ADPCM IMA Xbox") -ADPCM_DECODER(ADPCM_MS, sample_fmts_both, adpcm_ms, "ADPCM Microsoft") -ADPCM_DECODER(ADPCM_MTAF, sample_fmts_s16p, adpcm_mtaf, "ADPCM MTAF") -ADPCM_DECODER(ADPCM_N64, sample_fmts_s16p, adpcm_n64, "ADPCM Silicon Graphics N64") -ADPCM_DECODER(ADPCM_PSX, sample_fmts_s16p, adpcm_psx, "ADPCM Playstation") -ADPCM_DECODER(ADPCM_PSXC, sample_fmts_s16p, adpcm_psxc, "ADPCM Playstation C") -ADPCM_DECODER(ADPCM_SANYO, sample_fmts_s16p, adpcm_sanyo, "ADPCM Sanyo") -ADPCM_DECODER(ADPCM_SBPRO_2, sample_fmts_s16, adpcm_sbpro_2, "ADPCM Sound Blaster Pro 2-bit") -ADPCM_DECODER(ADPCM_SBPRO_3, sample_fmts_s16, adpcm_sbpro_3, "ADPCM Sound Blaster Pro 2.6-bit") -ADPCM_DECODER(ADPCM_SBPRO_4, sample_fmts_s16, adpcm_sbpro_4, "ADPCM Sound Blaster Pro 4-bit") -ADPCM_DECODER(ADPCM_SWF, sample_fmts_s16, adpcm_swf, "ADPCM Shockwave Flash") -ADPCM_DECODER(ADPCM_THP_LE, sample_fmts_s16p, adpcm_thp_le, "ADPCM Nintendo THP (little-endian)") -ADPCM_DECODER(ADPCM_THP, sample_fmts_s16p, adpcm_thp, "ADPCM Nintendo THP") -ADPCM_DECODER(ADPCM_XA, sample_fmts_s16p, adpcm_xa, "ADPCM CDROM XA") -ADPCM_DECODER(ADPCM_XMD, sample_fmts_s16p, adpcm_xmd, "ADPCM Konami XMD") -ADPCM_DECODER(ADPCM_YAMAHA, sample_fmts_s16, adpcm_yamaha, "ADPCM Yamaha") -ADPCM_DECODER(ADPCM_ZORK, sample_fmts_s16, adpcm_zork, "ADPCM Zork") +ADPCM_DECODER(ADPCM_4XM, adpcm_4xm, "ADPCM 4X Movie") +ADPCM_DECODER(ADPCM_AFC, adpcm_afc, "ADPCM Nintendo Gamecube AFC") +ADPCM_DECODER(ADPCM_AGM, adpcm_agm, "ADPCM AmuseGraphics Movie") +ADPCM_DECODER(ADPCM_AICA, adpcm_aica, "ADPCM Yamaha AICA") +ADPCM_DECODER(ADPCM_ARGO, adpcm_argo, "ADPCM Argonaut Games") +ADPCM_DECODER(ADPCM_CIRCUS, adpcm_circus, "ADPCM Circus") +ADPCM_DECODER(ADPCM_CT, adpcm_ct, "ADPCM Creative Technology") +ADPCM_DECODER(ADPCM_DTK, adpcm_dtk, "ADPCM Nintendo Gamecube DTK") +ADPCM_DECODER(ADPCM_EA, adpcm_ea, "ADPCM Electronic Arts") +ADPCM_DECODER(ADPCM_EA_MAXIS_XA, adpcm_ea_maxis_xa, "ADPCM Electronic Arts Maxis CDROM XA") +ADPCM_DECODER(ADPCM_EA_R1, adpcm_ea_r1, "ADPCM Electronic Arts R1") +ADPCM_DECODER(ADPCM_EA_R2, adpcm_ea_r2, "ADPCM Electronic Arts R2") +ADPCM_DECODER(ADPCM_EA_R3, adpcm_ea_r3, "ADPCM Electronic Arts R3") +ADPCM_DECODER(ADPCM_EA_XAS, adpcm_ea_xas, "ADPCM Electronic Arts XAS") +ADPCM_DECODER(ADPCM_IMA_ACORN, adpcm_ima_acorn, "ADPCM IMA Acorn Replay") +ADPCM_DECODER(ADPCM_IMA_AMV, adpcm_ima_amv, "ADPCM IMA AMV") +ADPCM_DECODER(ADPCM_IMA_APC, adpcm_ima_apc, "ADPCM IMA CRYO APC") +ADPCM_DECODER(ADPCM_IMA_APM, adpcm_ima_apm, "ADPCM IMA Ubisoft APM") +ADPCM_DECODER(ADPCM_IMA_CUNNING, adpcm_ima_cunning, "ADPCM IMA Cunning Developments") +ADPCM_DECODER(ADPCM_IMA_DAT4, adpcm_ima_dat4, "ADPCM IMA Eurocom DAT4") +ADPCM_DECODER(ADPCM_IMA_DK3, adpcm_ima_dk3, "ADPCM IMA Duck DK3") +ADPCM_DECODER(ADPCM_IMA_DK4, adpcm_ima_dk4, "ADPCM IMA Duck DK4") +ADPCM_DECODER(ADPCM_IMA_EA_EACS, adpcm_ima_ea_eacs, "ADPCM IMA Electronic Arts EACS") +ADPCM_DECODER(ADPCM_IMA_EA_SEAD, adpcm_ima_ea_sead, "ADPCM IMA Electronic Arts SEAD") +ADPCM_DECODER(ADPCM_IMA_ESCAPE, adpcm_ima_escape, "ADPCM IMA Acorn Escape") +ADPCM_DECODER(ADPCM_IMA_HVQM2, adpcm_ima_hvqm2, "ADPCM IMA HVQM2") +ADPCM_DECODER(ADPCM_IMA_HVQM4, adpcm_ima_hvqm4, "ADPCM IMA HVQM4") +ADPCM_DECODER(ADPCM_IMA_ISS, adpcm_ima_iss, "ADPCM IMA Funcom ISS") +ADPCM_DECODER(ADPCM_IMA_MAGIX, adpcm_ima_magix, "ADPCM IMA Magix") +ADPCM_DECODER(ADPCM_IMA_MOFLEX, adpcm_ima_moflex, "ADPCM IMA MobiClip MOFLEX") +ADPCM_DECODER(ADPCM_IMA_MTF, adpcm_ima_mtf, "ADPCM IMA Capcom's MT Framework") +ADPCM_DECODER(ADPCM_IMA_OKI, adpcm_ima_oki, "ADPCM IMA Dialogic OKI") +ADPCM_DECODER(ADPCM_IMA_PDA, adpcm_ima_pda, "ADPCM IMA PlayDate") +ADPCM_DECODER(ADPCM_IMA_QT, adpcm_ima_qt, "ADPCM IMA QuickTime") +ADPCM_DECODER(ADPCM_IMA_RAD, adpcm_ima_rad, "ADPCM IMA Radical") +ADPCM_DECODER(ADPCM_IMA_SSI, adpcm_ima_ssi, "ADPCM IMA Simon & Schuster Interactive") +ADPCM_DECODER(ADPCM_IMA_SMJPEG, adpcm_ima_smjpeg, "ADPCM IMA Loki SDL MJPEG") +ADPCM_DECODER(ADPCM_IMA_ALP, adpcm_ima_alp, "ADPCM IMA High Voltage Software ALP") +ADPCM_DECODER(ADPCM_IMA_WAV, adpcm_ima_wav, "ADPCM IMA WAV") +ADPCM_DECODER(ADPCM_IMA_WS, adpcm_ima_ws, "ADPCM IMA Westwood") +ADPCM_DECODER(ADPCM_IMA_XBOX, adpcm_ima_xbox, "ADPCM IMA Xbox") +ADPCM_DECODER(ADPCM_MS, adpcm_ms, "ADPCM Microsoft") +ADPCM_DECODER(ADPCM_MTAF, adpcm_mtaf, "ADPCM MTAF") +ADPCM_DECODER(ADPCM_N64, adpcm_n64, "ADPCM Silicon Graphics N64") +ADPCM_DECODER(ADPCM_PSX, adpcm_psx, "ADPCM Playstation") +ADPCM_DECODER(ADPCM_PSXC, adpcm_psxc, "ADPCM Playstation C") +ADPCM_DECODER(ADPCM_SANYO, adpcm_sanyo, "ADPCM Sanyo") +ADPCM_DECODER(ADPCM_SBPRO_2, adpcm_sbpro_2, "ADPCM Sound Blaster Pro 2-bit") +ADPCM_DECODER(ADPCM_SBPRO_3, adpcm_sbpro_3, "ADPCM Sound Blaster Pro 2.6-bit") +ADPCM_DECODER(ADPCM_SBPRO_4, adpcm_sbpro_4, "ADPCM Sound Blaster Pro 4-bit") +ADPCM_DECODER(ADPCM_SWF, adpcm_swf, "ADPCM Shockwave Flash") +ADPCM_DECODER(ADPCM_THP_LE, adpcm_thp_le, "ADPCM Nintendo THP (little-endian)") +ADPCM_DECODER(ADPCM_THP, adpcm_thp, "ADPCM Nintendo THP") +ADPCM_DECODER(ADPCM_XA, adpcm_xa, "ADPCM CDROM XA") +ADPCM_DECODER(ADPCM_XMD, adpcm_xmd, "ADPCM Konami XMD") +ADPCM_DECODER(ADPCM_YAMAHA, adpcm_yamaha, "ADPCM Yamaha") +ADPCM_DECODER(ADPCM_ZORK, adpcm_zork, "ADPCM Zork") -- 2.52.0 >From 4474c1c6e090739fdd622c52c364a588ec8a0d2d Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt <[email protected]> Date: Fri, 6 Feb 2026 22:48:49 +0100 Subject: [PATCH 2/4] avcodec/sbcdec: Don't set encoder-only fields ch_layouts, sample_fmts and supported_samplerates are of no use for a decoder, so don't set them. In this case this fixes an inconsistency: ch_layouts contained mono and stereo, yet lateron the AVCodecContext's ch_layout is always populated with an AV_CHANNEL_ORDER_UNSPEC layout. Signed-off-by: Andreas Rheinhardt <[email protected]> --- libavcodec/sbcdec.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/libavcodec/sbcdec.c b/libavcodec/sbcdec.c index d39319966c..d999cefd22 100644 --- a/libavcodec/sbcdec.c +++ b/libavcodec/sbcdec.c @@ -371,7 +371,4 @@ 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, - CODEC_CH_LAYOUTS(AV_CHANNEL_LAYOUT_MONO, AV_CHANNEL_LAYOUT_STEREO), - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_S16P), - CODEC_SAMPLERATES(16000, 32000, 44100, 48000), }; -- 2.52.0 >From 7962f3010bdbe200657aaf4dfa54c9efd3713990 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt <[email protected]> Date: Fri, 6 Feb 2026 23:16:29 +0100 Subject: [PATCH 3/4] avcodec: Don't set AVCodec.sample_fmts,ch_layouts for decoders It is pointless for them given that these values will be overridden by the decoder lateron anyway. The only exceptions to this are scenarios where the decoder actually checks request_sample_fmt or where there are both fixed- and floating point decoders. (IMO something like get_format() for audio would be better for both cases.) Signed-off-by: Andreas Rheinhardt <[email protected]> --- libavcodec/8svx.c | 2 -- libavcodec/adxdec.c | 1 - libavcodec/amrnbdec.c | 1 - libavcodec/amrwbdec.c | 1 - libavcodec/apac.c | 1 - libavcodec/apedec.c | 1 - libavcodec/atrac1.c | 1 - libavcodec/atrac3.c | 2 -- libavcodec/bonk.c | 1 - libavcodec/cngdec.c | 1 - libavcodec/cook.c | 1 - libavcodec/dcadec.c | 1 - libavcodec/dolby_e.c | 1 - libavcodec/dsddec.c | 1 - libavcodec/dstdec.c | 1 - libavcodec/fastaudio.c | 1 - libavcodec/hcadec.c | 1 - libavcodec/imc.c | 2 -- libavcodec/libcodec2.c | 3 --- libavcodec/mace.c | 2 -- libavcodec/metasound.c | 1 - libavcodec/misc4.c | 1 - libavcodec/mpc7.c | 1 - libavcodec/mpc8.c | 1 - libavcodec/nellymoserdec.c | 1 - libavcodec/on2avc.c | 1 - libavcodec/osq.c | 1 - libavcodec/pcm-bluray.c | 1 - libavcodec/pcm-dvd.c | 1 - libavcodec/qoadec.c | 1 - libavcodec/ralf.c | 1 - libavcodec/shorten.c | 1 - libavcodec/takdec.c | 1 - libavcodec/twinvqdec.c | 1 - libavcodec/vorbisdec.c | 2 -- libavcodec/wmadec.c | 2 -- libavcodec/wmalosslessdec.c | 1 - libavcodec/wmaprodec.c | 3 --- 38 files changed, 48 deletions(-) diff --git a/libavcodec/8svx.c b/libavcodec/8svx.c index 18203ee69e..6afc2f727c 100644 --- a/libavcodec/8svx.c +++ b/libavcodec/8svx.c @@ -198,7 +198,6 @@ const FFCodec ff_eightsvx_fib_decoder = { FF_CODEC_DECODE_CB(eightsvx_decode_frame), .close = eightsvx_decode_close, .p.capabilities = AV_CODEC_CAP_DR1, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_U8P), }; #endif #if CONFIG_EIGHTSVX_EXP_DECODER @@ -212,6 +211,5 @@ const FFCodec ff_eightsvx_exp_decoder = { FF_CODEC_DECODE_CB(eightsvx_decode_frame), .close = eightsvx_decode_close, .p.capabilities = AV_CODEC_CAP_DR1, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_U8P), }; #endif diff --git a/libavcodec/adxdec.c b/libavcodec/adxdec.c index 49c2e25182..019fc1a90d 100644 --- a/libavcodec/adxdec.c +++ b/libavcodec/adxdec.c @@ -265,5 +265,4 @@ const FFCodec ff_adpcm_adx_decoder = { .flush = adx_decode_flush, .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_S16P), }; diff --git a/libavcodec/amrnbdec.c b/libavcodec/amrnbdec.c index 822dc1297b..b8e340684b 100644 --- a/libavcodec/amrnbdec.c +++ b/libavcodec/amrnbdec.c @@ -1104,5 +1104,4 @@ const FFCodec ff_amrnb_decoder = { .init = amrnb_decode_init, FF_CODEC_DECODE_CB(amrnb_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), }; diff --git a/libavcodec/amrwbdec.c b/libavcodec/amrwbdec.c index 91fb870a64..3557b4709d 100644 --- a/libavcodec/amrwbdec.c +++ b/libavcodec/amrwbdec.c @@ -1308,5 +1308,4 @@ const FFCodec ff_amrwb_decoder = { .init = amrwb_decode_init, FF_CODEC_DECODE_CB(amrwb_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), }; diff --git a/libavcodec/apac.c b/libavcodec/apac.c index a092b1e372..00e48e7635 100644 --- a/libavcodec/apac.c +++ b/libavcodec/apac.c @@ -271,5 +271,4 @@ const FFCodec ff_apac_decoder = { .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_U8P, AV_SAMPLE_FMT_S16P), }; diff --git a/libavcodec/apedec.c b/libavcodec/apedec.c index 58f5355b58..9a184f9807 100644 --- a/libavcodec/apedec.c +++ b/libavcodec/apedec.c @@ -1764,6 +1764,5 @@ const FFCodec ff_ape_decoder = { AV_CODEC_CAP_DR1, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .flush = ape_flush, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_U8P, AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_S32P), .p.priv_class = &ape_decoder_class, }; diff --git a/libavcodec/atrac1.c b/libavcodec/atrac1.c index b708c31897..2625b8f87d 100644 --- a/libavcodec/atrac1.c +++ b/libavcodec/atrac1.c @@ -399,6 +399,5 @@ const FFCodec ff_atrac1_decoder = { .close = atrac1_decode_end, FF_CODEC_DECODE_CB(atrac1_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/atrac3.c b/libavcodec/atrac3.c index d91bdc79ac..7f362f453d 100644 --- a/libavcodec/atrac3.c +++ b/libavcodec/atrac3.c @@ -1028,7 +1028,6 @@ const FFCodec ff_atrac3_decoder = { .close = atrac3_decode_close, FF_CODEC_DECODE_CB(atrac3_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; @@ -1042,6 +1041,5 @@ const FFCodec ff_atrac3al_decoder = { .close = atrac3_decode_close, FF_CODEC_DECODE_CB(atrac3al_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/bonk.c b/libavcodec/bonk.c index 99098ef2b0..67eb8d6a14 100644 --- a/libavcodec/bonk.c +++ b/libavcodec/bonk.c @@ -429,5 +429,4 @@ const FFCodec ff_bonk_decoder = { .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_S16P), }; diff --git a/libavcodec/cngdec.c b/libavcodec/cngdec.c index e65f0f084e..eb37c33eb4 100644 --- a/libavcodec/cngdec.c +++ b/libavcodec/cngdec.c @@ -173,7 +173,6 @@ const FFCodec ff_comfortnoise_decoder = { FF_CODEC_DECODE_CB(cng_decode_frame), .flush = cng_decode_flush, .close = cng_decode_close, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_S16), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/cook.c b/libavcodec/cook.c index f627967ffb..cc6005d3ff 100644 --- a/libavcodec/cook.c +++ b/libavcodec/cook.c @@ -1308,6 +1308,5 @@ const FFCodec ff_cook_decoder = { .close = cook_decode_close, FF_CODEC_DECODE_CB(cook_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/dcadec.c b/libavcodec/dcadec.c index 4572cf4490..0d7bf1c53c 100644 --- a/libavcodec/dcadec.c +++ b/libavcodec/dcadec.c @@ -416,7 +416,6 @@ const FFCodec ff_dca_decoder = { .close = dcadec_close, .flush = dcadec_flush, .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_S32P, AV_SAMPLE_FMT_FLTP), .p.priv_class = &dcadec_class, .p.profiles = NULL_IF_CONFIG_SMALL(ff_dca_profiles), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, diff --git a/libavcodec/dolby_e.c b/libavcodec/dolby_e.c index bbcb747c06..2d32ac2832 100644 --- a/libavcodec/dolby_e.c +++ b/libavcodec/dolby_e.c @@ -1310,6 +1310,5 @@ const FFCodec ff_dolby_e_decoder = { .close = dolby_e_close, .flush = dolby_e_flush, .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/dsddec.c b/libavcodec/dsddec.c index aa8577d667..2d337a7d04 100644 --- a/libavcodec/dsddec.c +++ b/libavcodec/dsddec.c @@ -126,7 +126,6 @@ const FFCodec ff_ ## name_ ## _decoder = { \ .init = decode_init, \ FF_CODEC_DECODE_CB(decode_frame), \ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS, \ - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), \ }; DSD_DECODER(DSD_LSBF, dsd_lsbf, "DSD (Direct Stream Digital), least significant bit first") diff --git a/libavcodec/dstdec.c b/libavcodec/dstdec.c index cfb34b7b3c..d747670141 100644 --- a/libavcodec/dstdec.c +++ b/libavcodec/dstdec.c @@ -392,5 +392,4 @@ const FFCodec ff_dst_decoder = { .init = decode_init, FF_CODEC_DECODE_CB(decode_frame), .p.capabilities = AV_CODEC_CAP_DR1, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLT), }; diff --git a/libavcodec/fastaudio.c b/libavcodec/fastaudio.c index ee31a06f18..d361b410b9 100644 --- a/libavcodec/fastaudio.c +++ b/libavcodec/fastaudio.c @@ -196,5 +196,4 @@ const FFCodec ff_fastaudio_decoder = { FF_CODEC_DECODE_CB(fastaudio_decode), .close = fastaudio_close, .p.capabilities = AV_CODEC_CAP_DR1, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), }; diff --git a/libavcodec/hcadec.c b/libavcodec/hcadec.c index 7780372cf3..2eac70b60f 100644 --- a/libavcodec/hcadec.c +++ b/libavcodec/hcadec.c @@ -635,5 +635,4 @@ const FFCodec ff_hca_decoder = { .close = decode_close, .p.capabilities = AV_CODEC_CAP_DR1, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), }; diff --git a/libavcodec/imc.c b/libavcodec/imc.c index 2e4a74f46f..fa02fd5d8a 100644 --- a/libavcodec/imc.c +++ b/libavcodec/imc.c @@ -1033,7 +1033,6 @@ const FFCodec ff_imc_decoder = { FF_CODEC_DECODE_CB(imc_decode_frame), .flush = flush, .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; #endif @@ -1049,7 +1048,6 @@ const FFCodec ff_iac_decoder = { FF_CODEC_DECODE_CB(imc_decode_frame), .flush = flush, .p.capabilities = AV_CODEC_CAP_DR1, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; #endif diff --git a/libavcodec/libcodec2.c b/libavcodec/libcodec2.c index b0ba01bcb4..4e82b9711d 100644 --- a/libavcodec/libcodec2.c +++ b/libavcodec/libcodec2.c @@ -182,9 +182,6 @@ const FFCodec ff_libcodec2_decoder = { .p.type = AVMEDIA_TYPE_AUDIO, .p.id = AV_CODEC_ID_CODEC2, .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF, - CODEC_SAMPLERATES(8000), - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_S16), - CODEC_CH_LAYOUTS(AV_CHANNEL_LAYOUT_MONO), .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE, .priv_data_size = sizeof(LibCodec2Context), .init = libcodec2_init_decoder, diff --git a/libavcodec/mace.c b/libavcodec/mace.c index 2aa54fb548..299e5f5cfe 100644 --- a/libavcodec/mace.c +++ b/libavcodec/mace.c @@ -293,7 +293,6 @@ const FFCodec ff_mace3_decoder = { .init = mace_decode_init, FF_CODEC_DECODE_CB(mace_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_S16P), }; const FFCodec ff_mace6_decoder = { @@ -305,5 +304,4 @@ const FFCodec ff_mace6_decoder = { .init = mace_decode_init, FF_CODEC_DECODE_CB(mace_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_S16P), }; diff --git a/libavcodec/metasound.c b/libavcodec/metasound.c index 0ea9088e8d..0cca237c1c 100644 --- a/libavcodec/metasound.c +++ b/libavcodec/metasound.c @@ -374,6 +374,5 @@ const FFCodec ff_metasound_decoder = { .close = ff_twinvq_decode_close, FF_CODEC_DECODE_CB(ff_twinvq_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/misc4.c b/libavcodec/misc4.c index ba79b95efe..d92c671d1d 100644 --- a/libavcodec/misc4.c +++ b/libavcodec/misc4.c @@ -181,5 +181,4 @@ const FFCodec ff_misc4_decoder = { FF_CODEC_DECODE_CB(misc4_decode), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_S16), }; diff --git a/libavcodec/mpc7.c b/libavcodec/mpc7.c index 98ef1732cf..b95cec1f0f 100644 --- a/libavcodec/mpc7.c +++ b/libavcodec/mpc7.c @@ -324,5 +324,4 @@ const FFCodec ff_mpc7_decoder = { FF_CODEC_DECODE_CB(mpc7_decode_frame), .flush = mpc7_decode_flush, .p.capabilities = AV_CODEC_CAP_DR1, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_S16P), }; diff --git a/libavcodec/mpc8.c b/libavcodec/mpc8.c index df23ef3701..aad9f9f173 100644 --- a/libavcodec/mpc8.c +++ b/libavcodec/mpc8.c @@ -399,5 +399,4 @@ const FFCodec ff_mpc8_decoder = { FF_CODEC_DECODE_CB(mpc8_decode_frame), .flush = mpc8_decode_flush, .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_S16P), }; diff --git a/libavcodec/nellymoserdec.c b/libavcodec/nellymoserdec.c index bfde5bba26..36477173ff 100644 --- a/libavcodec/nellymoserdec.c +++ b/libavcodec/nellymoserdec.c @@ -202,5 +202,4 @@ const FFCodec ff_nellymoser_decoder = { .close = decode_end, FF_CODEC_DECODE_CB(decode_tag), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_PARAM_CHANGE | AV_CODEC_CAP_CHANNEL_CONF, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLT), }; diff --git a/libavcodec/on2avc.c b/libavcodec/on2avc.c index 57bd5fd6d6..0a912cc30b 100644 --- a/libavcodec/on2avc.c +++ b/libavcodec/on2avc.c @@ -1023,5 +1023,4 @@ const FFCodec ff_on2avc_decoder = { .close = on2avc_decode_close, .p.capabilities = AV_CODEC_CAP_DR1, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), }; diff --git a/libavcodec/osq.c b/libavcodec/osq.c index 2845c59118..512581e0a4 100644 --- a/libavcodec/osq.c +++ b/libavcodec/osq.c @@ -495,6 +495,5 @@ const FFCodec ff_osq_decoder = { .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_U8P, AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_S32P), .flush = osq_flush, }; diff --git a/libavcodec/pcm-bluray.c b/libavcodec/pcm-bluray.c index e3f83e0b0f..194224c67e 100644 --- a/libavcodec/pcm-bluray.c +++ b/libavcodec/pcm-bluray.c @@ -307,5 +307,4 @@ const FFCodec ff_pcm_bluray_decoder = { .p.id = AV_CODEC_ID_PCM_BLURAY, FF_CODEC_DECODE_CB(pcm_bluray_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32), }; diff --git a/libavcodec/pcm-dvd.c b/libavcodec/pcm-dvd.c index 06389a21af..b3f0624b5b 100644 --- a/libavcodec/pcm-dvd.c +++ b/libavcodec/pcm-dvd.c @@ -305,5 +305,4 @@ const FFCodec ff_pcm_dvd_decoder = { FF_CODEC_DECODE_CB(pcm_dvd_decode_frame), .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32), }; diff --git a/libavcodec/qoadec.c b/libavcodec/qoadec.c index 770bbe4706..aa3e30a1b8 100644 --- a/libavcodec/qoadec.c +++ b/libavcodec/qoadec.c @@ -165,5 +165,4 @@ const FFCodec ff_qoa_decoder = { FF_CODEC_DECODE_CB(qoa_decode_frame), .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_S16), }; diff --git a/libavcodec/ralf.c b/libavcodec/ralf.c index 98e869db1f..7d9037ceaa 100644 --- a/libavcodec/ralf.c +++ b/libavcodec/ralf.c @@ -523,6 +523,5 @@ const FFCodec ff_ralf_decoder = { .flush = decode_flush, .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_S16P), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/shorten.c b/libavcodec/shorten.c index bed9293680..c0325a81f8 100644 --- a/libavcodec/shorten.c +++ b/libavcodec/shorten.c @@ -817,5 +817,4 @@ const FFCodec ff_shorten_decoder = { .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_U8P), }; diff --git a/libavcodec/takdec.c b/libavcodec/takdec.c index 1e6e6caebd..42a43e8695 100644 --- a/libavcodec/takdec.c +++ b/libavcodec/takdec.c @@ -953,5 +953,4 @@ const FFCodec ff_tak_decoder = { FF_CODEC_DECODE_CB(tak_decode_frame), UPDATE_THREAD_CONTEXT(update_thread_context), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_CHANNEL_CONF, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_U8P, AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_S32P), }; diff --git a/libavcodec/twinvqdec.c b/libavcodec/twinvqdec.c index 983a47a65b..180704c932 100644 --- a/libavcodec/twinvqdec.c +++ b/libavcodec/twinvqdec.c @@ -423,6 +423,5 @@ const FFCodec ff_twinvq_decoder = { .close = ff_twinvq_decode_close, FF_CODEC_DECODE_CB(ff_twinvq_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c index 60a83f394f..aff95f44a9 100644 --- a/libavcodec/vorbisdec.c +++ b/libavcodec/vorbisdec.c @@ -1896,6 +1896,4 @@ 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, - CODEC_CH_LAYOUTS_ARRAY(ff_vorbis_ch_layouts), - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), }; diff --git a/libavcodec/wmadec.c b/libavcodec/wmadec.c index 78ea25e109..d0607b8305 100644 --- a/libavcodec/wmadec.c +++ b/libavcodec/wmadec.c @@ -1023,7 +1023,6 @@ const FFCodec ff_wmav1_decoder = { FF_CODEC_DECODE_CB(wma_decode_superframe), .flush = flush, .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; #endif @@ -1039,7 +1038,6 @@ const FFCodec ff_wmav2_decoder = { FF_CODEC_DECODE_CB(wma_decode_superframe), .flush = flush, .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; #endif diff --git a/libavcodec/wmalosslessdec.c b/libavcodec/wmalosslessdec.c index a3385f9b25..72d2f31751 100644 --- a/libavcodec/wmalosslessdec.c +++ b/libavcodec/wmalosslessdec.c @@ -1337,5 +1337,4 @@ const FFCodec ff_wmalossless_decoder = { .flush = flush, .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_S32P), }; diff --git a/libavcodec/wmaprodec.c b/libavcodec/wmaprodec.c index b15bf31ccc..dd33c56e54 100644 --- a/libavcodec/wmaprodec.c +++ b/libavcodec/wmaprodec.c @@ -2097,7 +2097,6 @@ const FFCodec ff_wmapro_decoder = { FF_CODEC_DECODE_CB(wmapro_decode_packet), .p.capabilities = AV_CODEC_CAP_DR1, .flush = wmapro_flush, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; @@ -2112,7 +2111,6 @@ const FFCodec ff_xma1_decoder = { FF_CODEC_DECODE_CB(xma_decode_packet), .flush = xma_flush, .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; @@ -2127,6 +2125,5 @@ const FFCodec ff_xma2_decoder = { FF_CODEC_DECODE_CB(xma_decode_packet), .flush = xma_flush, .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY, - CODEC_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; -- 2.52.0 >From cfbc2d40c11c3ebea7e77eb36f57b2cb38f12db7 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt <[email protected]> Date: Fri, 6 Feb 2026 23:28:12 +0100 Subject: [PATCH 4/4] avcodec/libcodec2: Remove always-false checks Already checked via CODEC_SAMPLERATES and CODEC_SAMPLEFMTS. Signed-off-by: Andreas Rheinhardt <[email protected]> --- libavcodec/libcodec2.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/libavcodec/libcodec2.c b/libavcodec/libcodec2.c index 4e82b9711d..8895865721 100644 --- a/libavcodec/libcodec2.c +++ b/libavcodec/libcodec2.c @@ -104,13 +104,6 @@ static av_cold int libcodec2_init_encoder(AVCodecContext *avctx) { LibCodec2Context *c2 = avctx->priv_data; - //will need to be smarter once we get wideband support - if (avctx->sample_rate != 8000 || - avctx->sample_fmt != AV_SAMPLE_FMT_S16) { - av_log(avctx, AV_LOG_ERROR, "only 8 kHz 16-bit mono allowed\n"); - return AVERROR(EINVAL); - } - avctx->extradata = av_mallocz(CODEC2_EXTRADATA_SIZE + AV_INPUT_BUFFER_PADDING_SIZE); if (!avctx->extradata) { return AVERROR(ENOMEM); -- 2.52.0 _______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
