Further performance optimization of the atrac3 decoder. Rework the internal sample...
commit67ff5d0a2e46ebc267b86442641c86935deef65a
authorBuschel <Buschel@a1c6a512-1295-4272-9138-f99709370657>
Sun, 30 Aug 2009 14:14:22 +0000 (30 14:14 +0000)
committerBuschel <Buschel@a1c6a512-1295-4272-9138-f99709370657>
Sun, 30 Aug 2009 14:14:22 +0000 (30 14:14 +0000)
tree68b9ad1858ab2ae0c67c64b86e9bf9e70ee6434f
parent2f4cf1aa7aa94d44029eac4d4d9dcef0e299df2c
Further performance optimization of the atrac3 decoder. Rework the internal sample representation and usage of dsp routines. For now a quick and dirty solution is used to add a fract part of 2 bits. Through this several buffers and functions as well as copy loops could be removed. Furthermore add some ASM for coldfire and place some additional data in IRAM on PP5022/24 and X5/M5. Speedup on ARM: +3%, speedup on Coldfire: +639%. Both ARM and Coldfire can decode in realtime now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22561 a1c6a512-1295-4272-9138-f99709370657
apps/codecs/atrac3_rm.c
apps/codecs/libatrac/atrac3.c
apps/codecs/libatrac/atrac3.h
apps/codecs/libatrac/fixp_math.h