aaccoder: tweak PNS implementation further
authorRostislav Pehlivanov <atomnuker@gmail.com>
Wed, 9 Sep 2015 09:44:33 +0000 (10:44 +0100)
committerRostislav Pehlivanov <atomnuker@gmail.com>
Wed, 9 Sep 2015 09:44:33 +0000 (10:44 +0100)
commitda64bd6a992c5aa3b07d45412b34d26302e67c82
treeb10d42d5b19eb8fdc7115c83a4bbc7a61adfec0e
parentb421455ee09982b403a2b3428d2b01c835663ed7
aaccoder: tweak PNS implementation further

This commit changes a few things about the noise substitution
logic:
 - Brings back the quantization factor (reduced to 3) during
   scalefactor index calculations.
 - Rejects any zeroed bands. They should be inaudiable and it's
   a waste transmitting the scalefactor indices for these.
 - Uses swb_offsets instead of incrementing a 'start' with every
   window group size.
 - Rejects all PNS during short windows.
Overall improves quality. There was a plan to use the lfg system
to create the random numbers instead of using whatever the decoder
uses but for now this works fine. Entropy is far from important here.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
libavcodec/aaccoder.c
tests/fate/aac.mak