aboutsummaryrefslogtreecommitdiffstats
path: root/libDRCdec/src
diff options
context:
space:
mode:
authorFraunhofer IIS FDK <audio-fdk@iis.fraunhofer.de>2019-01-03 17:09:17 -0800
committerandroid-build-merger <android-build-merger@google.com>2019-01-03 17:09:17 -0800
commit455d57b7e6becd5428a8986b3bc7d44afea46e49 (patch)
tree448eb1cba37c0a17a0467cb7d50e16dca616524b /libDRCdec/src
parente9159da7c9286bd6d0bdd1282c70dfe2a837674a (diff)
parent1ce3f9e135acc3383251751cea3e174a355e1f94 (diff)
downloadfdk-aac-455d57b7e6becd5428a8986b3bc7d44afea46e49.tar.gz
fdk-aac-455d57b7e6becd5428a8986b3bc7d44afea46e49.tar.bz2
fdk-aac-455d57b7e6becd5428a8986b3bc7d44afea46e49.zip
Merge "Integer overflow fix in _compressorIO_sigmoid()" am: 7c908b13b9 am: 195d913e65
am: 1ce3f9e135 Change-Id: I91b0c2eb123c2fce1039f942b1bc4e0137d2980e
Diffstat (limited to 'libDRCdec/src')
-rw-r--r--libDRCdec/src/drcGainDec_preprocess.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/libDRCdec/src/drcGainDec_preprocess.cpp b/libDRCdec/src/drcGainDec_preprocess.cpp
index 7919589..c543c53 100644
--- a/libDRCdec/src/drcGainDec_preprocess.cpp
+++ b/libDRCdec/src/drcGainDec_preprocess.cpp
@@ -300,8 +300,9 @@ static DRC_ERROR _compressorIO_sigmoid(const CUSTOM_DRC_CHAR_SIGMOID* pCChar,
FIXP_SGL exp = pCChar->exp;
DRC_ERROR err = DE_OK;
- tmp = fMultDiv2(DRC_INPUT_LOUDNESS_TARGET - inLevelDb, pCChar->ioRatio);
- tmp = SATURATE_LEFT_SHIFT(tmp, 2 + 1, DFRACT_BITS);
+ tmp = fMultDiv2((DRC_INPUT_LOUDNESS_TARGET >> 1) - (inLevelDb >> 1),
+ pCChar->ioRatio);
+ tmp = SATURATE_LEFT_SHIFT(tmp, 2 + 1 + 1, DFRACT_BITS);
if (exp < (FIXP_SGL)MAXVAL_SGL) {
/* x = tmp / gainDbLimit; */
/* *outGainDb = tmp / pow(1.0f + pow(x, exp), 1.0f/exp); */