[FFmpeg-devel] [PATCH v2 1/8] aacpsy: use a different metric for the spread of a band

Rostislav Pehlivanov atomnuker at gmail.com
Thu Jul 2 20:13:00 CEST 2015

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 at gmail.com>
 libavcodec/aacpsy.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/aacpsy.c b/libavcodec/aacpsy.c
index 78232d4..b16f6b9 100644
--- a/libavcodec/aacpsy.c
+++ b/libavcodec/aacpsy.c
@@ -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];

More information about the ffmpeg-devel mailing list