1
0
Fork 0
forked from len0rd/rockbox
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