summaryrefslogtreecommitdiff
path: root/apps/codecs/libmad
AgeCommit message (Collapse)Author
2010-12-27Redo r28026 so that all .S files get the __ASSEMBLER__ define.Thomas Martitz
Patch by Thomas Jarosch. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28913 a1c6a512-1295-4272-9138-f99709370657
2010-12-01Remove tabsAndree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28719 a1c6a512-1295-4272-9138-f99709370657
2010-11-29ARM9 optimized synth_full for libmad. Speeds up mp3 decoding by an even 2 ↵Michael Giacomelli
MHz on all ARM9 and later devices. Note this is only optimized for arm9 (non-E), although it is faster on later devices. An arm9E/11 version will be needed for optimal performance on newer devices. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28710 a1c6a512-1295-4272-9138-f99709370657
2010-11-22Force alignment of various data structures in libmad. Speeds up Gigabeat S ↵Michael Giacomelli
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 Giacomelli
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 Buschmann
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 Buschmann
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 Buschmann
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énius
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 Buschmann
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-28Remove unneeded libmad files from build.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27163 a1c6a512-1295-4272-9138-f99709370657
2010-06-27Comment further unused code in libmad.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27160 a1c6a512-1295-4272-9138-f99709370657
2010-06-27Comment unused code in libmad. Clean up initialization and memset'ing of ↵Andree Buschmann
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 Buschmann
synthesis filter for half bandwidth. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27153 a1c6a512-1295-4272-9138-f99709370657
2010-06-18libmad: Optimize away 2 instructions from coldfire III_imdct, no measurable ↵Nils Wallménius
speed difference. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26918 a1c6a512-1295-4272-9138-f99709370657
2010-06-14Clean up libmad/mad.h to avoid double or inconsistent definitions of types, ↵Andree Buschmann
functions and structs. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26838 a1c6a512-1295-4272-9138-f99709370657
2010-06-11FS#11335 by me: make ARM assembly functions thumb-friendlyRafaël Carré
We can't pop into pc on ARMv4t when using thumb: the T bit won't be modified if we are returning to a thumb function Code running on ARMv4t should use the new ldrpc / ldmpc macros instead of ldr pc, [sp], #4 and ldm(cond) sp!, {regs, pc} No modification on pure ARM builds and ARMv5+ Note: USE_THUMB is currently never defined, no targets can currently be built with -mthumb, see FS#6734 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26756 a1c6a512-1295-4272-9138-f99709370657
2010-06-10Submit FS#11365. Speed up mp3 decoding on ARM processors. It is faster to ↵Andree Buschmann
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 Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26376 a1c6a512-1295-4272-9138-f99709370657
2010-05-06Move c/h files implementing/defining standard library stuff into a new libc ↵Thomas Martitz
directory, also standard'ify some parts of the code base (almost entirely #include fixes). This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-02Remove residual tabs in codec directory.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25785 a1c6a512-1295-4272-9138-f99709370657
2010-05-02Change naming of arm asm routines in libmad's synthesis to match their ↵Andree Buschmann
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 Buschmann
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 Buschmann
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 Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24863 a1c6a512-1295-4272-9138-f99709370657
2010-02-22Remove all tabs within codec path.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24862 a1c6a512-1295-4272-9138-f99709370657
2009-07-13Fix another file for r12 being a scratch register. Overlooked earlier ↵Jens Arnold
because this file used literal 'r13' instead of 'sp'. Changed 'r13' to 'sp' for consistency. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21838 a1c6a512-1295-4272-9138-f99709370657
2009-07-12* ARM asm DSP and codec/plugin functions: Use r12 scratch register properlyJens Arnold
* Fix saving another unused reg in dsp code * Use less regs in the generic ARM mpegplayer adding idct pure DC case * Fix ARMv6 mpegplayer adding idct using an unsaved register in pure DC case git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21803 a1c6a512-1295-4272-9138-f99709370657
2009-03-10Enable libmad ASM optimized fixed point routines for MIPS.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20280 a1c6a512-1295-4272-9138-f99709370657
2009-03-04Overlooked one place where the 'archive created' warning needs to be suppressed.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20197 a1c6a512-1295-4272-9138-f99709370657
2009-03-01Silence warning from 'ar' if the archive had to be created.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20151 a1c6a512-1295-4272-9138-f99709370657
2009-02-23Stop hiding errors by redirecting stderr to /dev/null. If we really need to ↵Daniel Stenberg
do re-introduce somewhere we should rather make it dependent on the V variable so that make V=1 would still show the error and only "normal" builds would hide it. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20090 a1c6a512-1295-4272-9138-f99709370657
2008-12-15Better file suffix replacement. Bug fix by Nils Wallménius. Closes FS #9644.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19443 a1c6a512-1295-4272-9138-f99709370657
2008-11-30Restore compiler optimization level for libmad, was lost in the buildsystem ↵Nils Wallménius
rework git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19272 a1c6a512-1295-4272-9138-f99709370657
2008-11-25Added 'keywords' and 'eol-style' properties.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19218 a1c6a512-1295-4272-9138-f99709370657
2008-11-20Remove .a files before running ar, to avoid problems with renamed files ↵Björn Stenberg
remaining in the library. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19160 a1c6a512-1295-4272-9138-f99709370657
2008-11-20New makefile solution: A single invocation of 'make' to build the entire ↵Björn Stenberg
tree. Fully controlled dependencies give faster and more correct recompiles. Many #include lines adjusted to conform to the new standards. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19146 a1c6a512-1295-4272-9138-f99709370657
2008-09-22Fix careless typo on my part that broke MP3 playback on Coldfire.Michael Giacomelli
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 Giacomelli
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 Giacomelli
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-06-28Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg
later. We still need to hunt down snippets used that are not. 1324 modified files... http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-01libmad: PP5002 does in fact profit more from -O2 than PP502x, so use it for ↵Jens Arnold
all targets. The previous check was half-baked (excluded iPod 3rd Gen only, but 1st/2nd Gen are also PP5002). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17675 a1c6a512-1295-4272-9138-f99709370657
2008-06-01Compile libmad with -O2 for the Ipods instead of just newer PP targets. ↵Michael Giacomelli
Gives a 2% speedup on Ipods, but no change elsewhere. I've left the 3G alone, but its probably worth checking. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17674 a1c6a512-1295-4272-9138-f99709370657
2008-05-10Real fake IRAM by placing .i.... section in the analagous DRAM sections in ↵Michael Sevakis
the linker scripts that hasn't done this yet. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17449 a1c6a512-1295-4272-9138-f99709370657
2008-05-02Build the remaining plugins for Gigabeat S and straigten out the fake IRAM ↵Michael Sevakis
in the codecs and plugins. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17303 a1c6a512-1295-4272-9138-f99709370657
2007-09-15Remove some unrequired SIMULATOR checks - the CPU_* family of defines are ↵Dave Chapman
never defined for the sim. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14711 a1c6a512-1295-4272-9138-f99709370657
2007-09-07Stop libmad from crashing on 64 bit simulators.Jens Arnold
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 Chapman
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 Giacomelli
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 Chapman
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