summaryrefslogtreecommitdiffstats
path: root/apps/codecs/libmad/synth.c
AgeCommit message (Collapse)AuthorFilesLines
2012-04-25Add codecs to librbcodec.Sean Bartell1-1232/+0
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97 Reviewed-on: http://gerrit.rockbox.org/137 Reviewed-by: Nils Wallménius <nils@rockbox.org> Tested-by: Nils Wallménius <nils@rockbox.org>
2010-11-22Force alignment of various data structures in libmad. Speeds up Gigabeat S ↵Michael Giacomelli1-1/+1
decoding by about 1MHz. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28639 a1c6a512-1295-4272-9138-f99709370657
2010-11-20Commit first part of FS#11235 by Buschel and I. Improves scheduling on arm9 ↵Michael Giacomelli1-45/+43
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-09Correct comment.Andree Buschmann1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28540 a1c6a512-1295-4272-9138-f99709370657
2010-11-07Clean up libmad, remove unused compile options and source paths.Andree Buschmann1-9/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28532 a1c6a512-1295-4272-9138-f99709370657
2010-11-07Tiny refactoring of libmad's synthesis filter. This allows minor speed up ↵Andree Buschmann1-77/+49
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-07-23libmad: small tweak to coldfire inline asm, gives a slight speedup and now ↵Nils Wallménius1-36/+40
builds fine with gcc 4.4.4 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27529 a1c6a512-1295-4272-9138-f99709370657
2010-07-22Submit FS#11491. Refactor coldfire inline asm within libmad's synth_full() ↵Andree Buschmann1-167/+141
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-06-27Comment unused code in libmad. Clean up initialization and memset'ing of ↵Andree Buschmann1-15/+7
decoder arrays. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27159 a1c6a512-1295-4272-9138-f99709370657
2010-06-27Refacture libmad's synthesis filter via macro usage. Comment unused special ↵Andree Buschmann1-112/+57
synthesis filter for half bandwidth. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27153 a1c6a512-1295-4272-9138-f99709370657
2010-06-10Submit FS#11365. Speed up mp3 decoding on ARM processors. It is faster to ↵Andree Buschmann1-1/+2
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-05-29Correction to clobber lists of several codec's inline assembly.Andree Buschmann1-43/+45
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26376 a1c6a512-1295-4272-9138-f99709370657
2010-05-02Change naming of arm asm routines in libmad's synthesis to match their ↵Andree Buschmann1-12/+12
functionality. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25784 a1c6a512-1295-4272-9138-f99709370657
2010-05-02Fix a bug introduced with r25777.Andree Buschmann1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25779 a1c6a512-1295-4272-9138-f99709370657
2010-05-02Refacturate arm version of libmad's synthesis filter. Only two asm macros ↵Andree Buschmann1-238/+26
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-02-22Change liba52 and libmad to the original 8-spaced tabbing.Andree Buschmann1-252/+252
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24863 a1c6a512-1295-4272-9138-f99709370657
2010-02-22Remove all tabs within codec path.Andree Buschmann1-259/+259
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24862 a1c6a512-1295-4272-9138-f99709370657
2008-09-22Fix careless typo on my part that broke MP3 playback on Coldfire.Michael Giacomelli1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18564 a1c6a512-1295-4272-9138-f99709370657
2008-09-20Opps, fix mp3 decoding in the sim.Michael Giacomelli1-2/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18559 a1c6a512-1295-4272-9138-f99709370657
2008-09-20Commit FS#9318 - MP3 synthesis filter on COP. Loads the MP3 synth filer on ↵Michael Giacomelli1-7/+7
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
2007-09-07Stop libmad from crashing on 64 bit simulators.Jens Arnold1-3/+4
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14636 a1c6a512-1295-4272-9138-f99709370657
2007-07-29Revert r14050 (apart from the non-related whitespace changes) and fix the ↵Dave Chapman1-5/+1
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-29Fix mp3 playback on the gigabeat by not putting code in IRAM. Someone ↵Michael Giacomelli1-8/+8
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-28FS #6705 - ARM optimisations for libmad by Tomasz Malesinski. Modified ↵Dave Chapman1-1/+374
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-05-10Code cleaning - remove some unnecessary defined(SIMULATOR) checksDave Chapman1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13369 a1c6a512-1295-4272-9138-f99709370657
2006-09-16Reverted workaround for the gcc warning. There was a change of behaviour in ↵Jens Arnold1-16/+2
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-08-17Adding a slightly painful workaround to silence a compiler warning.Daniel Stenberg1-2/+16
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10636 a1c6a512-1295-4272-9138-f99709370657
2006-04-27Patch #5219 by Antonius Hellmann. Several optimisations to libmad. Both ↵Thom Johansen1-227/+354
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-12OK, GCC obviously has a hard time with this. Let's just pretend GCC 4.1 ↵Thom Johansen1-2/+2
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-11Fix a couple of warnings for GCC 4.1.Thom Johansen1-2/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9630 a1c6a512-1295-4272-9138-f99709370657
2005-10-27Introduced usage of IBSS_ATTR and ICONST_ATTR in codec libraries.Thom Johansen1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7660 a1c6a512-1295-4272-9138-f99709370657
2005-09-28iRiver: Make it possible to build Rockbox using GCC 4.0.1.Magnus Holmgren1-1/+35
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7569 a1c6a512-1295-4272-9138-f99709370657
2005-09-07Adapted codecs and DSP system to having MACSR saved in thread context.Thom Johansen1-2/+5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7485 a1c6a512-1295-4272-9138-f99709370657
2005-06-09Full precision synth_full and dct32. Replaced all multiplications with ↵Thom Johansen1-19/+34
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-03-10Compile the simulators without special code & data sections. Fixes ↵Jens Arnold1-1/+1
intermittent hangs/ crashes of mpa2wav. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6181 a1c6a512-1295-4272-9138-f99709370657
2005-03-06Added asm optimized short block IMDCT and windowing.Thom Johansen1-3/+4
Removed a warning in synth.c. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6159 a1c6a512-1295-4272-9138-f99709370657
2005-03-04Inserted optimized synth_full and put some vital data in IRAM.Thom Johansen1-6/+162
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6131 a1c6a512-1295-4272-9138-f99709370657
2005-02-15Initial check-in of unmodified libmad code (libmad-0.15.1b)Dave Chapman1-0/+857
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5955 a1c6a512-1295-4272-9138-f99709370657