summaryrefslogtreecommitdiff
path: root/apps/codecs/libfaad (follow)
Commit message (Collapse)AuthorAge
* Restore libfaad's IRAM configuration.Andree Buschmann2010-08-29
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27942 a1c6a512-1295-4272-9138-f99709370657
* Fix FS#11539. Undo r23967 and use another way to achieve results for ↵Andree Buschmann2010-08-29
| | | | | | negative exponents for pow(2,x). This solves heavy distortions on some aac encoded files and clicks/noise on track change. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27941 a1c6a512-1295-4272-9138-f99709370657
* Fix residual aac-he distortion reported via forum. Bug was introduded with ↵Andree Buschmann2010-08-26
| | | | | | r27364. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27898 a1c6a512-1295-4272-9138-f99709370657
* Fix libfaad error that was introduced with r27225. Noise bursts during ↵Andree Buschmann2010-08-23
| | | | | | playback of several files were reported in the forums. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27868 a1c6a512-1295-4272-9138-f99709370657
* faad: move inline function in headerRafaël Carré2010-08-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27683 a1c6a512-1295-4272-9138-f99709370657
* Clean up libfaad's sbr-qmf code. Move array to correct #ifdef-path, ↵Andree Buschmann2010-07-11
| | | | | | introduce macro, beautify indentations. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27394 a1c6a512-1295-4272-9138-f99709370657
* Minor correction to macros, beautification of loop.Andree Buschmann2010-07-11
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27391 a1c6a512-1295-4272-9138-f99709370657
* Further changes to aac-he decoding. Refactor and rearrange dct tabs to be ↵Andree Buschmann2010-07-11
| | | | | | able to use consecutive addresses (this allows additional optimization for ARM through ldm-usage). Define a macro for identical butterfly operations and exchange 2 butterflyies with less compex operations. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27384 a1c6a512-1295-4272-9138-f99709370657
* Revert accidental change.Jens Arnold2010-07-11
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27382 a1c6a512-1295-4272-9138-f99709370657
* EMACify HE-AAC QMF on coldfire: 5% speedup on MCF5249.Jens Arnold2010-07-11
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27381 a1c6a512-1295-4272-9138-f99709370657
* Refacture parts of libfaad filterbank. Faster windowing for 8-short-window ↵Andree Buschmann2010-07-11
| | | | | | sequences. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27380 a1c6a512-1295-4272-9138-f99709370657
* Just another MHz saved on ARM for aac he decoding.Andree Buschmann2010-07-10
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27365 a1c6a512-1295-4272-9138-f99709370657
* More work on libfaad's aac he decoder. Resort table to allow more efficient ↵Andree Buschmann2010-07-09
| | | | | | load access. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27364 a1c6a512-1295-4272-9138-f99709370657
* Revert r27359Rafaël Carré2010-07-09
| | | | | | The ipod4g has enough free IRAM when built with gcc 4.4 eabi git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27362 a1c6a512-1295-4272-9138-f99709370657
* Fix red. Remove a small array from IRAM that is not critical to performance.Andree Buschmann2010-07-09
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27359 a1c6a512-1295-4272-9138-f99709370657
* Submit FS#11461. Major speedup for aac he profile (PP5002 +20%, PP5020 +15%, ↵Andree Buschmann2010-07-09
| | | | | | PP5022 +19%, MCF5249 +35%, MCF5250 +80%), still not realtime on most targets though. This change does a lot of refactoring in the sbr filters and the dct, switching to our optimized codeclib fft and tweaking IRAM usage. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27358 a1c6a512-1295-4272-9138-f99709370657
* Remove unneeded libfaad files from SOURCE.Andree Buschmann2010-07-06
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27320 a1c6a512-1295-4272-9138-f99709370657
* Submit FS#11450. Change compile option for libfaad to -O2 for ARM target and ↵Andree Buschmann2010-07-05
| | | | | | -O1 for other CPUs. This speeds up decoding by 1-5%. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27297 a1c6a512-1295-4272-9138-f99709370657
* Remove false comment.Andree Buschmann2010-07-01
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27228 a1c6a512-1295-4272-9138-f99709370657
* Fix red and yellow. Needed to remove one codebook from IRAM due to full IRAM ↵Andree Buschmann2010-07-01
| | | | | | on iPod4G. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27226 a1c6a512-1295-4272-9138-f99709370657
* Submit FS#11445. Speed up of faad (aac) decoder via several optimizations ↵Andree Buschmann2010-07-01
| | | | | | like refactoring some requantization routines, moving several arrays and code tables to IRAM, using an optimized swap32() function and inlining several huffman decoder functions. Decoding is sped up by ~10% (PP5002, PP5022, MCF5249) and ~22% (MCF5250). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27225 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
* Remove all tabs within codec path.Andree Buschmann2010-02-22
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24862 a1c6a512-1295-4272-9138-f99709370657
* Use new MDCT library for libfaad. Speeds up AAC-LC by 2.5MHz.Michael Giacomelli2010-02-20
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24781 a1c6a512-1295-4272-9138-f99709370657
* Fix red, DESCALE_SHIFT macro was missing a right-parenthesis.Andrew Mahone2009-12-13
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23968 a1c6a512-1295-4272-9138-f99709370657
* Libfaad pow2/log2 improvements:Andrew Mahone2009-12-13
| | | | | | | | | Correct pow2_* to calculate correct output for input < 0.0 or between 0.0 and 1.0 instead of returning 0. This will change output, but the float version of this codec uses pow(2.0,x) in place of these functions, so this behavior was probably a bug Replace 64-bit multiply in pow2_* with left or right shift by whole part of input, rounding if shifting right. An ARM-specific optimized version is provided as a C inline function, other targets use a C macro. Increase constant size of table for pow2 to improve accuracy, also avoid early truncation in linear interpolation of result. Move constant tables for pow2 and log2 to iram. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23967 a1c6a512-1295-4272-9138-f99709370657
* Extend av_log2 in codeclib into a generic for scanning for set bits, which ↵Andrew Mahone2009-12-09
| | | | | | can provide either log2 or leading-zero-count output, and can force mapping 0 input to 0 output if needed (otherwise 0 input produces undefined result). Replace av_log2 in lib/codeclib.h, floor_log2 and wl_min_lzc in libfaad/common.c and common.h, and count_leading_zeros in libalac/alac.c with macros using bs_generic. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23903 a1c6a512-1295-4272-9138-f99709370657
* Fix FS#10174 by correcting an oversimplification of the AAC window switching ↵Michael Giacomelli2009-04-29
| | | | | | code I introduced with the unified IMDCT library. Should significantly improve accuracy for all AAC files. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20821 a1c6a512-1295-4272-9138-f99709370657
* Disable AAC-SBR, AAC-SSR, and AAC-PS on Sansa clip. Clean up warnings ↵Michael Giacomelli2009-04-25
| | | | | | introduced by this. Enable compiling the AAC codec on the Clip. Due to lack of memory for seek tables, files over 10 minutes long or so will probably fail. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20781 a1c6a512-1295-4272-9138-f99709370657
* Silence warning from 'ar' if the archive had to be created.Jens Arnold2009-03-01
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20151 a1c6a512-1295-4272-9138-f99709370657
* Stop hiding errors by redirecting stderr to /dev/null. If we really need to ↵Daniel Stenberg2009-02-23
| | | | | | do re-introduce somewhere we should rather make it dependent on the V variable so that make V=1 would still show the error and only "normal" builds would hide it. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20090 a1c6a512-1295-4272-9138-f99709370657
* Make local functions static in codecs, where possible.Bertrik Sikken2008-12-29
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19612 a1c6a512-1295-4272-9138-f99709370657
* Added 'keywords' and 'eol-style' properties.Björn Stenberg2008-11-25
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19218 a1c6a512-1295-4272-9138-f99709370657
* Remove .a files before running ar, to avoid problems with renamed files ↵Björn Stenberg2008-11-20
| | | | | | remaining in the library. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19160 a1c6a512-1295-4272-9138-f99709370657
* New makefile solution: A single invocation of 'make' to build the entire ↵Björn Stenberg2008-11-20
| | | | | | | | | tree. Fully controlled dependencies give faster and more correct recompiles. Many #include lines adjusted to conform to the new standards. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19146 a1c6a512-1295-4272-9138-f99709370657
* Combine the Vorbis, WMA and AAC IMDCT functions and put them into the ↵Michael Giacomelli2008-09-04
| | | | | | codeclib. Combined IMDCT is now based on existing Tremor transform. Reduces CPU for 192k AAC by 21MHz on Coldfire, and 5MHz on PP5024. WMA and Vorbis should have no functional changes since they already used this code. Further optimization is possible and would benefit all 3 codecs. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18412 a1c6a512-1295-4272-9138-f99709370657
* Use WMA windowing optimizations for AAC. Saves about 3.5MHz on Coldfire, ↵Michael Giacomelli2008-08-10
| | | | | | and about 2 MHz on ARM. Thanks to amiconn for help with Coldfire ASM improvements. Next step: dump faad IMDCT. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18238 a1c6a512-1295-4272-9138-f99709370657
* Too much on the last commit.Michael Giacomelli2008-07-17
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18085 a1c6a512-1295-4272-9138-f99709370657
* Use Tremor IMDCT for WMA. Gives a ~20% speedup on ARM and coldfire. All my ↵Michael Giacomelli2008-07-17
| | | | | | test samples gave equivilent or better accuracy (>>16 bit), but there may still be problems. Code becomes somewhat less readable since the IMDCT has bits of Vorbis in it, but this is not a serious issue and the old ffmpeg transform remains in SVN if anyone wants it. Also, WMA now passes Vorbis as the fastest transform codec on ARM, although MPC remains the fastest lossy codec overall. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18084 a1c6a512-1295-4272-9138-f99709370657
* Put pointer arrays in the correct iram section, tiny const police to make it ↵Nils Wallménius2008-06-02
| | | | | | possible too git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17677 a1c6a512-1295-4272-9138-f99709370657
* Fix a couple quirks from the previous commit.Nicolas Pennequin2008-05-05
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17370 a1c6a512-1295-4272-9138-f99709370657
* Convert the whole codebase to UTF-8, except docs/COMMITTERS and ↵Nicolas Pennequin2008-05-05
| | | | | | tools/creative.c, which need checking. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17369 a1c6a512-1295-4272-9138-f99709370657
* AAC decoder: Remove suspicious use of the REAL_CONST macro. I don't know ↵Magnus Holmgren2008-03-09
| | | | | | what triggers the execution of this code, but this change stops some floating point math code from being linked. It looks like the right thing to do... git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16590 a1c6a512-1295-4272-9138-f99709370657
* Revert the buggy warning fix for gcc 4.2. It caused a sim built with gcc 4.2 ↵Jens Arnold2008-02-12
| | | | | | to segfault. Get rid of the warning by introducing a temporary variable instead. Obviously the cfft1(pos|neg)() call is too complex for gcc 4.2 to cope without that tempvar. Oh well... git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16292 a1c6a512-1295-4272-9138-f99709370657
* make the gcc work-around somewhat more inclusive for gcc 4.2.X where X is 1Daniel Stenberg2008-02-07
| | | | | | | or bigger git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16238 a1c6a512-1295-4272-9138-f99709370657
* a rather lame attempt to silence the gcc 4.2.3 warnings on what seems to beDaniel Stenberg2008-02-06
| | | | | | | legitimate code git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16237 a1c6a512-1295-4272-9138-f99709370657
* Revert previous 'fix'. Did not actually fix the warning as I wasn't paying ↵Dan Everton2007-12-09
| | | | | | attention. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15899 a1c6a512-1295-4272-9138-f99709370657
* Fix warnings in libfaadDan Everton2007-12-09
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15898 a1c6a512-1295-4272-9138-f99709370657
* Fix playback of HE-AACv2 (aka SBR+PS) files.Magnus Holmgren2007-09-21
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14807 a1c6a512-1295-4272-9138-f99709370657
* Code cleaning - remove some unnecessary defined(SIMULATOR) checksDave Chapman2007-05-10
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13369 a1c6a512-1295-4272-9138-f99709370657