diff options
author | Conley Owens <cco3@android.com> | 2012-03-09 15:15:32 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-03-09 15:15:32 -0800 |
commit | ca17672e75faf59492527a5b168cc01db8badabb (patch) | |
tree | deeb43aa7bc7cf853c7fb60187565e22c11c2b4a /media/libstagefright/codecs/aacenc | |
parent | 824ab1a4138faa7a2dda1571282f0938e4b6cc40 (diff) | |
parent | 5d181e4260c96ae244deb89043b963f69f5834e2 (diff) | |
download | frameworks_av-ca17672e75faf59492527a5b168cc01db8badabb.zip frameworks_av-ca17672e75faf59492527a5b168cc01db8badabb.tar.gz frameworks_av-ca17672e75faf59492527a5b168cc01db8badabb.tar.bz2 |
am 3557654c: am 66da3fdc: am 972efafb: am 6db6ea02: Merge changes I00c852e4,Ib31bf028
* commit '3557654c95bae7754dcd1951ec10742b895817e2':
stagefright aacenc: Avoid overflows when calculating normFactor
stagefright aacenc: Avoid a division by zero
Diffstat (limited to 'media/libstagefright/codecs/aacenc')
-rw-r--r-- | media/libstagefright/codecs/aacenc/src/adj_thr.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/media/libstagefright/codecs/aacenc/src/adj_thr.c b/media/libstagefright/codecs/aacenc/src/adj_thr.c index 373b063..07b33b7 100644 --- a/media/libstagefright/codecs/aacenc/src/adj_thr.c +++ b/media/libstagefright/codecs/aacenc/src/adj_thr.c @@ -438,7 +438,7 @@ static void correctThresh(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS], for (sfb=0; sfb<psyOutChan->maxSfbPerGroup; sfb++) { Word32 redThrExp = thrExp[ch][sfbGrp+sfb] + redVal; - if (((*pahFlag < AH_ACTIVE) || (deltaPe > 0)) && (redThrExp > 0) ) { + if (((*pahFlag < AH_ACTIVE) || (deltaPe > 0)) && (redThrExp > 0) && (redThrExp >= *psfbNActiveLines)) { *psfbPeFactors = (*psfbNActiveLines) * (0x7fffffff / redThrExp); normFactor = L_add(normFactor, *psfbPeFactors); @@ -466,7 +466,7 @@ static void correctThresh(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS], deltaSfbPe = *psfbPeFactors * deltaPe; /* thr3(n) = thr2(n)*2^deltaSfbPe/b(n) */ - if (*psfbNActiveLines > 0) { + if (*psfbNActiveLines > 0 && (normFactor* (*psfbNActiveLines)) != 0) { /* new threshold */ Word32 thrFactor; sfbEn = psyOutChan->sfbEnergy[sfbGrp+sfb]; |