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
This commit is contained in:
parent
d1098f3100
commit
e9c5190de7
1 changed files with 6 additions and 6 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue