OSDN Git Service

aacenc_tns: tune and reduce artifacts
authorRostislav Pehlivanov <atomnuker@gmail.com>
Sun, 6 Dec 2015 13:34:33 +0000 (13:34 +0000)
committerRostislav Pehlivanov <atomnuker@gmail.com>
Sun, 6 Dec 2015 20:16:48 +0000 (20:16 +0000)
commitd55f83de4d419d22d2fd2c0b9ff4ce6bf93847d6
tree245386d955cfcffb14c5c54b217e799013a31175
parentb32e989e6c65ec9ec206ad938a1decdf2e0da07b
aacenc_tns: tune and reduce artifacts

There are a couple of major changes here:

1. Start using TNS coefficient compression.
2. Start using 3 bits per coefficient maximum for short windows.
The bits we save from these 2 changes seem to make a nice impact on the
rest of the file/windows.

3. Remove special case gain checking for short windows.
4. Modify the coefficient loop to support up to 3 windows.
The additional restrictions on TNS were something that was no in the
specifications and furthermore restricting TNS to only low energy short
windows was done to compensate for bugs elsewhere in the code.

Overall, the improvements here reduce crackling artifacts heard in very
noisy tracks.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
libavcodec/aacenc_tns.c