Commit graph

87 commits

Author SHA1 Message Date
Nils Wallménius
f2e7c05c22 libtremor: comment out unused struct member.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29987 a1c6a512-1295-4272-9138-f99709370657
2011-06-09 06:46:44 +00:00
Nils Wallménius
e62b9a9aae libtremor: Implement a memory configuration for targets that don't use separate iram for codecs.
Such targets would previously default to using the configuration for targets with small iram which uses an extra memcpy per block.
This saves 2MHz decoding a 128kbps vorbis file on the Gigabeat S and saves a bit of codec buffer.
Patch from FS#11268, also replaces patch from FS#12147.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29976 a1c6a512-1295-4272-9138-f99709370657
2011-06-06 13:27:12 +00:00
Nils Wallménius
684b74147f Safe part of FS#11268, saving some codec buffer space for targets that don't use separate iram.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29975 a1c6a512-1295-4272-9138-f99709370657
2011-06-05 20:18:31 +00:00
Nils Wallménius
03c12a7906 Delete old unused macro.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29962 a1c6a512-1295-4272-9138-f99709370657
2011-06-05 09:27:58 +00:00
Nils Wallménius
4909e09267 FS#12141 by Sean Bartell
Some of these were found with http://www.samba.org/junkcode/#findstatic. Changes of note:
* The old MDCT has been removed.
* Makefile.test files that create test programs for libatrac, libcook, and libffmpegFLAC have been removed, as they don't work. My project will have a replacement that works with all codecs.
* I've tried not to remove anything useful. CLIP_TO_15 was removed from libtremor because there's another copy (also commented) in codeclib.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29945 a1c6a512-1295-4272-9138-f99709370657
2011-06-02 14:59:15 +00:00
Nils Wallménius
7c6056b352 FS#12140 by Sean Bartell, Make various codec stuff static.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29942 a1c6a512-1295-4272-9138-f99709370657
2011-06-01 10:28:26 +00:00
Andree Buschmann
e720724b95 Use MEM_ALIGN_ATTR and CACHEALIGN_SIZE in oggmalloc to ensure optimal alignment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29833 a1c6a512-1295-4272-9138-f99709370657
2011-05-08 16:41:23 +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
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
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
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
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
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
Nils Wallménius
dfac9503eb libtremor: tweak a hot function for codebook decoding, mostly moving pointer lookups outside the loop. Speeds up decoding by 3-6% on Coldfire and a small speedup on arm too
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28419 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 14:48:40 +00:00
Nils Wallménius
78b2711e58 libtremor: introduce asm optimized version of the channel_couple function for Coldfire and optimize the arm as version, speedup ~1% on Coldfire and PortalPlayer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28405 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 08:19:19 +00:00
Nils Wallménius
c1bfe4eb62 libtremor: tiny optimization 0.5%-1.5% on coldfire and PP
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28285 a1c6a512-1295-4272-9138-f99709370657
2010-10-16 09:58:21 +00:00
Nils Wallménius
d660e9655c Move ffmpeg functions to their own file to avoid mixing code under different liceses in the same file. Licensing is fun!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27859 a1c6a512-1295-4272-9138-f99709370657
2010-08-22 20:14:25 +00:00
Nils Wallménius
8b5f3cabcc forgot comment
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27858 a1c6a512-1295-4272-9138-f99709370657
2010-08-22 19:54:17 +00:00
Nils Wallménius
ca47ed6cba libtremor: use render_line from ffmpeg (libavcodec/vorbis.c), speedup ~1% on both arm and coldfire, output unchanged.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27857 a1c6a512-1295-4272-9138-f99709370657
2010-08-22 19:50:26 +00:00
Nils Wallménius
13d0eca71d libtremor: fix possible memoryleak when playing several ogg vorbis files in sequence, hopefully fixes FS#11533
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27776 a1c6a512-1295-4272-9138-f99709370657
2010-08-12 07:50:29 +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
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
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
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
Andree Buschmann
6805448195 Correction to clobber lists of several codec's inline assembly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26376 a1c6a512-1295-4272-9138-f99709370657
2010-05-29 15:00:10 +00:00
Nils Wallménius
889b4a8ce8 Two tiny tweaks to some arm asm
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25993 a1c6a512-1295-4272-9138-f99709370657
2010-05-13 09:44:05 +00:00
Nils Wallménius
85f0873682 Simplify special case function, speedup of about 0.2MHz on both coldfire and pp decoding the files in the test set
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25977 a1c6a512-1295-4272-9138-f99709370657
2010-05-12 22:41:17 +00:00