Andree Buschmann
cef3681bae
Further changes to aac-he decoding. Refactor and rearrange dct tabs to be able to use consecutive addresses (this allows additional optimization for ARM through ldm-usage). Define a macro for identical butterfly operations and exchange 2 butterflyies with less compex operations.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27384 a1c6a512-1295-4272-9138-f99709370657
2010-07-11 14:40:05 +00:00
Jens Arnold
911ed00171
Revert accidental change.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27382 a1c6a512-1295-4272-9138-f99709370657
2010-07-11 13:58:02 +00:00
Jens Arnold
12857cedfa
EMACify HE-AAC QMF on coldfire: 5% speedup on MCF5249.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27381 a1c6a512-1295-4272-9138-f99709370657
2010-07-11 13:44:41 +00:00
Andree Buschmann
6cf66eb08c
Refacture parts of libfaad filterbank. Faster windowing for 8-short-window sequences.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27380 a1c6a512-1295-4272-9138-f99709370657
2010-07-11 12:33:35 +00:00
Thomas Martitz
57613ea5fa
Rename/change SIMVER to APP_TYPE in the Makefiles.
...
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
2010-07-10 13:49:49 +00:00
Andree Buschmann
2f271ac54a
Just another MHz saved on ARM for aac he decoding.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27365 a1c6a512-1295-4272-9138-f99709370657
2010-07-10 00:11:39 +00:00
Andree Buschmann
e7ffe1cd4a
More work on libfaad's aac he decoder. Resort table to allow more efficient load access.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27364 a1c6a512-1295-4272-9138-f99709370657
2010-07-09 21:42:21 +00:00
Rafaël Carré
ae79b67956
Revert r27359
...
The ipod4g has enough free IRAM when built with gcc 4.4 eabi
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27362 a1c6a512-1295-4272-9138-f99709370657
2010-07-09 19:58:55 +00:00
Andree Buschmann
c6898a0d55
Fix red. Remove a small array from IRAM that is not critical to performance.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27359 a1c6a512-1295-4272-9138-f99709370657
2010-07-09 18:49:33 +00:00
Andree Buschmann
811af5968a
Submit FS#11461. Major speedup for aac he profile (PP5002 +20%, PP5020 +15%, PP5022 +19%, MCF5249 +35%, MCF5250 +80%), still not realtime on most targets though. This change does a lot of refactoring in the sbr filters and the dct, switching to our optimized codeclib fft and tweaking IRAM usage.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27358 a1c6a512-1295-4272-9138-f99709370657
2010-07-09 18:32:37 +00:00
Rafaël Carré
d05a24e64e
wmapro codec sim build needs to link with libm
...
Override generic rule in libwmapro/*.make
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27336 a1c6a512-1295-4272-9138-f99709370657
2010-07-07 17:10:26 +00:00
Andree Buschmann
91d6fa7e1b
Remove unneeded libfaad files from SOURCE.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27320 a1c6a512-1295-4272-9138-f99709370657
2010-07-06 19:23:13 +00:00
Andree Buschmann
5ac3545843
Integrate FS#11445 to raac. In addition remove faad specific pcm conversion and use rockbox' optimized dsp routines. On a 192kbps file and PP5022 the decoding speeds up by 17%.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27319 a1c6a512-1295-4272-9138-f99709370657
2010-07-06 19:20:55 +00:00
Mohamed Tarek
d884af2b99
Partial conversion of the wmapro decoder to fixed point arithmetic. Currently inverse quantization & rescaling,
...
imdct and windowing are all in fixed point.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27302 a1c6a512-1295-4272-9138-f99709370657
2010-07-05 22:33:37 +00:00
Andree Buschmann
4158192975
Submit FS#11450. Change compile option for libfaad to -O2 for ARM target and -O1 for other CPUs. This speeds up decoding by 1-5%.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27297 a1c6a512-1295-4272-9138-f99709370657
2010-07-05 19:29:09 +00:00
Rafaël Carré
3982f1e932
Simulator: build recording code
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27280 a1c6a512-1295-4272-9138-f99709370657
2010-07-04 13:37:52 +00:00
Frank Gevaerts
b8286d45be
Move -Wl,-z,defs to GLOBAL_LDOPTS (instead of GCCOPTS), to avoid noise in older gcc output when not linking
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27260 a1c6a512-1295-4272-9138-f99709370657
2010-07-03 20:58:22 +00:00
Nils Wallménius
a89fea6754
We already build with -fomit-frame-pointer so there's no need to specify that again.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27255 a1c6a512-1295-4272-9138-f99709370657
2010-07-03 11:36:35 +00:00
Andree Buschmann
1e5327eee0
Fix red.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27232 a1c6a512-1295-4272-9138-f99709370657
2010-07-02 04:40:24 +00:00
Andree Buschmann
bcbe317565
r27225 broke AAC HE profile decoding due to missing check for buffersize. Introduce a check of needed buffersize and decide whether to use a static buffer from IRAM or faad's internal allocation routines.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27231 a1c6a512-1295-4272-9138-f99709370657
2010-07-02 04:35:37 +00:00
Andree Buschmann
5633ece5a8
Remove false comment.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27228 a1c6a512-1295-4272-9138-f99709370657
2010-07-01 22:32:46 +00:00
Andree Buschmann
c794c1feae
Fix red and yellow. Needed to remove one codebook from IRAM due to full IRAM on iPod4G.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27226 a1c6a512-1295-4272-9138-f99709370657
2010-07-01 21:39:55 +00:00
Andree Buschmann
52f17dfe9d
Submit FS#11445. Speed up of faad (aac) decoder via several optimizations like refactoring some requantization routines, moving several arrays and code tables to IRAM, using an optimized swap32() function and inlining several huffman decoder functions. Decoding is sped up by ~10% (PP5002, PP5022, MCF5249) and ~22% (MCF5250).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27225 a1c6a512-1295-4272-9138-f99709370657
2010-07-01 21:18:42 +00:00
Nils Wallménius
01f91ed14d
Factor out sane code list bisection code and use instead of insane code, clean up some tests for readability's sake. Gives a small speedup on h300 (coldfire, 0.1-0.6MHz) and a tiny speedup on gigabeat s (armv6 0.1-0.2MHz), no real difference on PP.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27223 a1c6a512-1295-4272-9138-f99709370657
2010-07-01 20:31:07 +00:00
Rafaël Carré
a64fa107d1
mp3 encoder (codec): left and right channels were inverted in mono
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27219 a1c6a512-1295-4272-9138-f99709370657
2010-07-01 14:21:28 +00:00
Rafaël Carré
7da040bf22
encoders are not built in sim builds
...
no need to check for SIMULATOR in the .c files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27209 a1c6a512-1295-4272-9138-f99709370657
2010-07-01 08:40:00 +00:00
Nils Wallménius
7c716d6eac
Clean up a leftover preprocessor symbol and improve the workaround for the 'arm-elf and static functions in iram' quirk so it doesn't affect builds with eabi toolchain (only affects nano2g).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27176 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 14:57:52 +00:00
Andree Buschmann
df238bcaf5
Remove unneeded libmad files from build.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27163 a1c6a512-1295-4272-9138-f99709370657
2010-06-28 06:28:05 +00:00
Andree Buschmann
c6ced1c466
Comment further unused code in libmad.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27160 a1c6a512-1295-4272-9138-f99709370657
2010-06-27 18:59:54 +00:00
Andree Buschmann
4c026f0c7f
Comment unused code in libmad. Clean up initialization and memset'ing of decoder arrays.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27159 a1c6a512-1295-4272-9138-f99709370657
2010-06-27 18:11:07 +00:00
Nils Wallménius
99517d6319
Fix inline asm argument. Shouldn't have much impact in practice but might save a load if gcc is clever.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27157 a1c6a512-1295-4272-9138-f99709370657
2010-06-27 15:15:46 +00:00
Andree Buschmann
96233f9cf7
Refacture libmad's synthesis filter via macro usage. Comment unused special synthesis filter for half bandwidth.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27153 a1c6a512-1295-4272-9138-f99709370657
2010-06-27 11:21:44 +00:00
Andree Buschmann
d7ee0fe076
Housekeeping. Comment musepack code seqments unused in rockbox.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27111 a1c6a512-1295-4272-9138-f99709370657
2010-06-24 18:48:04 +00:00
Andree Buschmann
fc1fab4776
Clean up comments.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27078 a1c6a512-1295-4272-9138-f99709370657
2010-06-23 06:25:18 +00:00
Andree Buschmann
a3541c07de
Disable unneeded parts of mpc's file-I/O interface.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27024 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 18:45:34 +00:00
Thomas Martitz
35e8b1429a
Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #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
2010-06-21 16:53:00 +00:00
Mohamed Tarek
e481e887db
Add a patch file in libwmapro to make it easier to add the library and the decoder to the main build and modify README.rockbox accordingly.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27012 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 12:38:08 +00:00
Mohamed Tarek
8eeec17041
Remove the stubbed main() from wmaprodec.c since it's useless now and remove Makefile for the same reason.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27010 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 12:29:48 +00:00
Mohamed Tarek
e576315c7e
Fix reds. (Actually removed wmapro from main build, which was added in a previous commit)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27008 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 11:08:33 +00:00
Mohamed Tarek
816fca820c
Wrote apps/codecs/wmapro.c and modified libwmapro to make the codec work in the sim. Neither libwmapro nor wmapro.c have been added to the main build yet, codecs.make should be edited to compile both with rockbox.
...
current status of the decoder :
- Plays and seeks in the sim
- Still in floating point
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27006 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 10:48:34 +00:00
Andree Buschmann
dc8af759ce
Fix FS#11416. Resuming mpc was broken since r26032 due to false assumption of amount of buffered data.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26990 a1c6a512-1295-4272-9138-f99709370657
2010-06-20 13:02:31 +00:00
Nils Wallménius
273d05906d
libmad: Optimize away 2 instructions from coldfire III_imdct, no measurable speed difference.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26918 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 13:47:37 +00:00
Rafaël Carré
c0bd4173aa
Make sure files which aren't windows-specific use \n line endings only
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26893 a1c6a512-1295-4272-9138-f99709370657
2010-06-17 16:59:51 +00:00
Nils Wallménius
3d2b1cfa6e
ARMv6 vector mutiplication asm, speeds up vorbis decoding about 0.1MHz on gigabeat S.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26892 a1c6a512-1295-4272-9138-f99709370657
2010-06-17 16:49:39 +00:00
Nils Wallménius
b6c17c2c82
Delete some duplicate inline asm macros since they now live in the codeclib.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26891 a1c6a512-1295-4272-9138-f99709370657
2010-06-17 16:01:20 +00:00
Nils Wallménius
7afea91560
ARMv6 versions of X(N)PROD31 macros and MULT32 macro. Saves about 1MHz or 3% decoding vorbis on gigabeat S.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26889 a1c6a512-1295-4272-9138-f99709370657
2010-06-17 15:24:23 +00:00
Andree Buschmann
4b0c1cf23b
Clean up libmad/mad.h to avoid double or inconsistent definitions of types, functions and structs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26838 a1c6a512-1295-4272-9138-f99709370657
2010-06-14 05:57:20 +00:00
Michael Sevakis
6c921f5e04
Build h10 GB with EABI toolchain. Remove some pointless ICODE attributes from mp3_enc.codec and, to make it build, move one function out of IRAM there since it really shouldn't matter.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26800 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 21:21:36 +00:00
Michael Sevakis
60f843bf18
Configure Gigabeat S with EABI compiler by default. Implement the INIT section that this enables (due to selective need for long calls). Remove pcm_postinit from INIT section since it's asynchronous. Disable strict aliasing on SPC codec for now just to shut it up.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26779 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 14:39:35 +00:00
Rafaël Carré
45c7498f59
FS#11335 by me: make ARM assembly functions thumb-friendly
...
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-11 04:41:36 +00:00