From 314555c833270fd217523fa21663b45511e48bed Mon Sep 17 00:00:00 2001 From: Buschel Date: Sun, 20 Mar 2011 15:57:38 +0000 Subject: [PATCH] Headroom in AAC SBR HF-generator's fixed point implementation of autocorrelation was too small. Fixes FS#12019. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29622 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/libfaad/sbr_hfgen.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/codecs/libfaad/sbr_hfgen.c b/apps/codecs/libfaad/sbr_hfgen.c index 1e32eb26bc..bdc7d5a0a2 100644 --- a/apps/codecs/libfaad/sbr_hfgen.c +++ b/apps/codecs/libfaad/sbr_hfgen.c @@ -186,13 +186,13 @@ typedef struct real_t det; } acorr_coef; -/* Within auto_correlation(...) a pre-shift of >>2 is needed to avoid overflow - * when multiply-adding the FRACT-variables -- FRACT part is 31 bits. After the - * calculation has been finished the result 'ac->det' needs to be - * post-shifted by <<(4*2). This pre-/post-shifting is needed for FIXED_POINT - * only. */ +/* Within auto_correlation(...) a pre-shift of >>ACDET_EXP is needed to avoid + * overflow when multiply-adding the FRACT-variables -- FRACT part is 31 bits. + * After the calculation has been finished the result 'ac->det' needs to be + * post-shifted by <<(4*ACDET_EXP). This pre-/post-shifting is needed for + * FIXED_POINT only. */ #ifdef FIXED_POINT -#define ACDET_EXP 2 +#define ACDET_EXP 3 #define ACDET_PRE(A) (A)>>ACDET_EXP #define ACDET_POST(A) (A)<<(4*ACDET_EXP) #else -- 2.11.4.GIT