rockbox/apps/codecs/demac/libdemac
Andrew Mahone e76f30a57c Improvements to specialized dividers for APE codec:
* Use Newton-Raphson divider on ARMv5e and ARMv6, about 7% speedup on Gigabeat S.
* On ARMv4 targets using IRAM, remove insane filter buffer from IRAM, fill available IRAM with LUT of reciprocals for small divisors - speedup varies according to target and available IRAM, APE normal sample is approx. 109% RT on e200.
* Rename apps/codecs/lib/udiv32_armv4.S to apps/codecs/lib/udiv32_arm.S, which includes dividers for all ARM targets specialized for APE.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24354 a1c6a512-1295-4272-9138-f99709370657
2010-01-28 02:28:52 +00:00
..
crc.c static/const/#include/tab police on various files 2009-01-02 21:43:52 +00:00
decoder.c Fix decoding of stereo frames with silence in only one channel. * Make the standalone decoder contain debugging information. 2008-12-21 23:49:02 +00:00
decoder.h Calculate watermark from bitrate and harddisk spinup time. 2009-01-10 21:10:56 +00:00
demac.h Calculate watermark from bitrate and harddisk spinup time. 2009-01-10 21:10:56 +00:00
demac_config.h Improvements to specialized dividers for APE codec: 2010-01-28 02:28:52 +00:00
entropy.c Fix decoding of stereo frames with silence in only one channel. * Make the standalone decoder contain debugging information. 2008-12-21 23:49:02 +00:00
entropy.h Get rid of unused return values, except the one from decode_chunk() which will be used in the dual core split. 2008-11-26 18:01:18 +00:00
filter.c Slight speedup for the APE filters. Most noticeable on coldfire (+3.5% for -c2000), but also helps on the arm targets (+0.9% for -c2000 on PP5002). This transformation is oveflow safe, as absres < 2^24 is guaranteed. 2008-12-22 08:33:49 +00:00
filter.h Get rid of unused return values, except the one from decode_chunk() which will be used in the dual core split. 2008-11-26 18:01:18 +00:00
filter_16_11.c Calculate watermark from bitrate and harddisk spinup time. 2009-01-10 21:10:56 +00:00
filter_32_10.c Calculate watermark from bitrate and harddisk spinup time. 2009-01-10 21:10:56 +00:00
filter_64_11.c Calculate watermark from bitrate and harddisk spinup time. 2009-01-10 21:10:56 +00:00
filter_256_13.c Calculate watermark from bitrate and harddisk spinup time. 2009-01-10 21:10:56 +00:00
filter_1280_15.c Calculate watermark from bitrate and harddisk spinup time. 2009-01-10 21:10:56 +00:00
Makefile Seeking and resume support for Monkey's Audio 2007-06-08 22:35:26 +00:00
parser.c Define and use a local APE_MAX function to make the standalone demac decoder compile again. 2007-06-09 00:58:15 +00:00
parser.h Fix decoding of stereo frames with silence in only one channel. * Make the standalone decoder contain debugging information. 2008-12-21 23:49:02 +00:00
predictor-arm.S Don't use ldrd/strd on ARMv5 since not all revisions support them and the gain from using them is minimal (basically code size only). 2009-07-17 09:17:54 +00:00
predictor-cf.S Implement mono predictor in assembler for coldfire, yielding a ~6% speedup for mono -c1000. Apply ideas gained from it back to the stereo predictor, saving 4 instructions. No speed increase for stereo, probably due to cache aliasing effects. * 80-column police. 2008-12-02 02:26:04 +00:00
predictor.c Assembler optimised mono predictor for ARM. Speedup for -c1000 mono is ~5% on PP, ~8% on Gigabeat S (less for higher compression levels). Also fix some overlooked comments in the stereo predictor. 2008-12-09 23:20:59 +00:00
predictor.h Get rid of unused return values, except the one from decode_chunk() which will be used in the dual core split. 2008-11-26 18:01:18 +00:00
SOURCES APE codec: Assembler optimised predictor for coldfire. Heavily based on the arm version atm, instruction reordering will probably allow for a bit more speedup soon. Speedup: -c1000: 177% -> 210%, -c2000: 135% -> 147%, -c3000: 97% -> 103%. 2007-10-19 21:35:07 +00:00
vector_math16_armv5te.h Resurrect the ARM7 16-bit packed vector addition/subtraction for ARMv5, giving a nice speedup for the higher compression levels (tested on Cowon D2). 2008-11-28 23:50:22 +00:00
vector_math16_armv6.h Tweak the ARMv6 filter assembly a bit further. 2008-11-24 18:40:43 +00:00
vector_math16_cf.h Several tweaks and cleanups: * Use .rept instead of repeated macros for repeating blocks. * Use MUL (variant) instead of MLA (variant) in the first step of the ARM scalarproduct() if there's no loop. * Unroll ARM assembler functions to 32 where not already done, plus the generic scalarproduct(). 2008-11-19 21:31:33 +00:00
vector_math32_armv4.h Several tweaks and cleanups: * Use .rept instead of repeated macros for repeating blocks. * Use MUL (variant) instead of MLA (variant) in the first step of the ARM scalarproduct() if there's no loop. * Unroll ARM assembler functions to 32 where not already done, plus the generic scalarproduct(). 2008-11-19 21:31:33 +00:00
vector_math_generic.h Several tweaks and cleanups: * Use .rept instead of repeated macros for repeating blocks. * Use MUL (variant) instead of MLA (variant) in the first step of the ARM scalarproduct() if there's no loop. * Unroll ARM assembler functions to 32 where not already done, plus the generic scalarproduct(). 2008-11-19 21:31:33 +00:00