1
0
Fork 0
forked from len0rd/rockbox
Commit graph

1625 commits

Author SHA1 Message Date
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
Andree Buschmann
bb56bc4ba0 Minor speed up of mpc requantization.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28563 a1c6a512-1295-4272-9138-f99709370657
2010-11-12 07:09:09 +00:00
Andree Buschmann
ee610d47c7 Re-submit ARM asm optimizations in mpc synthesis as the performance regressions on S5L870x have been solved with r28561.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28562 a1c6a512-1295-4272-9138-f99709370657
2010-11-12 07:07:57 +00:00
Andree Buschmann
3f4e0cf25b Set alignment for major data arrays in the mpc codec. This avoids performance regressions on S5L870x CPUs when changing code and allows further improvements.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28561 a1c6a512-1295-4272-9138-f99709370657
2010-11-12 07:04:07 +00:00
Michael Giacomelli
c38378eff1 Remove some benchmarking code accidentally included in the previous commit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28550 a1c6a512-1295-4272-9138-f99709370657
2010-11-10 18:34:27 +00:00
Michael Giacomelli
f51189fa4d Commit FS#11709 by me. Introduces ARMv5E optimized iQMF for atrac3 based on packed multiply instructions. Additionally, improves scheduling on arm9 and arm11 and forces cache alignment of buffers on all targets. Accuracy is slightly reduced, but still greater then 16 bit. Clip+ CPU clock required for LP2 files decreases by 13MHz and ARM11 by 18MHz. No performance or accuracy changes on armv4 or non-arm.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28549 a1c6a512-1295-4272-9138-f99709370657
2010-11-10 18:29:29 +00:00
Andree Buschmann
de0fcc3500 Introduce macros to ARM asm atrac3 filterbank for better readability.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28546 a1c6a512-1295-4272-9138-f99709370657
2010-11-10 07:16:04 +00:00
Andree Buschmann
92c38a728e Roll back r28488 as it slows down mpc by 2% on S5L8701.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28545 a1c6a512-1295-4272-9138-f99709370657
2010-11-09 22:19:07 +00:00
Andree Buschmann
ebcfb13a86 Correct comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28540 a1c6a512-1295-4272-9138-f99709370657
2010-11-09 21:48:33 +00:00
Dominik Wenger
23cf4ad82f update the asap codec to version 2.1.2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28535 a1c6a512-1295-4272-9138-f99709370657
2010-11-08 20:25:14 +00:00
Andree Buschmann
5e4dc32287 Clean up libmad, remove unused compile options and source paths.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28532 a1c6a512-1295-4272-9138-f99709370657
2010-11-07 21:42:28 +00:00
Andree Buschmann
2df7a275c1 Tiny refactoring of libmad's synthesis filter. This allows minor speed up and higher precision on ARM, plus a simplification in dct32 configuration.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28531 a1c6a512-1295-4272-9138-f99709370657
2010-11-07 21:15:13 +00:00
Teruaki Kawashima
930a8a5050 set mode argument for open() where O_CREAT flag is/can be set.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28527 a1c6a512-1295-4272-9138-f99709370657
2010-11-07 11:45:20 +00:00
Nils Wallménius
f174c3513b libmusepack: use postindexing on the pointer when storing to increment it for free, saves another instruction in the loop in mpc_decoder_windowing_D speed difference is in the noise though.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28492 a1c6a512-1295-4272-9138-f99709370657
2010-11-05 16:21:25 +00:00
Nils Wallménius
9d98583a18 libmusepack: tiny optimization of the ARMv4 mpc_decoder_windowing_D implementations, using register indexed addressing to store data, saving one instruction in the loop and deleting one instruction adter the loop which isn't needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28488 a1c6a512-1295-4272-9138-f99709370657
2010-11-05 11:49:30 +00:00
Nils Wallménius
dbdc0a8a8c libmusepack: ARMv6 assembler for mpc_decoder_windowing_D, speeds up decoding of 128kbps sample file 2MHz, or 8%, on gigabeat S. The output difference to the c implementation and the other ARM implementation is +/-1 in less than 0.1% of the output samples.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28487 a1c6a512-1295-4272-9138-f99709370657
2010-11-05 11:20:50 +00:00
Andree Buschmann
c355122cce Minor optimization of mpc codec via moving dewindowing asm to icode section for S5L870x.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28454 a1c6a512-1295-4272-9138-f99709370657
2010-11-02 21:13:39 +00:00