summaryrefslogtreecommitdiff
path: root/apps/codecs/libfaad (unfollow)
Commit message (Collapse)Author
2010-11-02Using icode attribute for S5L870x is faster on some codecs. Speed up for mpc ↵Andree Buschmann
is ~3%, for aac ~1%. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28453 a1c6a512-1295-4272-9138-f99709370657
2010-09-14Minor macro redefinition in libfaad to avoid FIXED_POINT ifdef'ing.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28085 a1c6a512-1295-4272-9138-f99709370657
2010-09-14More unification of FIXED_POINT and FLOAT. Small refactoring.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28084 a1c6a512-1295-4272-9138-f99709370657
2010-09-14Also correct autocorrelation for yet undefined SBR_LOW_POWER. Unify ↵Andree Buschmann
FIXED_POINT and FLOAT implementation. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28083 a1c6a512-1295-4272-9138-f99709370657
2010-09-14Fix scaling error that was introduced with r28069. With this fix the level ↵Andree Buschmann
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
2010-09-14Correct comment.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28080 a1c6a512-1295-4272-9138-f99709370657
2010-09-14Correct autocorrelation function in libfaad. It used the wrong fract part ↵Andree Buschmann
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
2010-09-14Further libfaad cleanup. Make libfaad compilable for floating point. ↵Andree Buschmann
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
2010-09-13Further libfaad cleanup.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28070 a1c6a512-1295-4272-9138-f99709370657
2010-09-13Clean up libfaad's fixed point implementation.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28069 a1c6a512-1295-4272-9138-f99709370657
2010-08-29Restore libfaad's IRAM configuration.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27942 a1c6a512-1295-4272-9138-f99709370657
2010-08-29Fix FS#11539. Undo r23967 and use another way to achieve results for ↵Andree Buschmann
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
2010-08-26Fix residual aac-he distortion reported via forum. Bug was introduded with ↵Andree Buschmann
r27364. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27898 a1c6a512-1295-4272-9138-f99709370657
2010-08-23Fix libfaad error that was introduced with r27225. Noise bursts during ↵Andree Buschmann
playback of several files were reported in the forums. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27868 a1c6a512-1295-4272-9138-f99709370657
2010-08-03faad: move inline function in headerRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27683 a1c6a512-1295-4272-9138-f99709370657
2010-07-11Clean up libfaad's sbr-qmf code. Move array to correct #ifdef-path, ↵Andree Buschmann
introduce macro, beautify indentations. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27394 a1c6a512-1295-4272-9138-f99709370657
2010-07-11Minor correction to macros, beautification of loop.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27391 a1c6a512-1295-4272-9138-f99709370657
2010-07-11Further changes to aac-he decoding. Refactor and rearrange dct tabs to be ↵Andree Buschmann
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
2010-07-11Revert accidental change.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27382 a1c6a512-1295-4272-9138-f99709370657
2010-07-11EMACify HE-AAC QMF on coldfire: 5% speedup on MCF5249.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27381 a1c6a512-1295-4272-9138-f99709370657
2010-07-11Refacture parts of libfaad filterbank. Faster windowing for 8-short-window ↵Andree Buschmann
sequences. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27380 a1c6a512-1295-4272-9138-f99709370657
2010-07-10Just another MHz saved on ARM for aac he decoding.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27365 a1c6a512-1295-4272-9138-f99709370657
2010-07-09More work on libfaad's aac he decoder. Resort table to allow more efficient ↵Andree Buschmann
load access. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27364 a1c6a512-1295-4272-9138-f99709370657
2010-07-09Revert r27359Rafaël Carré
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
2010-07-09Fix red. Remove a small array from IRAM that is not critical to performance.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27359 a1c6a512-1295-4272-9138-f99709370657
2010-07-09Submit FS#11461. Major speedup for aac he profile (PP5002 +20%, PP5020 +15%, ↵Andree Buschmann
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
2010-07-06Remove unneeded libfaad files from SOURCE.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27320 a1c6a512-1295-4272-9138-f99709370657
2010-07-05Submit FS#11450. Change compile option for libfaad to -O2 for ARM target and ↵Andree Buschmann
-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
2010-07-01Remove false comment.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27228 a1c6a512-1295-4272-9138-f99709370657
2010-07-01Fix red and yellow. Needed to remove one codebook from IRAM due to full IRAM ↵Andree Buschmann
on iPod4G. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27226 a1c6a512-1295-4272-9138-f99709370657
2010-07-01Submit FS#11445. Speed up of faad (aac) decoder via several optimizations ↵Andree Buschmann
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
2010-05-06Move c/h files implementing/defining standard library stuff into a new libc ↵Thomas Martitz
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
2010-02-22Remove all tabs within codec path.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24862 a1c6a512-1295-4272-9138-f99709370657
2010-02-20Use new MDCT library for libfaad. Speeds up AAC-LC by 2.5MHz.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24781 a1c6a512-1295-4272-9138-f99709370657
2009-12-13Fix red, DESCALE_SHIFT macro was missing a right-parenthesis.Andrew Mahone
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23968 a1c6a512-1295-4272-9138-f99709370657
2009-12-13Libfaad pow2/log2 improvements:Andrew Mahone
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
2009-12-09Extend av_log2 in codeclib into a generic for scanning for set bits, which ↵Andrew Mahone
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
2009-04-29Fix FS#10174 by correcting an oversimplification of the AAC window switching ↵Michael Giacomelli
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
2009-04-25Disable AAC-SBR, AAC-SSR, and AAC-PS on Sansa clip. Clean up warnings ↵Michael Giacomelli
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
2009-03-01Silence warning from 'ar' if the archive had to be created.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20151 a1c6a512-1295-4272-9138-f99709370657
2009-02-23Stop hiding errors by redirecting stderr to /dev/null. If we really need to ↵Daniel Stenberg
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
2008-12-29Make local functions static in codecs, where possible.Bertrik Sikken
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19612 a1c6a512-1295-4272-9138-f99709370657
2008-11-25Added 'keywords' and 'eol-style' properties.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19218 a1c6a512-1295-4272-9138-f99709370657
2008-11-20Remove .a files before running ar, to avoid problems with renamed files ↵Björn Stenberg
remaining in the library. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19160 a1c6a512-1295-4272-9138-f99709370657
2008-11-20New makefile solution: A single invocation of 'make' to build the entire ↵Björn Stenberg
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
2008-09-04Combine the Vorbis, WMA and AAC IMDCT functions and put them into the ↵Michael Giacomelli
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
2008-08-10Use WMA windowing optimizations for AAC. Saves about 3.5MHz on Coldfire, ↵Michael Giacomelli
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
2008-07-17Too much on the last commit.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18085 a1c6a512-1295-4272-9138-f99709370657
2008-07-17Use Tremor IMDCT for WMA. Gives a ~20% speedup on ARM and coldfire. All my ↵Michael Giacomelli
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
2008-06-02Put pointer arrays in the correct iram section, tiny const police to make it ↵Nils Wallménius
possible too git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17677 a1c6a512-1295-4272-9138-f99709370657