diff options
author | Lynne <dev@lynne.ee> | 2025-02-08 04:42:54 +0100 |
---|---|---|
committer | Lynne <dev@lynne.ee> | 2025-02-26 17:12:04 +0100 |
commit | 9b11fefb88c770b9c1d4d4583c61c6abde6c033c (patch) | |
tree | 1d165c2410b823929f244dd12ec8c5efac528f7a /doc/encoders.texi | |
parent | e24920375cd2bbdd579424c16cf0f9c66579ea24 (diff) | |
download | ffmpeg-9b11fefb88c770b9c1d4d4583c61c6abde6c033c.tar.gz |
aacenc: remove support for AAC Main profile
The Main profile of AAC is... terrible.
It enables the use of delta coding across coefficients of two frames
to try to increase compression, and it enabled one more pole for TNS
filters.
What the AAC authors failed to take into account were basic
mathematics, as MDCT leakage (e.g. the spread of each frequency when
represented in a discrete spectrum) is significant in most audio codecs.
This leads to huge variations between each frame, basically rendering
prediction completely pointless.
In fact, enabling AAC-Main prediction does not, in general, even recoup
the metadata losses from signalling the profile and prediction properties
in the first place. So you lose efficiency by using AAC Main.
The rumor is that it was put in the AAC spec for patent reasons, though
patent-wise, it has about as much use as a patent for a bicycle designed
for use by snakes.
The only other thing AAC Main changes is it permits 3-pole TNS filters.
When AAC's bands are absolutely tiny, except for very high frequency bands,
where you're likely to use PNS instead.
Just get rid of it.
Diffstat (limited to 'doc/encoders.texi')
-rw-r--r-- | doc/encoders.texi | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/doc/encoders.texi b/doc/encoders.texi index c0795fe5fd..f3fcc1aa60 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -106,15 +106,8 @@ debugging by setting the option to "disable". Enables the use of the long term prediction extension which increases coding efficiency in very low bandwidth situations such as encoding of voice or solo piano music by extending constant harmonic peaks in bands throughout -frames. This option is implied by profile:a aac_low and is incompatible with -aac_pred. Use in conjunction with @option{-ar} to decrease the samplerate. - -@item aac_pred -Enables the use of a more traditional style of prediction where the spectral -coefficients transmitted are replaced by the difference of the current -coefficients minus the previous "predicted" coefficients. In theory and sometimes -in practice this can improve quality for low to mid bitrate audio. -This option implies the aac_main profile and is incompatible with aac_ltp. +frames. This option is implied by profile:a aac_low. +Use in conjunction with @option{-ar} to decrease the samplerate. @item profile Sets the encoding profile, possible values: @@ -132,10 +125,6 @@ MPEG4 specifications. Long term prediction profile, is enabled by and will enable the @option{aac_ltp} option. Introduced in MPEG4. -@item aac_main -Main-type prediction profile, is enabled by and will enable the @option{aac_pred} -option. Introduced in MPEG2. - @end table If this option is unspecified it is set to @samp{aac_low}. @end table |