diff options
| author | Andree Buschmann <AndreeBuschmann@t-online.de> | 2011-03-20 15:57:38 +0000 |
|---|---|---|
| committer | Andree Buschmann <AndreeBuschmann@t-online.de> | 2011-03-20 15:57:38 +0000 |
| commit | e9c5190de7e1b550ea9d6b5293e21cd53e8037be (patch) | |
| tree | 11724312bc023b2ecf810d19bbd1babcadc8a7b5 /apps/codecs/libfaad | |
| parent | d1098f31004e8a751f304062a6252baacb83b4f9 (diff) | |
| download | rockbox-e9c5190de7e1b550ea9d6b5293e21cd53e8037be.zip rockbox-e9c5190de7e1b550ea9d6b5293e21cd53e8037be.tar.gz rockbox-e9c5190de7e1b550ea9d6b5293e21cd53e8037be.tar.bz2 rockbox-e9c5190de7e1b550ea9d6b5293e21cd53e8037be.tar.xz | |
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
Diffstat (limited to 'apps/codecs/libfaad')
| -rw-r--r-- | apps/codecs/libfaad/sbr_hfgen.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/apps/codecs/libfaad/sbr_hfgen.c b/apps/codecs/libfaad/sbr_hfgen.c index 1e32eb2..bdc7d5a 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 |