diff options
author | Fraunhofer IIS FDK <audio-fdk@iis.fraunhofer.de> | 2018-12-20 15:52:46 +0100 |
---|---|---|
committer | Jean-Michel Trivi <jmtrivi@google.com> | 2018-12-28 19:42:49 -0500 |
commit | f4fc574fdd957bdc222e3d28d13401748215b167 (patch) | |
tree | 0fb63fe876080e8406fb05298ff7f900307794f8 /libAACdec/src/usacdec_acelp.cpp | |
parent | b6222994820433062038674f5a430f20dad26186 (diff) | |
download | fdk-aac-f4fc574fdd957bdc222e3d28d13401748215b167.tar.gz fdk-aac-f4fc574fdd957bdc222e3d28d13401748215b167.tar.bz2 fdk-aac-f4fc574fdd957bdc222e3d28d13401748215b167.zip |
Prevent energy overflow in acelp calc_period_factor()
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I5a28fcb09a1b0b0d1f8861642c64185937021154
Diffstat (limited to 'libAACdec/src/usacdec_acelp.cpp')
-rw-r--r-- | libAACdec/src/usacdec_acelp.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libAACdec/src/usacdec_acelp.cpp b/libAACdec/src/usacdec_acelp.cpp index 9fecebf..c836c6a 100644 --- a/libAACdec/src/usacdec_acelp.cpp +++ b/libAACdec/src/usacdec_acelp.cpp @@ -309,7 +309,7 @@ static FIXP_DBL calc_period_factor(FIXP_DBL exc[], FIXP_SGL gain_pit, ener_exc = (FIXP_DBL)0; for (int i = 0; i < L_SUBFR; i++) { ener_exc += fPow2Div2(exc[i]) >> s; - if (ener_exc > FL2FXCONST_DBL(0.5f)) { + if (ener_exc >= FL2FXCONST_DBL(0.5f)) { ener_exc >>= 1; s++; } |