summaryrefslogtreecommitdiff
path: root/apps/codecs/libatrac (follow)
Commit message (Collapse)AuthorAge
* Add codecs to librbcodec.Sean Bartell2012-04-25
| | | | | | | Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97 Reviewed-on: http://gerrit.rockbox.org/137 Reviewed-by: Nils Wallménius <nils@rockbox.org> Tested-by: Nils Wallménius <nils@rockbox.org>
* FS#12231Nils Wallménius2011-08-18
| | | | | | | | | | | | | | | | | Centralize the selection of codec compilation flags to codec.make to avoid having to duplicate the per cpu selection logic and the build rule in the individual codec lib make files and make tweaking easier. The two special cases, libmad and libspeex were left alone. I plan to introduce a var for arm generation so that appropriate flags can be selected per generation as benchmarking results have shown that different arm arches might have different optimal flags. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30330 a1c6a512-1295-4272-9138-f99709370657
* FS#12141 by Sean BartellNils Wallménius2011-06-02
| | | | | | | | | | | 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
* FS#12140 by Sean Bartell, Make various codec stuff static.Nils Wallménius2011-06-01
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29942 a1c6a512-1295-4272-9138-f99709370657
* FS#12117: Use more IRAM for atrac3. Speeds up decoding from 1-2% (PP5022, ↵Andree Buschmann2011-05-16
| | | | | | PP5024, S5L870x) to 11% (MCF5250). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29892 a1c6a512-1295-4272-9138-f99709370657
* Switch coldfire builds over to new toolchain using gcc 4.5.2 and binutils 2.20.1Nils Wallménius2011-01-12
| | | | | | | 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
* Use MEM_ALIGN_ATTR in libatrac3.Andree Buschmann2010-11-22
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28643 a1c6a512-1295-4272-9138-f99709370657
* Fix bug in libatrac which lead to playback errors and/or distortions with ↵Andree Buschmann2010-11-22
| | | | | | some atrac3 files. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28642 a1c6a512-1295-4272-9138-f99709370657
* Remove tabs.Andree Buschmann2010-11-21
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28635 a1c6a512-1295-4272-9138-f99709370657
* Remove some benchmarking code accidentally included in the previous commit.Michael Giacomelli2010-11-10
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28550 a1c6a512-1295-4272-9138-f99709370657
* Commit FS#11709 by me. Introduces ARMv5E optimized iQMF for atrac3 based on ↵Michael Giacomelli2010-11-10
| | | | | | 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
* Introduce macros to ARM asm atrac3 filterbank for better readability.Andree Buschmann2010-11-10
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28546 a1c6a512-1295-4272-9138-f99709370657
* set mode argument for open() where O_CREAT flag is/can be set.Teruaki Kawashima2010-11-07
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28527 a1c6a512-1295-4272-9138-f99709370657
* Submit FS#11502. Minor optimization to Coldfire assembler in libatrac's ↵Andree Buschmann2010-07-28
| | | | | | fixmul16(). Thanks to Nils Willménius. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27596 a1c6a512-1295-4272-9138-f99709370657
* libatrac: Coldfire asm for atrac3_iqmf_dewindowing, speeds up decoding of my ↵Nils Wallménius2010-07-26
| | | | | | atrac3 rm file by 45%. Based on preliminary patch by Andree Buschmann git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27578 a1c6a512-1295-4272-9138-f99709370657
* libatrac: Set the emac mode on coldfire, fixes whitenoise output if playing ↵Nils Wallménius2010-07-23
| | | | | | an atrac file after using a codec that sets macsr to integer mode. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27536 a1c6a512-1295-4272-9138-f99709370657
* Introduce macros for identical multiply-add blocks.Andree Buschmann2010-07-23
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27535 a1c6a512-1295-4272-9138-f99709370657
* Sync codeclib bitstream code with upstream ffmpeg code. Build ↵Nils Wallménius2010-07-15
| | | | | | ffmpeg_bitstream.c as a part of the codec lib. Use this codeclib implementation in libffmpegFLAC. Implement adapted version of the unaligned longword reading optimization for coldfire from the libwma version of this code. Speeds up cook decoding by 2-3% on h300 and flac by 25% on h300, also speeds up flac decoding by 2% on c200 (decoding speed of cook on c200 is unchanged). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27430 a1c6a512-1295-4272-9138-f99709370657
* Make sure files which aren't windows-specific use \n line endings onlyRafaël Carré2010-06-17
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26893 a1c6a512-1295-4272-9138-f99709370657
* FS#11335 by me: make ARM assembly functions thumb-friendlyRafaël Carré2010-06-11
| | | | | | | | | | | | | We can't pop into pc on ARMv4t when using thumb: the T bit won't be modified if we are returning to a thumb function Code running on ARMv4t should use the new ldrpc / ldmpc macros instead of ldr pc, [sp], #4 and ldm(cond) sp!, {regs, pc} No modification on pure ARM builds and ARMv5+ Note: USE_THUMB is currently never defined, no targets can currently be built with -mthumb, see FS#6734 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26756 a1c6a512-1295-4272-9138-f99709370657
* Small changes to asm for better readability.Andree Buschmann2010-05-29
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26375 a1c6a512-1295-4272-9138-f99709370657
* Move c/h files implementing/defining standard library stuff into a new libc ↵Thomas Martitz2010-05-06
| | | | | | | | directory, also standard'ify some parts of the code base (almost entirely #include fixes). This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
* Fix comment on interpolation macro.Andree Buschmann2010-03-12
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25136 a1c6a512-1295-4272-9138-f99709370657
* Fix playback of atrac3 joint stereo encoded files. Define the interpolation ↵Andree Buschmann2010-03-12
| | | | | | macro in the right way. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25135 a1c6a512-1295-4272-9138-f99709370657
* Reinstate ICONST_ATTR for matrixCoeffs_fix ; remove (silly) gain_tab1 and ↵Dave Hooper2010-02-20
| | | | | | replace with a simple bitshift in the code git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24788 a1c6a512-1295-4272-9138-f99709370657
* Remove ICONST_ATTR from some tables, to fit into PP5020 iram (now that mdct ↵Dave Hooper2010-02-20
| | | | | | is in iram it's a bit of a squeeze). (per Buschel on irc) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24787 a1c6a512-1295-4272-9138-f99709370657
* Fix yellow (bad function declaration)Dave Hooper2010-02-17
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24714 a1c6a512-1295-4272-9138-f99709370657
* Merge from branches/mdctexp - faster ifft+imdct in codec libDave Hooper2010-02-17
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24712 a1c6a512-1295-4272-9138-f99709370657
* 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
* 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
* 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
* 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
* Further performance optimization of the atrac3 decoder. Rework the internal ↵Andree Buschmann2009-08-30
| | | | | | sample representation and usage of dsp routines. For now a quick and dirty solution is used to add a fract part of 2 bits. Through this several buffers and functions as well as copy loops could be removed. Furthermore add some ASM for coldfire and place some additional data in IRAM on PP5022/24 and X5/M5. Speedup on ARM: +3%, speedup on Coldfire: +639%. Both ARM and Coldfire can decode in realtime now. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22561 a1c6a512-1295-4272-9138-f99709370657
* fix redAndree Buschmann2009-08-29
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22549 a1c6a512-1295-4272-9138-f99709370657
* Submit interim version of FS#10565. Performance optimization of atrac3 ↵Andree Buschmann2009-08-29
| | | | | | decoder for ARM. Introduce ASM routines for multiplications and two synthesis loops, refactured parts of synthesis and windowing. Speeds up decoding by a factor of 2.4 on PP502x. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22548 a1c6a512-1295-4272-9138-f99709370657
* Put the lookup tables into iram ; 2% speedup on ColdFire 1% on ARMMohamed Tarek2009-08-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22345 a1c6a512-1295-4272-9138-f99709370657
* Make those functions actually inline. Around 20% speedup on coldfire, 10% ↵Jens Arnold2009-08-16
| | | | | | speedup on arm. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22344 a1c6a512-1295-4272-9138-f99709370657
* Revert r22339 as it causes immediate stack overflow on target, at least on ↵Jens Arnold2009-08-16
| | | | | | coldfire. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22341 a1c6a512-1295-4272-9138-f99709370657
* Put QMF coefficients into IRAM. Update test program to still compile with ↵Michael Giacomelli2009-08-16
| | | | | | IBSS_ATTR defined. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22340 a1c6a512-1295-4272-9138-f99709370657
* Make the IMDCT temporary working buffer a local variable instead of keeping ↵Michael Giacomelli2009-08-16
| | | | | | one for each channel. Saves 4KB of RAM. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22339 a1c6a512-1295-4272-9138-f99709370657