aacpsy: use a different metric for the spread of a band

This commit modifies 02dbed6 to use band->active_lines to better gauge how much information is contained within a single band and thus allow the perceptual noise subsitution to more accurately determine which bands to code as noise. The spread[w+g] used before this patch behaved more like a low-pass filter for PNS band_types, which could mistakingly mark some low frequency bands as noise.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Rostislav Pehlivanov 2015-07-02 19:13:00 +01:00 committed by Michael Niedermayer
parent 8f4cfda972
commit 8e607c747e

View File

@ -787,7 +787,7 @@ static void psy_3gpp_analyze_channel(FFPsyContext *ctx, int channel,
psy_band->threshold = band->thr;
psy_band->energy = band->energy;
psy_band->spread = spread_en[w+g];
psy_band->spread = band->active_lines * 2.0f / band_sizes[g];
}
}