[SCM] libav/experimental: Correct pulse amplitude application - a negative or 0 coefficient implies the pulse is subtracted, else it is added. Also avoid a divide by 0.
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 16:29:56 UTC 2013
The following commit has been merged in the experimental branch:
commit febcbd65fa3d00cfdfbfabd1c2a8fb8e659e1ca1
Author: Robert Swain <robert.swain at gmail.com>
Date: Thu Sep 11 01:22:34 2008 +0000
Correct pulse amplitude application - a negative or 0 coefficient implies the
pulse is subtracted, else it is added. Also avoid a divide by 0.
Based on a patch by Alex Converse (alex converse gmail com)
Fixes part of issue632
Originally committed as revision 15294 to svn://svn.ffmpeg.org/ffmpeg/trunk
diff --git a/libavcodec/aac.c b/libavcodec/aac.c
index c59a663..cc069ed 100644
--- a/libavcodec/aac.c
+++ b/libavcodec/aac.c
@@ -753,7 +753,9 @@ static int decode_spectrum_and_dequant(AACContext * ac, float coef[1024], GetBit
if (pulse_present) {
for(i = 0; i < pulse->num_pulse; i++){
float co = coef_base[ pulse->pos[i] ];
- float ico = co / sqrtf(sqrtf(fabsf(co))) + pulse->amp[i];
+ float ico = -pulse->amp[i];
+ if (co)
+ ico = co / sqrtf(sqrtf(fabsf(co))) + (co > 0 ? -ico : ico);
coef_base[ pulse->pos[i] ] = cbrtf(fabsf(ico)) * ico;
}
}
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list