[FFmpeg-cvslog] aacpsy: use a different metric for the spread of a band

Rostislav Pehlivanov git at videolan.org
Fri Jul 3 13:18:47 CEST 2015


ffmpeg | branch: master | Rostislav Pehlivanov <atomnuker at gmail.com> | Thu Jul  2 19:13:00 2015 +0100| [8e607c747eca582a4ef66fa85a27492f517cde1d] | committer: Michael Niedermayer

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 at gmail.com>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8e607c747eca582a4ef66fa85a27492f517cde1d
---

 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-cvslog mailing list