aboutsummaryrefslogtreecommitdiffstats
path: root/libSBRdec
diff options
context:
space:
mode:
authorMartin Storsjo <martin@martin.st>2019-10-08 15:10:32 +0300
committerMartin Storsjo <martin@martin.st>2019-10-08 15:10:32 +0300
commit3e6e1b2097e8960b0f6ca9b3cec6638d5b6edf49 (patch)
tree3936983d24262981a3a0ddba2bd67f3648528e9e /libSBRdec
parent18aa41a0e7f242e1dcd1b3c28eba251bc028663d (diff)
downloadfdk-aac-3e6e1b2097e8960b0f6ca9b3cec6638d5b6edf49.tar.gz
fdk-aac-3e6e1b2097e8960b0f6ca9b3cec6638d5b6edf49.tar.bz2
fdk-aac-3e6e1b2097e8960b0f6ca9b3cec6638d5b6edf49.zip
Revert "Reapply: Avoid reading out of bounds due to too large aaIidIndexMapped"
This reverts commit 28fdc28ec436ceafb11ceb6a354e9916c5265981. It seems like this isn't needed any longer on the latest upstream version.
Diffstat (limited to 'libSBRdec')
-rw-r--r--libSBRdec/src/psdec.cpp15
1 files changed, 5 insertions, 10 deletions
diff --git a/libSBRdec/src/psdec.cpp b/libSBRdec/src/psdec.cpp
index b31b310..1f8bd25 100644
--- a/libSBRdec/src/psdec.cpp
+++ b/libSBRdec/src/psdec.cpp
@@ -325,7 +325,7 @@ void initSlotBasedRotation(
int env, int usb) {
INT group = 0;
INT bin = 0;
- INT noIidSteps, noFactors;
+ INT noIidSteps;
FIXP_SGL invL;
FIXP_DBL ScaleL, ScaleR;
@@ -337,11 +337,9 @@ void initSlotBasedRotation(
if (h_ps_d->bsData[h_ps_d->processSlot].mpeg.bFineIidQ) {
PScaleFactors = ScaleFactorsFine; /* values are shiftet right by one */
noIidSteps = NO_IID_STEPS_FINE;
- noFactors = NO_IID_LEVELS_FINE;
} else {
PScaleFactors = ScaleFactors; /* values are shiftet right by one */
noIidSteps = NO_IID_STEPS;
- noFactors = NO_IID_LEVELS;
}
/* dequantize and decode */
@@ -360,13 +358,10 @@ void initSlotBasedRotation(
/* ScaleR and ScaleL are scaled by 1 shift right */
- ScaleL = ScaleR = 0;
- if (noIidSteps + h_ps_d->specificTo.mpeg.pCoef->aaIidIndexMapped[env][bin] >= 0 && noIidSteps + h_ps_d->specificTo.mpeg.pCoef->aaIidIndexMapped[env][bin] < noFactors)
- ScaleR = PScaleFactors[noIidSteps + h_ps_d->specificTo.mpeg.pCoef
- ->aaIidIndexMapped[env][bin]];
- if (noIidSteps - h_ps_d->specificTo.mpeg.pCoef->aaIidIndexMapped[env][bin] >= 0 && noIidSteps - h_ps_d->specificTo.mpeg.pCoef->aaIidIndexMapped[env][bin] < noFactors)
- ScaleL = PScaleFactors[noIidSteps - h_ps_d->specificTo.mpeg.pCoef
- ->aaIidIndexMapped[env][bin]];
+ ScaleR = PScaleFactors[noIidSteps + h_ps_d->specificTo.mpeg.pCoef
+ ->aaIidIndexMapped[env][bin]];
+ ScaleL = PScaleFactors[noIidSteps - h_ps_d->specificTo.mpeg.pCoef
+ ->aaIidIndexMapped[env][bin]];
AlphasValue = 0;
if (h_ps_d->specificTo.mpeg.pCoef->aaIccIndexMapped[env][bin] >= 0)