aboutsummaryrefslogtreecommitdiffstats
path: root/doc/encoders.texi
diff options
context:
space:
mode:
authorLynne <dev@lynne.ee>2025-02-08 04:42:54 +0100
committerLynne <dev@lynne.ee>2025-02-26 17:12:04 +0100
commit9b11fefb88c770b9c1d4d4583c61c6abde6c033c (patch)
tree1d165c2410b823929f244dd12ec8c5efac528f7a /doc/encoders.texi
parente24920375cd2bbdd579424c16cf0f9c66579ea24 (diff)
downloadffmpeg-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.texi15
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