summaryrefslogtreecommitdiff
path: root/apps/codecs/libfaad (follow)
Commit message (Collapse)AuthorAge
* Using icode attribute for S5L870x is faster on some codecs. Speed up for mpc ↵Andree Buschmann2010-11-02
| | | | | | is ~3%, for aac ~1%. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28453 a1c6a512-1295-4272-9138-f99709370657
* Minor macro redefinition in libfaad to avoid FIXED_POINT ifdef'ing.Andree Buschmann2010-09-14
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28085 a1c6a512-1295-4272-9138-f99709370657
* More unification of FIXED_POINT and FLOAT. Small refactoring.Andree Buschmann2010-09-14
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28084 a1c6a512-1295-4272-9138-f99709370657
* Also correct autocorrelation for yet undefined SBR_LOW_POWER. Unify ↵Andree Buschmann2010-09-14
| | | | | | FIXED_POINT and FLOAT implementation. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28083 a1c6a512-1295-4272-9138-f99709370657
* Fix scaling error that was introduced with r28069. With this fix the level ↵Andree Buschmann2010-09-14
| | | | | | of the hf-spectrum will be correct when decoding aac-he files. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28081 a1c6a512-1295-4272-9138-f99709370657
* Correct comment.Andree Buschmann2010-09-14
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28080 a1c6a512-1295-4272-9138-f99709370657
* Correct autocorrelation function in libfaad. It used the wrong fract part ↵Andree Buschmann2010-09-14
| | | | | | for the multiplication macros. Introduce appropriate solution to avoid overflow. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28079 a1c6a512-1295-4272-9138-f99709370657
* Further libfaad cleanup. Make libfaad compilable for floating point. ↵Andree Buschmann2010-09-14
| | | | | | Floating point cannot be used as reference though, as errorous noise is the result. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28071 a1c6a512-1295-4272-9138-f99709370657
* Further libfaad cleanup.Andree Buschmann2010-09-13
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28070 a1c6a512-1295-4272-9138-f99709370657
* Clean up libfaad's fixed point implementation.Andree Buschmann2010-09-13
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28069 a1c6a512-1295-4272-9138-f99709370657
* 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