summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs
diff options
context:
space:
mode:
authorConley Owens <cco3@android.com>2012-03-09 15:09:58 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2012-03-09 15:09:58 -0800
commit66da3fdce4dc61f7d1c125eda9b2e065658cc0e5 (patch)
treee819af92b584beab393add054326526990c4a103 /media/libstagefright/codecs
parentd6f3d00b602c16fe4f67932d8f6b47f42fa9bf73 (diff)
parent972efafb90b543eea51aa5b23104d469a1bcc1fb (diff)
downloadframeworks_base-66da3fdce4dc61f7d1c125eda9b2e065658cc0e5.zip
frameworks_base-66da3fdce4dc61f7d1c125eda9b2e065658cc0e5.tar.gz
frameworks_base-66da3fdce4dc61f7d1c125eda9b2e065658cc0e5.tar.bz2
am 972efafb: am 6db6ea02: Merge changes I00c852e4,Ib31bf028
* commit '972efafb90b543eea51aa5b23104d469a1bcc1fb': stagefright aacenc: Avoid overflows when calculating normFactor stagefright aacenc: Avoid a division by zero
Diffstat (limited to 'media/libstagefright/codecs')
-rw-r--r--media/libstagefright/codecs/aacenc/src/adj_thr.c4
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];