diff options
author | Fraunhofer IIS FDK <audio-fdk@iis.fraunhofer.de> | 2018-11-29 11:00:16 -0800 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-11-29 11:00:16 -0800 |
commit | 69e052a1af187b726c08f1424eef2e0620d20080 (patch) | |
tree | 3e796801210acd0755d7c3f70ceca41260254064 /libAACdec | |
parent | 07ed1f756bd1ee6f61d635f232e373b8f4f049b9 (diff) | |
parent | 6e4fe2e06bc33ceb9eddde6e628ea42e7ee3d130 (diff) | |
download | fdk-aac-69e052a1af187b726c08f1424eef2e0620d20080.tar.gz fdk-aac-69e052a1af187b726c08f1424eef2e0620d20080.tar.bz2 fdk-aac-69e052a1af187b726c08f1424eef2e0620d20080.zip |
Merge "Integer overflow fix in InvMdctTransformLowDelay_fdk()" am: d2be744af2
am: 6e4fe2e06b
Change-Id: Ie017463a9aad54c9b02672c0aa4d1e7f06847427
Diffstat (limited to 'libAACdec')
-rw-r--r-- | libAACdec/src/ldfiltbank.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libAACdec/src/ldfiltbank.cpp b/libAACdec/src/ldfiltbank.cpp index 66a5914..c7d2928 100644 --- a/libAACdec/src/ldfiltbank.cpp +++ b/libAACdec/src/ldfiltbank.cpp @@ -216,6 +216,7 @@ int InvMdctTransformLowDelay_fdk(FIXP_DBL *mdctData, const int mdctData_e, int scale = mdctData_e + MDCT_OUT_HEADROOM - LDFB_HEADROOM; /* The LDFB_HEADROOM is compensated inside multE2_DinvF_fdk() below */ + int i; /* Select LD window slope */ switch (N) { @@ -261,10 +262,11 @@ int InvMdctTransformLowDelay_fdk(FIXP_DBL *mdctData, const int mdctData_e, } if (gain != (FIXP_DBL)0) { - scaleValuesWithFactor(mdctData, gain, N, scale); - } else { - scaleValues(mdctData, N, scale); + for (i = 0; i < N; i++) { + mdctData[i] = fMult(mdctData[i], gain); + } } + scaleValuesSaturate(mdctData, N, scale); /* Since all exponent and factors have been applied, current exponent is zero. */ |