summaryrefslogtreecommitdiff
path: root/apps/codecs
AgeCommit message (Collapse)Author
2011-02-03Submit FS#11918: Add 2 more codec types to be able to differentiate between ↵Andree Buschmann
AAC / AAC-HE and MPC SV7 / SV8. Additionally handle ATARI soundfiles in get_codec_base_type() as intended. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29199 a1c6a512-1295-4272-9138-f99709370657
2011-02-02Find a more consistent and resilient way to handle SBR upsampled files. The ↵Andree Buschmann
detection is only done in one place (the metadata parser) and takes into account that the m4a header might already report corrected frame/sample sizes. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29188 a1c6a512-1295-4272-9138-f99709370657
2011-02-02Recognize AAC-HE SBR with upsampling and correct duration, bitrate, seek and ↵Andree Buschmann
resume behaviour for such files. When SBR upsampling is used the decoder outputs the double amount of samples per frame. As the seek and resume functions do not know about this fact a special handling is introduced. Fixes issues reported in FS#11916. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29186 a1c6a512-1295-4272-9138-f99709370657
2011-02-01Add a safety check in the resume seek code, just in case.Magnus Holmgren
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29181 a1c6a512-1295-4272-9138-f99709370657
2011-02-01We seeked one chunk too far when resuming m4a files.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29180 a1c6a512-1295-4272-9138-f99709370657
2011-01-31Rework m4a seek/resume code. Seek/resume does now also work properly with ↵Andree Buschmann
files having sample_to_chunk of 1 or 2. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29178 a1c6a512-1295-4272-9138-f99709370657
2011-01-31Fix resume for m4a files. Solves FS#9306.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29175 a1c6a512-1295-4272-9138-f99709370657
2011-01-30Use __builtin_constant_p() to select the best byteswapping method: constant ↵Michael Sevakis
or target optimized. Same macro can then be used for constant values and inits as well as non-constant. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29171 a1c6a512-1295-4272-9138-f99709370657
2011-01-19SPC Codec: AS3525 targets should be fast enough for realtime BRR decode and ↵Michael Sevakis
echo. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29089 a1c6a512-1295-4272-9138-f99709370657
2011-01-12Switch coldfire builds over to new toolchain using gcc 4.5.2 and binutils 2.20.1Nils Wallménius
Retune codec compiler optimizations with new compiler. Overall speedup with aac and flac getting big speedups. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29042 a1c6a512-1295-4272-9138-f99709370657
2010-12-27Redo r28026 so that all .S files get the __ASSEMBLER__ define.Thomas Martitz
Patch by Thomas Jarosch. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28913 a1c6a512-1295-4272-9138-f99709370657
2010-12-27Fix profiling on coldfire with newer Gcc.Nils Wallménius
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-25Add stdio.h include for SEEK_SET define to various files.Thomas Martitz
Patch by Thomas Jarosch. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28892 a1c6a512-1295-4272-9138-f99709370657
2010-12-23SPC Codec: Was broken on ARMv6 since EABI switch and somehow I failed to ↵Michael Sevakis
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-21libwavpack: put some lookup tables in iram, speedup of 8-10% on coldfire (h300).Nils Wallménius
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28873 a1c6a512-1295-4272-9138-f99709370657
2010-12-21aac: put two local structs on the stack as they are small and the codec uses ↵Nils Wallménius
little stack anyway ( < 20% on h300) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28872 a1c6a512-1295-4272-9138-f99709370657
2010-12-15Add a newline to a debugf printing an error.Nils Wallménius
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28838 a1c6a512-1295-4272-9138-f99709370657
2010-12-12Revert tab police as it makes merging upstream changes more annoying and ↵Nils Wallménius
messed up indentation in some places. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28818 a1c6a512-1295-4272-9138-f99709370657
2010-12-12Tab police.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28817 a1c6a512-1295-4272-9138-f99709370657
2010-12-08libtremor: merge upstream revisions 17541, 17542, 17543, 17544, 17545, ↵Nils Wallménius
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-08libtremor: merge upstream revision 17539 and 17540 'Additional codebook ↵Nils Wallménius
validity checks.' git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28771 a1c6a512-1295-4272-9138-f99709370657
2010-12-08libtremor: merge upstream revision 17538 'Fix decoder handling of floor0 ↵Nils Wallménius
when the LSP order is 1.' git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28770 a1c6a512-1295-4272-9138-f99709370657
2010-12-08libtremor: merge upstream revision 17534 and 17536, fixing a possible 64 bit ↵Nils Wallménius
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-08libtremor: merge upstream revision 17528-17530, more error checking and bug ↵Nils Wallménius
fixes git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28768 a1c6a512-1295-4272-9138-f99709370657
2010-12-08libtremor: merge upstream revision 17527, 'Eliminate possibility of booklist ↵Nils Wallménius
overflow in res0/1/2 unpacking.' git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28767 a1c6a512-1295-4272-9138-f99709370657
2010-12-08libtremor: merge upstream revision 17526 and 17531, adding some more error ↵Nils Wallménius
checking. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28766 a1c6a512-1295-4272-9138-f99709370657
2010-12-07libtremor: merge upstream revision 17525 'Commit additional hardening to ↵Nils Wallménius
setup packet decode.' git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28762 a1c6a512-1295-4272-9138-f99709370657
2010-12-07libtremor: merge upstream revision 17524 more sanity checking.Nils Wallménius
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28761 a1c6a512-1295-4272-9138-f99709370657
2010-12-07libtremor: merge upstream revision 17522 and 17523 adding more sanity checking.Nils Wallménius
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28760 a1c6a512-1295-4272-9138-f99709370657
2010-12-07libtremor: merge upstream revision 17520 and 17521 tweaking some of the ↵Nils Wallménius
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-07libtremor: merge upstream revision 17519 'Correct an accidental ↵Nils Wallménius
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-06libtremor: merge upstream revision 17518 actually returning failure code ↵Nils Wallménius
from vorbis_synthesis_init git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28750 a1c6a512-1295-4272-9138-f99709370657
2010-12-06libtremor: export a libogg function that is now needed.Nils Wallménius
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28749 a1c6a512-1295-4272-9138-f99709370657
2010-12-06libtremor: merge part of upstream revision 17514 adding some limit checking ↵Nils Wallménius
for allocations when unpacking comments. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28748 a1c6a512-1295-4272-9138-f99709370657
2010-12-06libtremor: merge upstream revision 17513 'Add code to prevent heap attacks ↵Nils Wallménius
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-06libtremor: merge upstream revision 17512 'Correctly handle the nonsensical ↵Nils Wallménius
codebook.dim==0 case.' git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28746 a1c6a512-1295-4272-9138-f99709370657
2010-12-06libtremor: merge upstream revision 17511 'Add checks/rejection for absurdly ↵Nils Wallménius
huge codebooks.' git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28745 a1c6a512-1295-4272-9138-f99709370657
2010-12-06libtremor: merge upstream revision 17510.Nils Wallménius
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28744 a1c6a512-1295-4272-9138-f99709370657
2010-12-06libtremor:Nils Wallménius
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-05make WavPack library check the extent of the block that it is parsing so ↵Dave Bryant
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-04libtremor: merge upstream revision 17374 and some inline/icode tweaks to ↵Nils Wallménius
maintain speed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28732 a1c6a512-1295-4272-9138-f99709370657
2010-12-01Remove tabsAndree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28719 a1c6a512-1295-4272-9138-f99709370657
2010-12-01codeclib: inline assembler for fft4 and fft8 on coldfire, small 0.2-0.3MHz ↵Nils Wallménius
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-11-29ARM9 optimized synth_full for libmad. Speeds up mp3 decoding by an even 2 ↵Michael Giacomelli
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-26libtremor: small tweak to coldfire inline asm function MULT31_SHIFT15, ↵Nils Wallménius
saving one instruction, *tiny* speedup, output unchanged git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28666 a1c6a512-1295-4272-9138-f99709370657
2010-11-24codeclib: there is no need to limit the outputs of the coldfire X(N)PROD_R ↵Nils Wallménius
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-23codeclib: don't mark the outputs for the coldfire X(N)PROD_R asm macros as ↵Nils Wallménius
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-22Use MEM_ALIGN_ATTR in libatrac3.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28643 a1c6a512-1295-4272-9138-f99709370657
2010-11-22Fix bug in libatrac which lead to playback errors and/or distortions with ↵Andree Buschmann
some atrac3 files. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28642 a1c6a512-1295-4272-9138-f99709370657
2010-11-22Align various libwma buffers. Saves about 1 MHz on the Gigabeat S.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28640 a1c6a512-1295-4272-9138-f99709370657