rockbox/apps/codecs/libatrac
Andree Buschmann 86fc47c33a Minor atrac3 codec optimization. Refacturate requantization of spectral lines, unroll loops.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24672 a1c6a512-1295-4272-9138-f99709370657
2010-02-15 20:20:52 +00:00
..
atrac3.c Minor atrac3 codec optimization. Refacturate requantization of spectral lines, unroll loops. 2010-02-15 20:20:52 +00:00
atrac3.h 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. 2009-08-30 14:14:22 +00:00
atrac3_arm.S Speed up atrac codec for ARM through simple loop unrolling. Saves 9 MHz on PP5022 (14% speed up). 2010-02-13 22:01:24 +00:00
atrac3data.h Further optimization and minor clean up of atrac codec: Unroll iqmf_dewindowing for non-ARM speeds up decoder by +10% on H300. Removed some non-used arrays. Codec is still not fully realtime on Coldfire targets. 2010-02-14 14:38:18 +00:00
atrac3data_fixed.h Work on atrac Joint Stereo mode. Correct calculation in getChannelWeights(), introduce lookup table and remove obsolete code. Optimize interpolation macro. 2010-02-15 13:00:02 +00:00
fixp_math.h Work on atrac Joint Stereo mode. Correct calculation in getChannelWeights(), introduce lookup table and remove obsolete code. Optimize interpolation macro. 2010-02-15 13:00:02 +00:00
libatrac.make
main.c Further optimization and minor clean up of atrac codec: Unroll iqmf_dewindowing for non-ARM speeds up decoder by +10% on H300. Removed some non-used arrays. Codec is still not fully realtime on Coldfire targets. 2010-02-14 14:38:18 +00:00
Makefile.test Put QMF coefficients into IRAM. Update test program to still compile with IBSS_ATTR defined. 2009-08-16 04:05:40 +00:00
README.rockbox Correct the ffmpeg revision of libatrac and write more import details. 2009-08-15 09:44:39 +00:00
SOURCES Submit interim version of FS#10565. Performance optimization of atrac3 decoder for ARM. Introduce ASM routines for multiplications and two synthesis loops, refactured parts of synthesis and windowing. Speeds up decoding by a factor of 2.4 on PP502x. 2009-08-29 19:44:27 +00:00

Library: libatrac
Imported by : Mohamed Tarek
Import date : 10-August-2009

LICENSING INFORMATION

ffmpeg is licensed under the Lesser GNU General Public License.

IMPORT DETAILS

The decoder is based on ffmpeg-svn r18110 : Mar 21 2009.
Some changes were done on in order to use static VLC tables
according to this commit :
http://git.ffmpeg.org/?p=ffmpeg;a=commit;h=4c20cf13a166577d93f5b2b0abb4609c60104d33

The decoder had been modified to use fixed-point arithmetic.

TESTING

The test program should compile in any Unix-like environment using the
command "make -f Makefile.test".

For ARM targets add -DCPU_ARM to CFLAGS in Makefile.test to make use of 
the asm ARM optimisations in rockbox's mdct library.

For Big-endian targets, change -D"ROCKBOX_LITTLE_ENDIAN=1" 
to -D"ROCKBOX_BIG_ENDIAN=1" in Makefile.test.

Running "./atractest file.rm" will decode the audio data to a WAV file
called "output.wav" in the current directory.