Thomas Martitz
0bf1bd1d51
Redo r28026 so that all .S files get the __ASSEMBLER__ define.
...
Patch by Thomas Jarosch.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28913 a1c6a512-1295-4272-9138-f99709370657
2010-12-27 17:27:59 +00:00
Nils Wallménius
479414facc
Fix profiling on coldfire with newer Gcc.
...
In switch_thread, make the call to profile_thread_stopped from an inline asm block to make sure the sp is pointing to the right place before storing the context. This apparently worked by luck with the old Gcc.
The workaround used for coldfire in the codeclib's __cyg_profile_func_enter does not work with newer gcc, however the workaround isn't needed for those so enable it only for coldfire gcc version < 4.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28908 a1c6a512-1295-4272-9138-f99709370657
2010-12-27 09:49:33 +00:00
Thomas Martitz
6a9a8197b3
Add stdio.h include for SEEK_SET define to various files.
...
Patch by Thomas Jarosch.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28892 a1c6a512-1295-4272-9138-f99709370657
2010-12-25 18:43:34 +00:00
Michael Sevakis
6e4e5ea757
SPC Codec: Was broken on ARMv6 since EABI switch and somehow I failed to notice in the first place (and so did eveyone else it seems :). Some early-clobber constraints were needed on inline assemebly operands. In some places, they aren't necessary where they were used, so remove those.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28880 a1c6a512-1295-4272-9138-f99709370657
2010-12-23 07:36:21 +00:00
Nils Wallménius
d5c082598d
libwavpack: put some lookup tables in iram, speedup of 8-10% on coldfire (h300).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28873 a1c6a512-1295-4272-9138-f99709370657
2010-12-21 14:08:41 +00:00
Nils Wallménius
74cc5c77e3
aac: put two local structs on the stack as they are small and the codec uses little stack anyway ( < 20% on h300)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28872 a1c6a512-1295-4272-9138-f99709370657
2010-12-21 13:35:02 +00:00
Nils Wallménius
984e1a860c
Add a newline to a debugf printing an error.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28838 a1c6a512-1295-4272-9138-f99709370657
2010-12-15 21:28:52 +00:00
Nils Wallménius
a47c04f0c8
Revert tab police as it makes merging upstream changes more annoying and messed up indentation in some places.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28818 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 17:59:05 +00:00
Andree Buschmann
b655f58406
Tab police.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28817 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 17:18:19 +00:00
Nils Wallménius
2aa511f6bd
libtremor: merge upstream revisions 17541, 17542, 17543, 17544, 17545, 17546, 17547, 17555, 17572, bringing in various fixes and finally bringing our libtremor up to date, for now.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28773 a1c6a512-1295-4272-9138-f99709370657
2010-12-08 17:28:17 +00:00
Nils Wallménius
f6297c1f3e
libtremor: merge upstream revision 17539 and 17540 'Additional codebook validity checks.'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28771 a1c6a512-1295-4272-9138-f99709370657
2010-12-08 16:48:17 +00:00
Nils Wallménius
7484fd3b18
libtremor: merge upstream revision 17538 'Fix decoder handling of floor0 when the LSP order is 1.'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28770 a1c6a512-1295-4272-9138-f99709370657
2010-12-08 16:44:08 +00:00
Nils Wallménius
199b2a84e2
libtremor: merge upstream revision 17534 and 17536, fixing a possible 64 bit math overflow and correct types for some comparisons.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28769 a1c6a512-1295-4272-9138-f99709370657
2010-12-08 16:34:25 +00:00
Nils Wallménius
c0e3e16285
libtremor: merge upstream revision 17528-17530, more error checking and bug fixes
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28768 a1c6a512-1295-4272-9138-f99709370657
2010-12-08 16:07:46 +00:00
Nils Wallménius
a5897697f9
libtremor: merge upstream revision 17527, 'Eliminate possibility of booklist overflow in res0/1/2 unpacking.'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28767 a1c6a512-1295-4272-9138-f99709370657
2010-12-08 15:47:56 +00:00
Nils Wallménius
715749a7f4
libtremor: merge upstream revision 17526 and 17531, adding some more error checking.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28766 a1c6a512-1295-4272-9138-f99709370657
2010-12-08 15:42:40 +00:00
Nils Wallménius
1930e9f4ba
libtremor: merge upstream revision 17525 'Commit additional hardening to setup packet decode.'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28762 a1c6a512-1295-4272-9138-f99709370657
2010-12-07 16:55:36 +00:00
Nils Wallménius
02f836b1b2
libtremor: merge upstream revision 17524 more sanity checking.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28761 a1c6a512-1295-4272-9138-f99709370657
2010-12-07 16:27:41 +00:00
Nils Wallménius
0bfa899544
libtremor: merge upstream revision 17522 and 17523 adding more sanity checking.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28760 a1c6a512-1295-4272-9138-f99709370657
2010-12-07 16:22:51 +00:00
Nils Wallménius
13eac3bd2f
libtremor: merge upstream revision 17520 and 17521 tweaking some of the recently introduced chaecks to not reject files made with buggy beta encoders.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28759 a1c6a512-1295-4272-9138-f99709370657
2010-12-07 16:12:32 +00:00
Nils Wallménius
d44fb16feb
libtremor: merge upstream revision 17519 'Correct an accidental dereference-before-check in error cleanup in comments.'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28758 a1c6a512-1295-4272-9138-f99709370657
2010-12-07 16:08:26 +00:00
Nils Wallménius
23321dca5e
libtremor: merge upstream revision 17518 actually returning failure code from vorbis_synthesis_init
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28750 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 17:35:36 +00:00
Nils Wallménius
2aa76d7a18
libtremor: export a libogg function that is now needed.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28749 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 17:16:45 +00:00
Nils Wallménius
c28778fb5a
libtremor: merge part of upstream revision 17514 adding some limit checking for allocations when unpacking comments.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28748 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 17:15:00 +00:00
Nils Wallménius
bdf8a243fa
libtremor: merge upstream revision 17513 'Add code to prevent heap attacks by exploiting dim==bignum and partition_codewords==partion_values^dim.'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28747 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 16:48:57 +00:00
Nils Wallménius
0d43bf6a88
libtremor: merge upstream revision 17512 'Correctly handle the nonsensical codebook.dim==0 case.'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28746 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 16:44:40 +00:00
Nils Wallménius
8a239cf4f7
libtremor: merge upstream revision 17511 'Add checks/rejection for absurdly huge codebooks.'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28745 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 16:40:05 +00:00
Nils Wallménius
4487107d25
libtremor: merge upstream revision 17510.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28744 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 16:34:21 +00:00
Nils Wallménius
67efbc1387
libtremor:
...
Merge in upstream revision 17375.
This removes tremor's internal ogg code and now uses libogg instead so a bunch of changes are just adjusting to the new api. Also brings in improvements to vorbisfile which fixes FS#10484.
Disabled a lot of unused code in the libogg files and moved some small functions into the ogg.h header so they can be inlined. Some small tweaks to fix warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28742 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 14:36:52 +00:00
Dave Bryant
516693fcc9
make WavPack library check the extent of the block that it is parsing so that it cannot run into the next block; also enhance the metadata code to handle the case of files with non-audio blocks at the beginning (which can happen if the source WAV file has lots of RIFF data)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28736 a1c6a512-1295-4272-9138-f99709370657
2010-12-05 19:25:32 +00:00
Nils Wallménius
911f2a7dac
libtremor: merge upstream revision 17374 and some inline/icode tweaks to maintain speed.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28732 a1c6a512-1295-4272-9138-f99709370657
2010-12-04 12:59:37 +00:00
Andree Buschmann
1b093cf297
Remove tabs
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28719 a1c6a512-1295-4272-9138-f99709370657
2010-12-01 18:35:01 +00:00
Nils Wallménius
71ad3679dc
codeclib: inline assembler for fft4 and fft8 on coldfire, small 0.2-0.3MHz 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
2010-12-01 11:27:30 +00:00
Michael Giacomelli
9929512682
ARM9 optimized synth_full for libmad. Speeds up mp3 decoding by an even 2 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-29 22:34:51 +00:00
Nils Wallménius
b397fe5ae3
libtremor: small tweak to coldfire inline asm function MULT31_SHIFT15, saving one instruction, *tiny* speedup, output unchanged
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28666 a1c6a512-1295-4272-9138-f99709370657
2010-11-26 10:45:33 +00:00
Nils Wallménius
ff9e1861b3
codeclib: there is no need to limit the outputs of the coldfire X(N)PROD_R macros to data registers, no significant speed diff
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28656 a1c6a512-1295-4272-9138-f99709370657
2010-11-24 12:01:08 +00:00
Nils Wallménius
8802c5de9d
codeclib: don't mark the outputs for the coldfire X(N)PROD_R asm macros as 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
2010-11-23 11:58:00 +00:00
Andree Buschmann
5e6b9f7ed4
Use MEM_ALIGN_ATTR in libatrac3.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28643 a1c6a512-1295-4272-9138-f99709370657
2010-11-22 23:41:57 +00:00
Andree Buschmann
dedffd3f40
Fix bug in libatrac which lead to playback errors and/or distortions with some atrac3 files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28642 a1c6a512-1295-4272-9138-f99709370657
2010-11-22 23:26:39 +00:00
Michael Giacomelli
e5361590e7
Align various libwma buffers. Saves about 1 MHz on the Gigabeat S.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28640 a1c6a512-1295-4272-9138-f99709370657
2010-11-22 07:04:32 +00:00
Michael Giacomelli
0e53651062
Force alignment of various data structures in libmad. Speeds up Gigabeat S decoding by about 1MHz.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28639 a1c6a512-1295-4272-9138-f99709370657
2010-11-22 02:51:13 +00:00
Andree Buschmann
f99b896017
Remove tabs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28635 a1c6a512-1295-4272-9138-f99709370657
2010-11-21 21:54:46 +00:00
Andree Buschmann
1aac58553c
Comment unused function.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28634 a1c6a512-1295-4272-9138-f99709370657
2010-11-21 18:59:24 +00:00
Andree Buschmann
3c83cea151
Remove unused define.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28633 a1c6a512-1295-4272-9138-f99709370657
2010-11-21 18:48:45 +00:00
Andree Buschmann
6cff0e72de
Use MEM_ALIGN_ATTR in libdemac instead of fixed alignment. Speeds up arm11 by ~6%.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28632 a1c6a512-1295-4272-9138-f99709370657
2010-11-21 17:58:42 +00:00
Andree Buschmann
0dbc4a6cae
Use MEM_ALIGN_ATTR in mpc codec. Speed up by 22-24% was measured on ARM11.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28627 a1c6a512-1295-4272-9138-f99709370657
2010-11-21 14:03:55 +00:00
Michael Giacomelli
f54cbfa164
Commit first part of FS#11235 by Buschel and I. Improves scheduling on arm9 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-20 19:06:05 +00:00
Nils Wallménius
8a2c480af7
libtremor: Use larger cachesize for codebook decoding on targets with 1MB codec buffer.
...
speedups as follows:
~3%/2MHz on high bitrate files (500kbps) on Gigabeat S
~1%/0.5MHz on high bitrate files (500kbps) on Fuze v1
~3%/1MHz (128kbps) - 12%/7MHz (500kbps) on H300
~2%/0.5MHz (128kbps) - 10%/3.5MHz (500kbps) on C200 v1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28615 a1c6a512-1295-4272-9138-f99709370657
2010-11-18 15:51:59 +00:00
Michael Giacomelli
b965c24c0b
ffmpeg flac does actually support up to 192k sample rates, and my test file seems to decode fine, so lets enable it. Note that using 192khz is over 6 times slower then 44.1khz on my test file, so I recommend sticking to more reasonable bitrates.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28609 a1c6a512-1295-4272-9138-f99709370657
2010-11-17 00:49:09 +00:00
Nils Wallménius
76027b5951
libtremor: correct constraint for coldfire asm, swap can only be used on data registers.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28604 a1c6a512-1295-4272-9138-f99709370657
2010-11-15 16:02:17 +00:00