mirror of
https://github.com/mstorsjo/fdk-aac.git
synced 2025-06-05 22:39:13 +02:00
Fix overflows in accumulation, fixing crashes
This fixes github issue #83.
This commit is contained in:
@@ -256,12 +256,12 @@ static FIXP_DBL addLowbandEnergies(FIXP_DBL **Energies,
|
|||||||
/* freqBandTable[LORES] has MAX_FREQ_COEFFS/2 +1 coeefs max. */
|
/* freqBandTable[LORES] has MAX_FREQ_COEFFS/2 +1 coeefs max. */
|
||||||
for (ts=tran_offdiv2; ts<YBufferWriteOffset; ts++) {
|
for (ts=tran_offdiv2; ts<YBufferWriteOffset; ts++) {
|
||||||
for (k = 0; k < freqBandTable[0]; k++) {
|
for (k = 0; k < freqBandTable[0]; k++) {
|
||||||
accu1 += Energies[ts][k] >> 6;
|
accu1 = fAddSaturate(accu1, Energies[ts][k] >> 6);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (; ts<tran_offdiv2+(slots>>nrgSzShift); ts++) {
|
for (; ts<tran_offdiv2+(slots>>nrgSzShift); ts++) {
|
||||||
for (k = 0; k < freqBandTable[0]; k++) {
|
for (k = 0; k < freqBandTable[0]; k++) {
|
||||||
accu2 += Energies[ts][k] >> 9;
|
accu2 = fAddSaturate(accu2, Energies[ts][k] >> 9);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user