Commit graph

23 commits

Author SHA1 Message Date
Andree Buschmann
2dbb424eb9 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
2009-08-30 14:14:22 +00:00
Andree Buschmann
f62125bb72 fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22549 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 19:57:21 +00:00
Andree Buschmann
f4774bf5bf 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.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22548 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 19:44:27 +00:00
Mohamed Tarek
6c5714a6ee Put the lookup tables into iram ; 2% speedup on ColdFire 1% on ARM
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22345 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 12:51:17 +00:00
Jens Arnold
3d6f86eb2f Make those functions actually inline. Around 20% speedup on coldfire, 10% speedup on arm.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22344 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 12:41:04 +00:00
Jens Arnold
aa24b677e0 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
2009-08-16 11:32:41 +00:00
Michael Giacomelli
3b81dd4749 Put QMF coefficients into IRAM. Update test program to still compile with IBSS_ATTR defined.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22340 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 04:05:40 +00:00
Michael Giacomelli
415546921b Make the IMDCT temporary working buffer a local variable instead of keeping one for each channel. Saves 4KB of RAM.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22339 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 02:24:09 +00:00
Mohamed Tarek
adf3f09251 Move bitstream.[ch] to codecs/lib/ffmpeg_bitstream.[ch] to avoid duplicate copies across codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22337 a1c6a512-1295-4272-9138-f99709370657
2009-08-15 22:06:42 +00:00
Mohamed Tarek
2402aecbb5 remove duplicates of bswap.h from libwma, libcook and libatrac. Create codecs/lib/ffmpeg_bswap.h and use it instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22328 a1c6a512-1295-4272-9138-f99709370657
2009-08-15 16:50:52 +00:00
Mohamed Tarek
bd4fc82b3b Fix handling of unaligned input buffers in libatrac.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22322 a1c6a512-1295-4272-9138-f99709370657
2009-08-15 14:52:28 +00:00
Mohamed Tarek
2ae585273e Correct the ffmpeg revision of libatrac and write more import details.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22316 a1c6a512-1295-4272-9138-f99709370657
2009-08-15 09:44:39 +00:00
Mohamed Tarek
1b87b45e40 Fix yellow.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22312 a1c6a512-1295-4272-9138-f99709370657
2009-08-14 17:43:19 +00:00
Mohamed Tarek
685628cf18 Support for playback of atrac3 audio in rm, in sim.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22311 a1c6a512-1295-4272-9138-f99709370657
2009-08-14 17:36:57 +00:00
Mohamed Tarek
4f26112b1b Revert the asm fixmul stuff for now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22310 a1c6a512-1295-4272-9138-f99709370657
2009-08-14 17:31:08 +00:00
Mohamed Tarek
3ee45ab7be Use the bytestream reading functions form librm and drop bytestream.h and libavutil/
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22309 a1c6a512-1295-4272-9138-f99709370657
2009-08-14 15:26:04 +00:00
Mohamed Tarek
0b6aa38516 Move main() outside atrac3.c and create atrac3.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22307 a1c6a512-1295-4272-9138-f99709370657
2009-08-14 08:24:39 +00:00
Mohamed Tarek
ebd67b1c6f Replace av_log() with DEBUGF and drop some now-useless files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22306 a1c6a512-1295-4272-9138-f99709370657
2009-08-14 08:12:28 +00:00
Mohamed Tarek
4f72502329 Fix a (stupid) mistake in libatrac/atrac3.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22305 a1c6a512-1295-4272-9138-f99709370657
2009-08-14 03:41:59 +00:00
Mohamed Tarek
a0092593c9 Call the asm definitions of fixmul functions when possible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22303 a1c6a512-1295-4272-9138-f99709370657
2009-08-13 21:18:30 +00:00
Mohamed Tarek
e17d3edf87 Remove mallocs from libatrac.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22299 a1c6a512-1295-4272-9138-f99709370657
2009-08-13 20:51:03 +00:00
Mohamed Tarek
432e2ecc13 Modify libatrac to use fixed-point arithmetic.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22298 a1c6a512-1295-4272-9138-f99709370657
2009-08-13 20:38:59 +00:00
Mohamed Tarek
519adfbaae Import libatrac from ffmpeg and modify librm to support ATRAC3.
The decoder is still in floating point.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22235 a1c6a512-1295-4272-9138-f99709370657
2009-08-10 14:46:31 +00:00