Commit graph

36 commits

Author SHA1 Message Date
Michael Giacomelli
f54cbfa164 Commit first part of FS#11235 by Buschel and I. Improves scheduling on arm9 for two filter macros in libmad that are almost never called. A larger speed up will be possible when the remaining ASM code is improved.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28624 a1c6a512-1295-4272-9138-f99709370657
2010-11-20 19:06:05 +00:00
Andree Buschmann
ebcfb13a86 Correct comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28540 a1c6a512-1295-4272-9138-f99709370657
2010-11-09 21:48:33 +00:00
Andree Buschmann
5e4dc32287 Clean up libmad, remove unused compile options and source paths.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28532 a1c6a512-1295-4272-9138-f99709370657
2010-11-07 21:42:28 +00:00
Andree Buschmann
2df7a275c1 Tiny refactoring of libmad's synthesis filter. This allows minor speed up and higher precision on ARM, plus a simplification in dct32 configuration.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28531 a1c6a512-1295-4272-9138-f99709370657
2010-11-07 21:15:13 +00:00
Nils Wallménius
f3a0ae59f5 libmad: small tweak to coldfire inline asm, gives a slight speedup and now builds fine with gcc 4.4.4
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27529 a1c6a512-1295-4272-9138-f99709370657
2010-07-23 08:47:31 +00:00
Andree Buschmann
3f0b93c011 Submit FS#11491. Refactor coldfire inline asm within libmad's synth_full() to gain better readability. Thanks to Nils Wallménius for supporting.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27524 a1c6a512-1295-4272-9138-f99709370657
2010-07-22 18:57:31 +00:00
Andree Buschmann
4c026f0c7f Comment unused code in libmad. Clean up initialization and memset'ing of decoder arrays.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27159 a1c6a512-1295-4272-9138-f99709370657
2010-06-27 18:11:07 +00:00
Andree Buschmann
96233f9cf7 Refacture libmad's synthesis filter via macro usage. Comment unused special synthesis filter for half bandwidth.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27153 a1c6a512-1295-4272-9138-f99709370657
2010-06-27 11:21:44 +00:00
Andree Buschmann
00e01e82cb Submit FS#11365. Speed up mp3 decoding on ARM processors. It is faster to use the C-implementation of dct32 compiled with -O1 as the asm implementation of dct32 compiled with -O2. Configuration for Coldfire processors is untouched. In the new configuration the stack of the COP decoding thread needs to be increased on dualcore targets. Speed is increasing by up to 0.9 MHz (-O2 against -O1 using eabi).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26746 a1c6a512-1295-4272-9138-f99709370657
2010-06-10 19:02:27 +00:00
Andree Buschmann
6805448195 Correction to clobber lists of several codec's inline assembly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26376 a1c6a512-1295-4272-9138-f99709370657
2010-05-29 15:00:10 +00:00
Andree Buschmann
b95326da29 Change naming of arm asm routines in libmad's synthesis to match their functionality.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25784 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 19:01:37 +00:00
Andree Buschmann
13075dea87 Fix a bug introduced with r25777.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25779 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 16:32:05 +00:00
Andree Buschmann
eec5eb9ecc Refacturate arm version of libmad's synthesis filter. Only two asm macros left, renamed asm-implementation for better clarity. No change in speed or precision.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25777 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 15:45:43 +00:00
Andree Buschmann
3f5f3524d4 Change liba52 and libmad to the original 8-spaced tabbing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24863 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 21:02:57 +00:00
Andree Buschmann
398b37124e Remove all tabs within codec path.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24862 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 19:44:05 +00:00
Michael Giacomelli
0097198586 Fix careless typo on my part that broke MP3 playback on Coldfire.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18564 a1c6a512-1295-4272-9138-f99709370657
2008-09-22 15:27:27 +00:00
Michael Giacomelli
712931ca6e Opps, fix mp3 decoding in the sim.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18559 a1c6a512-1295-4272-9138-f99709370657
2008-09-20 22:20:58 +00:00
Michael Giacomelli
4e36a2b991 Commit FS#9318 - MP3 synthesis filter on COP. Loads the MP3 synth filer on to the CoProcessor on all PortalPlayer devices, resulting in an ~90% speedup according to test_codec on the Sansa. Real world improvement is somewhat less, but still considerable. Allows MP3 decoding at 30MHz without boosting, or use of more DSP/EQ with less boosting/skipping, thus improving battery life. Minor changes to mpegplayer to retain compatibility with libmad changes. Should be no significant changes for other targets or codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18557 a1c6a512-1295-4272-9138-f99709370657
2008-09-20 22:06:12 +00:00
Jens Arnold
aebeabdade Stop libmad from crashing on 64 bit simulators.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14636 a1c6a512-1295-4272-9138-f99709370657
2007-09-07 23:45:42 +00:00
Dave Chapman
f52c178517 Revert r14050 (apart from the non-related whitespace changes) and fix the S3C2440 (Gigabeat F/X) problems introduced by my r14041 commit in a slightly different way: Introduce a mad_iram.h file and centralise all IRAM-related decisions in there (similar to how Tremor does it). Now checks for CPU type (S3C2440) instead of target (TOSHIBA_GIGABEAT_F) and there is also a .ibss variable in syth_full_arm.S which shouldn't go in IRAM on S3C2440 targets. Closes FS#7500
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14057 a1c6a512-1295-4272-9138-f99709370657
2007-07-29 16:40:11 +00:00
Michael Giacomelli
f68ab0d497 Fix mp3 playback on the gigabeat by not putting code in IRAM. Someone actually familar with the gigabeat port should check this.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14050 a1c6a512-1295-4272-9138-f99709370657
2007-07-29 05:21:20 +00:00
Dave Chapman
66b51909c0 FS #6705 - ARM optimisations for libmad by Tomasz Malesinski. Modified slightly by me to not put code in IRAM for PP502x (it's slower), and for the mpegplayer version of libmad for PP5002 (there isn't enough room). On my ipod Color, it increases a 320kbps MP3 test file from 169% realtime to 188% realtime. Reported speedup on the ipod 3G was from 118% to 155% realtime for a 192kbps MP3.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14041 a1c6a512-1295-4272-9138-f99709370657
2007-07-28 15:21:25 +00:00
Dave Chapman
f02cba8096 Code cleaning - remove some unnecessary defined(SIMULATOR) checks
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13369 a1c6a512-1295-4272-9138-f99709370657
2007-05-10 13:16:08 +00:00
Jens Arnold
baf5494341 Reverted workaround for the gcc warning. There was a change of behaviour in an early development snapshot of gcc 4.1.2, which was reverted later. The workaround triggered the warning it should fix in later gcc 4.1.2 snapshots.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10957 a1c6a512-1295-4272-9138-f99709370657
2006-09-16 08:59:41 +00:00
Daniel Stenberg
f70e45ac29 Adding a slightly painful workaround to silence a compiler warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10636 a1c6a512-1295-4272-9138-f99709370657
2006-08-17 17:13:56 +00:00
Thom Johansen
f004315105 Patch #5219 by Antonius Hellmann. Several optimisations to libmad. Both Coldfire and ARM targets should benefit much from this.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9821 a1c6a512-1295-4272-9138-f99709370657
2006-04-27 19:52:09 +00:00
Thom Johansen
bd6b62bc84 OK, GCC obviously has a hard time with this. Let's just pretend GCC 4.1 doesn't exist for now and revert last change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9632 a1c6a512-1295-4272-9138-f99709370657
2006-04-12 00:14:39 +00:00
Thom Johansen
e99dafa2ae Fix a couple of warnings for GCC 4.1.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9630 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 23:33:41 +00:00
Thom Johansen
292e4e90d7 Introduced usage of IBSS_ATTR and ICONST_ATTR in codec libraries.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7660 a1c6a512-1295-4272-9138-f99709370657
2005-10-27 11:39:01 +00:00
Magnus Holmgren
58384f03fb iRiver: Make it possible to build Rockbox using GCC 4.0.1.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7569 a1c6a512-1295-4272-9138-f99709370657
2005-09-28 17:36:42 +00:00
Thom Johansen
735208a541 Adapted codecs and DSP system to having MACSR saved in thread context.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7485 a1c6a512-1295-4272-9138-f99709370657
2005-09-07 00:24:27 +00:00
Thom Johansen
cc518c5f32 Full precision synth_full and dct32. Replaced all multiplications with proper 64 bit EMAC multiplications, which yields improved sound.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6638 a1c6a512-1295-4272-9138-f99709370657
2005-06-09 14:13:09 +00:00
Jens Arnold
657fdf26f2 Compile the simulators without special code & data sections. Fixes intermittent hangs/ crashes of mpa2wav.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6181 a1c6a512-1295-4272-9138-f99709370657
2005-03-10 20:02:08 +00:00
Thom Johansen
e78186f4cf Added asm optimized short block IMDCT and windowing.
Removed a warning in synth.c.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6159 a1c6a512-1295-4272-9138-f99709370657
2005-03-06 22:13:44 +00:00
Thom Johansen
ee811a3443 Inserted optimized synth_full and put some vital data in IRAM.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6131 a1c6a512-1295-4272-9138-f99709370657
2005-03-04 10:37:15 +00:00
Dave Chapman
98c4f65f3a Initial check-in of unmodified libmad code (libmad-0.15.1b)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5955 a1c6a512-1295-4272-9138-f99709370657
2005-02-15 18:29:42 +00:00