| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
| |
speedup with gcc 3.4, larger 0.6-0.8MHz speedup with gcc 4.4/4.5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28716 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
macros to data registers, no significant speed diff
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28656 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
earlyclobbers as they are not, lets gcc produce better code. Speedup of 0.2-0.3MHz for codecs using the mdct, (larger speedup when building with gcc 4.4).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28650 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28633 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
address increments for free on arm, and remove macros in favour of explicit inline fns. also add memory clobbers to all uses of stm in inline asm. appears to resolve issues with codeclib failing to work as expected when using ARM_ASM optimisations on targets with native position independent code (e.g. android rockbox targets, but also tremor on non-rockbox targets that has been patched with the fastermdct patches)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28262 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
ARMv6 target so we might as well use them. Speeds up decoding of a flac8 file by 3.5%.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28183 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
|
|
|
| |
it as separate library.
It's used by both, plugins and codecs, and sh/hwcodec doesn't compile codecs
so it doesn't fit into sources.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27869 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27615 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tested with h300 and sansa c200v1
h300 speedups:
a52: 2%
cook: 9-17%
aac: 0.5%
vorbis: 0.5%
wma: 6-12%
c200v1 speedups:
alac: 1.5%
wma 3-4%
wavpack 2%
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27486 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
buffer used by init_vlc so that it is no larger than is needed. Make the VLCcode struct packed to save space.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27457 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
to codeclib.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27452 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
temp buffer static.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27446 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
ffmpeg_bitstream.c as a part of the codec lib. Use this codeclib implementation in libffmpegFLAC. Implement adapted version of the unaligned longword reading optimization for coldfire from the libwma version of this code. Speeds up cook decoding by 2-3% on h300 and flac by 25% on h300, also speeds up flac decoding by 2% on c200 (decoding speed of cook on c200 is unchanged).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27430 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
value they have
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27419 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
|
| |
SIMVER was really only used to detect a simulator build. With APP_TYPE you can
now differentiate between simulator, application, checkwps and database builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27372 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
save a load if gcc is clever.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27157 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
|
|
|
|
|
| |
#if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently).
The simulator defines PLATFORM_HOSTED, as RaaA will do (RaaA will not define SIMULATOR).
The new define is to (de-)select code to compile on hosted platforms generally.
Should be no functional change to targets or the simulator.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27019 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
decoding vorbis on gigabeat S.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26889 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26432 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25993 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25984 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Rockbox doesn't support ARMv4 non T CPUs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25083 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25035 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24862 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24834 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24822 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24820 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
full final symmetries using ldm/stm and simple register swapping. Also, add more comments (and improve/update some of the existing ones) regarding the layout of the imdct_half and the imdct_full
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24819 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
arm (ipod video) and about 5MHz boost on coldfire (H120)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24786 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
is signed-inverted (compared to e.g. the output of oggdec). ac3 confirmed to be ok so the problem must be in the imdct not the ifft. but the algo seems correct (in that seems same as original ffmpeg version)..
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24739 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
intact so we can/could regenerate the table
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24716 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24715 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24713 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24712 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
codec and an optimized divider is already provided for general use in codeclib.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24506 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24474 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
fusing vector math for the filters. Speedup is roughly 3.5% for -c2000, 8% for -c3000 and 12% for -c4000. To be extended to other architectures.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24473 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
ARM. Replaces libgcc support functions for unsigned and signed 32-bit division on ARMv4 and up, and leading-zero count on ARMv4.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24432 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
out of IRAM for sizes that aren't near realtime and extend udiv32_arm reciprocal table.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24376 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
| |
specialized version of it for small dividend, as the test and branch can't be fit into delay slots on that path.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24360 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
| |
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24355 a1c6a512-1295-4272-9138-f99709370657
|
| |
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
| |
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
|
| |
|
|
| |
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
|
| |
|
|
| |
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
|