| Commit message (Collapse) | Author | Age |
| ... | |
| |
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24349 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
libpcm.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24348 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24347 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
PCM decoding by introducing libpcm, a library for decoding linear and non-uniform PCM independently of the container format.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24346 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24322 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
r23784. Lets hope the third time's the charm
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24271 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24270 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24269 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
before entering the 32-bit divide portion of the code, and making the handling of div0 simpler.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24166 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
Correct svn:executable property on some files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24165 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24157 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
without EABI.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24152 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
the skipped branch by setting flags when inverting divisor, 32-bit numerators are handled by calling the 31-bit divider and fixing the results.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24151 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
mp4 files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24148 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
unstreamable AAC/ALAC files by stepping through the file to find the index, potientially rebuffering. This is likely to impose a battery life hit on files which are unstreamable and not much smaller then the buffer, but should not impact streamable files at all.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24147 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24143 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
numerator. Improvement of 1.23MHz on e200 with ape normal.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24142 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24136 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
/ iteration, falling back to previous 32-bit, 3 cycle / iteration code when needed (well under 1% of divisions in sample file). APE normal sample is now 96.90% realtime, approx 1.3% improved vs svn. TODO: unify divisor normalization for both trial subtraction routines, possibly use divisor bits to select 31- vs 32-bit division.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24130 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
smaller. * Separated 'x' and 'ret' gives gcc a bit more freedom regarding register allocation (except on coldfire where it doesn't matter).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24107 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
speedup for tremor decoding on sansa c200 (PP) and a tiny speedup on coldfire as well
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24102 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
pp and about 1-2% speedup on gigabeat s (due to the armv6 rev instruction)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24095 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
(mp4) codec by Juliusz Chroboczek. Adds some return value checking so that faad errors don't crash rockbox when decoding broken or unsupported files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23983 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
about 2% on beast, about 0.5% on h300
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23973 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23968 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
|
|
|
| |
Correct pow2_* to calculate correct output for input < 0.0 or between 0.0 and 1.0 instead of returning 0. This will change output, but the float version of this codec uses pow(2.0,x) in place of these functions, so this behavior was probably a bug
Replace 64-bit multiply in pow2_* with left or right shift by whole part of input, rounding if shifting right. An ARM-specific optimized version is provided as a C inline function, other targets use a C macro.
Increase constant size of table for pow2 to improve accuracy, also avoid early truncation in linear interpolation of result.
Move constant tables for pow2 and log2 to iram.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23967 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
block move a comment and fix some broken indentation
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23945 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23928 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
generated asm for bs_generic and never intended for use.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23911 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
can provide either log2 or leading-zero-count output, and can force mapping 0 input to 0 output if needed (otherwise 0 input produces undefined result). Replace av_log2 in lib/codeclib.h, floor_log2 and wl_min_lzc in libfaad/common.c and common.h, and count_leading_zeros in libalac/alac.c with macros using bs_generic.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23903 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23869 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23868 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23867 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23866 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
identical implementations, always have LUT in iram (gives a *tiny* speedup on coldfire), make the clz based function return the same value as the non clz based function for 0 input to be safe (slows down flac ~2% on the gigabeat S)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23858 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23794 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
nasty casting in here
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23793 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23790 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
alising violations that this uncovered, gives small speedups for most codecs, FS#10801
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23784 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
one flac 8 sample by 12%.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23783 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23782 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
speedup with one sample on the Gigabeat S
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23781 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23780 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
additional fix, making the sample file play. Also updated some debug prints.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23708 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23670 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23666 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23660 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23659 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23594 a1c6a512-1295-4272-9138-f99709370657
|