diff options
author | Jens Arnold <amiconn@rockbox.org> | 2009-08-16 11:32:41 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2009-08-16 11:32:41 +0000 |
commit | aa24b677e0d014fcda65ec9c962d82316028056b (patch) | |
tree | 4c62b9d1e3171b08b3b8837d96943d77d74e094f /apps/codecs/libatrac/atrac3.c | |
parent | 3b81dd47497b39952cbcf110acaa59b192fdda1c (diff) | |
download | rockbox-aa24b677e0d014fcda65ec9c962d82316028056b.tar.gz rockbox-aa24b677e0d014fcda65ec9c962d82316028056b.zip |
Revert r22339 as it causes immediate stack overflow on target, at least on coldfire.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22341 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libatrac/atrac3.c')
-rw-r--r-- | apps/codecs/libatrac/atrac3.c | 9 |
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 | } |