diff mbox series

[FFmpeg-devel] avcodec: deprecate sonic

Message ID 20240229124706.524355-1-jdek@itanimul.li
State New
Headers show
Series [FFmpeg-devel] avcodec: deprecate sonic | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

J. Dekker Feb. 29, 2024, 12:47 p.m. UTC
This is an experimental and research codec of which ffmpeg is the only
encoder and decoder, development has stalled since 2013 and these files
don't exist in the wild.

Deprecate the encoders to be removed next major bump, decoders to be
removed one bump afterwards. We also disable the the encoders by default
in configure, the decoders should be disabled by default next bump.

Signed-off-by: J. Dekker <jdek@itanimul.li>
---

 Since this codec was added in 2004, there has only been one major
 non-maintenance, non-bugfix commit in 2013 (6026a5ad4f). That's 1 out of 107
 total commits touching this file.

 This isn't a matter of the codec being unpopular like a niche game codec or
 some other codec with media found in the wild, it's an experiment which didn't
 continue and we continue to pay the maintenance cost.

 Deprecating the codec instead of immediate removal gives a grace period for
 anyone interested to pick up the format and make it the most advanced audio
 codec in FFmpeg if they so wish. It encourages an action to be taken whether
 that be improving the codec, or leaving it to be removed later.

 configure                  | 3 +++
 libavcodec/version_major.h | 4 ++++
 2 files changed, 7 insertions(+)

Comments

Michael Niedermayer March 1, 2024, 1:24 a.m. UTC | #1
On Thu, Feb 29, 2024 at 01:47:06PM +0100, J. Dekker wrote:
> This is an experimental and research codec of which ffmpeg is the only
> encoder and decoder, development has stalled since 2013 and these files
> don't exist in the wild.
> 
> Deprecate the encoders to be removed next major bump, decoders to be
> removed one bump afterwards. We also disable the the encoders by default
> in configure, the decoders should be disabled by default next bump.
> 
> Signed-off-by: J. Dekker <jdek@itanimul.li>
> ---
> 
>  Since this codec was added in 2004, there has only been one major
>  non-maintenance, non-bugfix commit in 2013 (6026a5ad4f). That's 1 out of 107
>  total commits touching this file.
> 
>  This isn't a matter of the codec being unpopular like a niche game codec or
>  some other codec with media found in the wild, it's an experiment which didn't
>  continue and we continue to pay the maintenance cost.
> 
>  Deprecating the codec instead of immediate removal gives a grace period for
>  anyone interested to pick up the format and make it the most advanced audio
>  codec in FFmpeg if they so wish. It encourages an action to be taken whether
>  that be improving the codec, or leaving it to be removed later.
> 
>  configure                  | 3 +++
>  libavcodec/version_major.h | 4 ++++
>  2 files changed, 7 insertions(+)
> 
> diff --git a/configure b/configure
> index bb5e630bad..f11c035796 100755
> --- a/configure
> +++ b/configure
> @@ -4234,6 +4234,9 @@ do_random(){
>      $action $(rand_list "$@" | awk "BEGIN { srand($random_seed) } \$1 == \"prob\" { prob = \$2; next } rand() < prob { print }")
>  }
>  
> +# deprecated components (disabled by default)
> +disable sonic_encoder sonic_ls_encoder
> +
>  for opt do
>      optval="${opt#*=}"
>      case "$opt" in
> diff --git a/libavcodec/version_major.h b/libavcodec/version_major.h
> index 161442df95..97e4c47d45 100644
> --- a/libavcodec/version_major.h
> +++ b/libavcodec/version_major.h
> @@ -57,5 +57,9 @@
>  
>  // reminder to remove CrystalHD decoders on next major bump
>  #define FF_CODEC_CRYSTAL_HD        (LIBAVCODEC_VERSION_MAJOR < 61)
> +// reminder to remove Sonic Lossy/Lossless encoders on next major bump
> +#define FF_CODEC_SONIC_ENC         (LIBAVCODEC_VERSION_MAJOR < 62)
> +// reminder to remove Sonic decoder on next-next major bump
> +#define FF_CODEC_SONIC_DEC         (LIBAVCODEC_VERSION_MAJOR < 63)

id like to ask for a later deadline (or no deadline) because

if we get accepted by STF, i will have many things to do this year and
developing a new codec disimilar to existing codecs in FFmpeg will not
be possible in 2024 in parallel to STF

thx

[...]
diff mbox series

Patch

diff --git a/configure b/configure
index bb5e630bad..f11c035796 100755
--- a/configure
+++ b/configure
@@ -4234,6 +4234,9 @@  do_random(){
     $action $(rand_list "$@" | awk "BEGIN { srand($random_seed) } \$1 == \"prob\" { prob = \$2; next } rand() < prob { print }")
 }
 
+# deprecated components (disabled by default)
+disable sonic_encoder sonic_ls_encoder
+
 for opt do
     optval="${opt#*=}"
     case "$opt" in
diff --git a/libavcodec/version_major.h b/libavcodec/version_major.h
index 161442df95..97e4c47d45 100644
--- a/libavcodec/version_major.h
+++ b/libavcodec/version_major.h
@@ -57,5 +57,9 @@ 
 
 // reminder to remove CrystalHD decoders on next major bump
 #define FF_CODEC_CRYSTAL_HD        (LIBAVCODEC_VERSION_MAJOR < 61)
+// reminder to remove Sonic Lossy/Lossless encoders on next major bump
+#define FF_CODEC_SONIC_ENC         (LIBAVCODEC_VERSION_MAJOR < 62)
+// reminder to remove Sonic decoder on next-next major bump
+#define FF_CODEC_SONIC_DEC         (LIBAVCODEC_VERSION_MAJOR < 63)
 
 #endif /* AVCODEC_VERSION_MAJOR_H */