[PATCH] avcodec: deprecate sonic
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) #endif /* AVCODEC_VERSION_MAJOR_H */ -- 2.43.2
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 [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB If a bugfix only changes things apparently unrelated to the bug with no further explanation, that is a good sign that the bugfix is wrong.
On Thu, Feb 29, 2024 at 7:47 AM J. Dekker <jdek@itanimul.li> 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)
#endif /* AVCODEC_VERSION_MAJOR_H */ --
unless objections I'd like to push this patch @Josh Dekker <josh@itanimul.li> Do you have an updated version (also of the 2/2 patch)? Thanks -- Vittorio
Quoting Vittorio Giovara (2024-11-20 23:14:03)
On Thu, Feb 29, 2024 at 7:47 AM J. Dekker <jdek@itanimul.li> 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)
#endif /* AVCODEC_VERSION_MAJOR_H */ --
unless objections I'd like to push this patch
SGTM -- Anton Khirnov
On Mon, Nov 25, 2024 at 12:13 AM Anton Khirnov <anton@khirnov.net> wrote:
On Thu, Feb 29, 2024 at 7:47 AM J. Dekker <jdek@itanimul.li> 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
Quoting Vittorio Giovara (2024-11-20 23:14:03) 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)
#endif /* AVCODEC_VERSION_MAJOR_H */ --
unless objections I'd like to push this patch
SGTM
pushed, thank you -- Vittorio
participants (4)
-
Anton Khirnov -
J. Dekker -
Michael Niedermayer -
Vittorio Giovara