summaryrefslogtreecommitdiff
path: root/apps/codecs (follow)
Commit message (Collapse)AuthorAge
* Add the Rockbox GNU header to some files in libatrac.Mohamed Tarek2010-02-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24692 a1c6a512-1295-4272-9138-f99709370657
* Initial support for ATRAC3 streams in wav containers. Mohamed Tarek2010-02-16
| | | | | | | | | | | | | | Current state : - Playback and seeking are possible. - We now support ATRAC3 in any of its possible containers (wav/at3, oma/aa3, and rm/ra). TODO : - Fix joint-stereo decoding for ATRAC3 - the decoder currently produces lots of glitches. - Rename atrac3_oma.c since it works for both oma and wav containers. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24689 a1c6a512-1295-4272-9138-f99709370657
* Fix yellow.Mohamed Tarek2010-02-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24684 a1c6a512-1295-4272-9138-f99709370657
* "Detach" ATRAC3 from RM. Since ATRAC3 isn't really specific to RM, it must ↵Mohamed Tarek2010-02-16
| | | | | | not be obligatory to initialize the decoder through RMContext. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24682 a1c6a512-1295-4272-9138-f99709370657
* Major optimization of atrac3 codec for Coldfire targets. Moving several ↵Andree Buschmann2010-02-15
| | | | | | number cruncher arrays to IRAM. Decoder is sped up by +50% on h300, decoder now finally is realtime on Coldfire targets as well. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24677 a1c6a512-1295-4272-9138-f99709370657
* Minor atrac3 codec optimization. Refacturate requantization of spectral ↵Andree Buschmann2010-02-15
| | | | | | lines, unroll loops. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24672 a1c6a512-1295-4272-9138-f99709370657
* Further optimization of atrac3 codec. Refacturate ↵Andree Buschmann2010-02-15
| | | | | | gainCompensateAndOverlap(), avoid multiplication if not needed, unroll loops. Speeds up codec by 1.1 MHz (+2%) on ARM. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24668 a1c6a512-1295-4272-9138-f99709370657
* Minor speed up of atrac3 codec. Applying 2 bits fract part to scalefactors ↵Andree Buschmann2010-02-15
| | | | | | instead of brute force adding it to the full spectrum. Move decodeSpectrum() to IRAM. Speeds up codec by 1.2 MHz (+2%) on ARM. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24667 a1c6a512-1295-4272-9138-f99709370657
* Work on atrac Joint Stereo mode. Correct calculation in getChannelWeights(), ↵Andree Buschmann2010-02-15
| | | | | | introduce lookup table and remove obsolete code. Optimize interpolation macro. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24665 a1c6a512-1295-4272-9138-f99709370657
* libdemac: Add x86/x86_64 MMX asm for the filters. Not relevant for target ↵Jens Arnold2010-02-15
| | | | | | but speeds up decoding on x86/x86_64 sims. Average speedup ranges from 25% for -c2000 to 3 times for -c5000; on Intel Atom it's even 45% for -c2000 to 6 times for -c5000. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24663 a1c6a512-1295-4272-9138-f99709370657
* revert last commit (r24660). There was a mistake in the location of the Mohamed Tarek2010-02-15
| | | | | | | shifts leading to a deteriorated sound quality for some samples. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24662 a1c6a512-1295-4272-9138-f99709370657
* Fold a 2-bit shift into decodeSpectrum(), saves 1MHz on ARM, +2% Mohamed Tarek2010-02-14
| | | | | | | speedup. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24660 a1c6a512-1295-4272-9138-f99709370657
* Further optimization and minor clean up of atrac codec: Unroll ↵Andree Buschmann2010-02-14
| | | | | | iqmf_dewindowing for non-ARM speeds up decoder by +10% on H300. Removed some non-used arrays. Codec is still not fully realtime on Coldfire targets. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24648 a1c6a512-1295-4272-9138-f99709370657
* Make deceodeSpectrum() store the spectral coefficients of odd bands in ↵Mohamed Tarek2010-02-14
| | | | | | reverse order, rather than having to reverse them in IMLT(). Also saves 0.11MHz, ~0.16% speedup on PP5024. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24641 a1c6a512-1295-4272-9138-f99709370657
* Speed up atrac codec for ARM through simple loop unrolling. Saves 9 MHz on ↵Andree Buschmann2010-02-13
| | | | | | PP5022 (14% speed up). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24637 a1c6a512-1295-4272-9138-f99709370657
* Add support for Sony OMA file format. Currently only supports ATRAC3 ↵Mohamed Tarek2010-02-12
| | | | | | | | | (without DRM), and seeks. Tested on sansa e200. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24615 a1c6a512-1295-4272-9138-f99709370657
* Remove leftover from before make system rework.Jens Arnold2010-02-11
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24602 a1c6a512-1295-4272-9138-f99709370657
* APE: Fused vector math for the filters on ARMv5te. Speedup on Cowon D2 is ↵Jens Arnold2010-02-10
| | | | | | ~4% for -c2000..-c4000 (less for -c5000). Thanks to Frank Gevaerts for testing. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24590 a1c6a512-1295-4272-9138-f99709370657
* APE: Fused vector math for the filters on ARMv6. Speedup is ~2.5% for ↵Jens Arnold2010-02-08
| | | | | | -c2000, ~7% for -c3000 and higher. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24569 a1c6a512-1295-4272-9138-f99709370657
* correctly set playback time in the asap codec. (metadata parser might not do ↵Dominik Wenger2010-02-08
| | | | | | it for all fileformats). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24567 a1c6a512-1295-4272-9138-f99709370657
* Remove more tabsAndree Buschmann2010-02-07
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24550 a1c6a512-1295-4272-9138-f99709370657
* Submit FS#10974: Speed up mpc-codec through changing the dct32-algorithm. ↵Andree Buschmann2010-02-07
| | | | | | +5% on PP5020, +12% on M5. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24544 a1c6a512-1295-4272-9138-f99709370657
* Put back the insane buffer where it belongs on non-ARM, and simplify the ↵Jens Arnold2010-02-04
| | | | | | selection. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24512 a1c6a512-1295-4272-9138-f99709370657
* sync asap codec to ASAP 2.1Dominik Wenger2010-02-04
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24511 a1c6a512-1295-4272-9138-f99709370657
* Fix yellow: add newline at EOF in udiv32_arm-pre.SAndrew Mahone2010-02-04
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24508 a1c6a512-1295-4272-9138-f99709370657
* Use all available codec iram for reciprocal table in APE codec on ARMv4. ↵Andrew Mahone2010-02-04
| | | | | | Done by linking first with the table empty to determine free space, then sizing table to fill it. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24507 a1c6a512-1295-4272-9138-f99709370657
* Move udiv32_arm.S into libdemac, as this divider is specialized for the APE ↵Andrew Mahone2010-02-04
| | | | | | codec and an optimized divider is already provided for general use in codeclib. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24506 a1c6a512-1295-4272-9138-f99709370657
* FS #10690: Add support for 24 bit ALAC files based on libalac 0.2.0Tom Ross2010-02-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24475 a1c6a512-1295-4272-9138-f99709370657
* Reduce reciprocal table size a bit on Nano 2nd Gen as well (fix red).Jens Arnold2010-02-02
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24474 a1c6a512-1295-4272-9138-f99709370657
* APE codec: Speed up decoding of -c2000 and higher on ARMv4 and coldfire by ↵Jens Arnold2010-02-02
| | | | | | fusing vector math for the filters. Speedup is roughly 3.5% for -c2000, 8% for -c3000 and 12% for -c4000. To be extended to other architectures. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24473 a1c6a512-1295-4272-9138-f99709370657
* FS#10943, optimized division and clz routines to replace libgcc routines for ↵Andrew Mahone2010-02-01
| | | | | | ARM. Replaces libgcc support functions for unsigned and signed 32-bit division on ARMv4 and up, and leading-zero count on ARMv4. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24432 a1c6a512-1295-4272-9138-f99709370657
* 1st part of fix for FS#10637. Correction of mpc header parsing.Andree Buschmann2010-01-31
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24408 a1c6a512-1295-4272-9138-f99709370657
* Improve libdemac SATURATE slightly on ARMv4/5, move filter buffers and code ↵Andrew Mahone2010-01-30
| | | | | | out of IRAM for sizes that aren't near realtime and extend udiv32_arm reciprocal table. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24376 a1c6a512-1295-4272-9138-f99709370657
* libpcm: add missing #include and set svn:keywordsBertrik Sikken2010-01-28
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24365 a1c6a512-1295-4272-9138-f99709370657
* Small fix for ARMv5e/v6 APE divider, correct large-divisor path and remove ↵Andrew Mahone2010-01-28
| | | | | | specialized version of it for small dividend, as the test and branch can't be fit into delay slots on that path. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24360 a1c6a512-1295-4272-9138-f99709370657
* Fix red: smlal operand ordering in udiv32_arm.SAndrew Mahone2010-01-28
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24355 a1c6a512-1295-4272-9138-f99709370657
* Improvements to specialized dividers for APE codec:Andrew Mahone2010-01-28
| | | | | | | | | * Use Newton-Raphson divider on ARMv5e and ARMv6, about 7% speedup on Gigabeat S. * On ARMv4 targets using IRAM, remove insane filter buffer from IRAM, fill available IRAM with LUT of reciprocals for small divisors - speedup varies according to target and available IRAM, APE normal sample is approx. 109% RT on e200. * Rename apps/codecs/lib/udiv32_armv4.S to apps/codecs/lib/udiv32_arm.S, which includes dividers for all ARM targets specialized for APE. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24354 a1c6a512-1295-4272-9138-f99709370657
* Try one more time to fix bitness warnings in WAV.Michael Giacomelli2010-01-27
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24349 a1c6a512-1295-4272-9138-f99709370657
* Commit FS#10423 by Yoshihisa Uchida. Adds support for floating point PCM to ↵Michael Giacomelli2010-01-27
| | | | | | libpcm. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24348 a1c6a512-1295-4272-9138-f99709370657
* Fix warnings on 32 bit sim.Michael Giacomelli2010-01-27
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24347 a1c6a512-1295-4272-9138-f99709370657
* Commit FS#10422 by Yoshihisa Uchida. Seperates WAV and AIFF parsing from ↵Michael Giacomelli2010-01-27
| | | | | | PCM decoding by introducing libpcm, a library for decoding linear and non-uniform PCM independently of the container format. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24346 a1c6a512-1295-4272-9138-f99709370657
* *.link: depends on config file where plugin buffer size is setRafaël Carré2010-01-24
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24322 a1c6a512-1295-4272-9138-f99709370657
* This should fix FS#10917, and also fix channel swapping i introduced in ↵Nils Wallménius2010-01-18
| | | | | | r23784. Lets hope the third time's the charm git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24271 a1c6a512-1295-4272-9138-f99709370657
* This should fix FS#10917, unfortunately i have no target evailable to test onNils Wallménius2010-01-18
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24270 a1c6a512-1295-4272-9138-f99709370657
* Fix typo causing l+r mono encoding to use only one channelNils Wallménius2010-01-18
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24269 a1c6a512-1295-4272-9138-f99709370657
* Invert divisor earlier in udiv32_arm, allowing the div0 test to be done ↵Andrew Mahone2010-01-03
| | | | | | before entering the 32-bit divide portion of the code, and making the handling of div0 simpler. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24166 a1c6a512-1295-4272-9138-f99709370657
* Set svn:keywords property on .c and .h files that didn't already have it. ↵Bertrik Sikken2010-01-03
| | | | | | Correct svn:executable property on some files. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24165 a1c6a512-1295-4272-9138-f99709370657
* More tabs removedAndree Buschmann2010-01-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24157 a1c6a512-1295-4272-9138-f99709370657
* Use long jump to reach __div0 from udiv32_arm if building with IRAM and ↵Andrew Mahone2010-01-03
| | | | | | without EABI. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24152 a1c6a512-1295-4272-9138-f99709370657
* More comments for udiv32_armv4.S, reduce zero divisor test to one cycle for ↵Andrew Mahone2010-01-03
| | | | | | the skipped branch by setting flags when inverting divisor, 32-bit numerators are handled by calling the 31-bit divider and fixing the results. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24151 a1c6a512-1295-4272-9138-f99709370657