[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