summaryrefslogtreecommitdiff
path: root/apps/codecs/libatrac/atrac3.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/libatrac/atrac3.c')
-rw-r--r--apps/codecs/libatrac/atrac3.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/apps/codecs/libatrac/atrac3.c b/apps/codecs/libatrac/atrac3.c
index 8109a46276..47a63cae30 100644
--- a/apps/codecs/libatrac/atrac3.c
+++ b/apps/codecs/libatrac/atrac3.c
@@ -665,18 +665,17 @@ static int decodeChannelSoundUnit (GetBitContext *gb, channel_unit *pSnd, int32_
665 if (lastTonal >= 0) 665 if (lastTonal >= 0)
666 numBands = FFMAX((lastTonal + 256) >> 8, numBands); 666 numBands = FFMAX((lastTonal + 256) >> 8, numBands);
667 667
668 668
669 /* Reconstruct time domain samples. */ 669 /* Reconstruct time domain samples. */
670 for (band=0; band<4; band++) { 670 for (band=0; band<4; band++) {
671 int32_t IMDCT_buf[1024];
672 /* Perform the IMDCT step without overlapping. */ 671 /* Perform the IMDCT step without overlapping. */
673 if (band <= numBands) { 672 if (band <= numBands) {
674 IMLT(&(pSnd->spectrum[band*256]), IMDCT_buf, band&1); 673 IMLT(&(pSnd->spectrum[band*256]), pSnd->IMDCT_buf, band&1);
675 } else 674 } else
676 memset(IMDCT_buf, 0, 512 * sizeof(int32_t)); 675 memset(pSnd->IMDCT_buf, 0, 512 * sizeof(int32_t));
677 676
678 /* gain compensation and overlapping */ 677 /* gain compensation and overlapping */
679 gainCompensateAndOverlap (IMDCT_buf, &(pSnd->prevFrame[band*256]), &(pOut[band*256]), 678 gainCompensateAndOverlap (pSnd->IMDCT_buf, &(pSnd->prevFrame[band*256]), &(pOut[band*256]),
680 &((pSnd->gainBlock[1 - (pSnd->gcBlkSwitch)]).gBlock[band]), 679 &((pSnd->gainBlock[1 - (pSnd->gcBlkSwitch)]).gBlock[band]),
681 &((pSnd->gainBlock[pSnd->gcBlkSwitch]).gBlock[band])); 680 &((pSnd->gainBlock[pSnd->gcBlkSwitch]).gBlock[band]));
682 } 681 }