[FFmpeg-devel] [PATCH 2/2] avcodec: remove sonic lossy/lossless audio

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Wed Feb 28 15:23:46 EET 2024


J. Dekker:
> This was an experimental/research codec of which ffmpeg is the only
> encoder and decoder, development has stalled and these files don't exist
> in the wild.
> 
> Signed-off-by: J. Dekker <jdek at itanimul.li>
> ---
>  Changelog               |    1 +
>  configure               |    3 -
>  libavcodec/Makefile     |    3 -
>  libavcodec/allcodecs.c  |    3 -
>  libavcodec/codec_desc.c |   14 -
>  libavcodec/sonic.c      | 1125 ---------------------------------------
>  6 files changed, 1 insertion(+), 1148 deletions(-)
>  delete mode 100644 libavcodec/sonic.c
> 
> diff --git a/Changelog b/Changelog
> index 610ee61dd6..e2096f249a 100644
> --- a/Changelog
> +++ b/Changelog
> @@ -27,6 +27,7 @@ version <next>:
>  - a C11-compliant compiler is now required; note that this requirement
>    will be bumped to C17 in the near future, so consider updating your
>    build environment if it lacks C17 support
> +- sonic lossy/lossless audio codec removed
>  
>  version 6.1:
>  - libaribcaption decoder
> diff --git a/configure b/configure
> index bb5e630bad..e639a5e2b7 100755
> --- a/configure
> +++ b/configure
> @@ -2991,9 +2991,6 @@ sipr_decoder_select="lsp"
>  smvjpeg_decoder_select="mjpeg_decoder"
>  snow_decoder_select="dwt h264qpel rangecoder videodsp"
>  snow_encoder_select="dwt h264qpel hpeldsp me_cmp mpegvideoenc rangecoder videodsp"
> -sonic_decoder_select="golomb rangecoder"
> -sonic_encoder_select="golomb rangecoder"
> -sonic_ls_encoder_select="golomb rangecoder"
>  sp5x_decoder_select="mjpeg_decoder"
>  speedhq_decoder_select="blockdsp idctdsp"
>  speedhq_encoder_select="mpegvideoenc"
> diff --git a/libavcodec/Makefile b/libavcodec/Makefile
> index 09ae5270b3..3fc716ee68 100644
> --- a/libavcodec/Makefile
> +++ b/libavcodec/Makefile
> @@ -687,9 +687,6 @@ OBJS-$(CONFIG_SNOW_DECODER)            += snowdec.o snow.o snow_dwt.o
>  OBJS-$(CONFIG_SNOW_ENCODER)            += snowenc.o snow.o snow_dwt.o             \
>                                            h263.o h263data.o ituh263enc.o
>  OBJS-$(CONFIG_SOL_DPCM_DECODER)        += dpcm.o
> -OBJS-$(CONFIG_SONIC_DECODER)           += sonic.o
> -OBJS-$(CONFIG_SONIC_ENCODER)           += sonic.o
> -OBJS-$(CONFIG_SONIC_LS_ENCODER)        += sonic.o
>  OBJS-$(CONFIG_SPEEDHQ_DECODER)         += speedhqdec.o speedhq.o mpeg12.o \
>                                            mpeg12data.o
>  OBJS-$(CONFIG_SPEEDHQ_ENCODER)         += speedhq.o mpeg12data.o mpeg12enc.o speedhqenc.o
> diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
> index ef8c3a6d7d..e0a4a5421d 100644
> --- a/libavcodec/allcodecs.c
> +++ b/libavcodec/allcodecs.c
> @@ -535,9 +535,6 @@ extern const FFCodec ff_shorten_decoder;
>  extern const FFCodec ff_sipr_decoder;
>  extern const FFCodec ff_siren_decoder;
>  extern const FFCodec ff_smackaud_decoder;
> -extern const FFCodec ff_sonic_encoder;
> -extern const FFCodec ff_sonic_decoder;
> -extern const FFCodec ff_sonic_ls_encoder;
>  extern const FFCodec ff_tak_decoder;
>  extern const FFCodec ff_truehd_encoder;
>  extern const FFCodec ff_truehd_decoder;
> diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c
> index 033344304c..9b456616be 100644
> --- a/libavcodec/codec_desc.c
> +++ b/libavcodec/codec_desc.c
> @@ -3175,20 +3175,6 @@ static const AVCodecDescriptor codec_descriptors[] = {
>          .long_name = NULL_IF_CONFIG_SMALL("Wave synthesis pseudo-codec"),
>          .props     = AV_CODEC_PROP_INTRA_ONLY,
>      },
> -    {
> -        .id        = AV_CODEC_ID_SONIC,
> -        .type      = AVMEDIA_TYPE_AUDIO,
> -        .name      = "sonic",
> -        .long_name = NULL_IF_CONFIG_SMALL("Sonic"),
> -        .props     = AV_CODEC_PROP_INTRA_ONLY,
> -    },
> -    {
> -        .id        = AV_CODEC_ID_SONIC_LS,
> -        .type      = AVMEDIA_TYPE_AUDIO,
> -        .name      = "sonicls",
> -        .long_name = NULL_IF_CONFIG_SMALL("Sonic lossless"),
> -        .props     = AV_CODEC_PROP_INTRA_ONLY,
> -    },
>      {
>          .id        = AV_CODEC_ID_EVRC,
>          .type      = AVMEDIA_TYPE_AUDIO,

You can't remove the codec descriptors as long as the codec id exists
(every codec id should have a codec descriptor, even if there is no codec).
Should the codec id be deprecated, too?

- Andreas



More information about the ffmpeg-devel mailing list