aboutsummaryrefslogtreecommitdiffstats
path: root/libAACdec
diff options
context:
space:
mode:
authorFraunhofer IIS FDK <audio-fdk@iis.fraunhofer.de>2018-12-20 15:52:46 +0100
committerJean-Michel Trivi <jmtrivi@google.com>2018-12-28 19:42:49 -0500
commitf4fc574fdd957bdc222e3d28d13401748215b167 (patch)
tree0fb63fe876080e8406fb05298ff7f900307794f8 /libAACdec
parentb6222994820433062038674f5a430f20dad26186 (diff)
downloadfdk-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')
-rw-r--r--libAACdec/src/usacdec_acelp.cpp2
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++;
}