summaryrefslogtreecommitdiff
path: root/apps/codecs/libfaad/common.c (follow)
Commit message (Collapse)AuthorAge
* 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
* Changes to make libfaad compile in Rockbox. Also remove compiler warnings, ↵Dave Chapman2005-10-31
| | | | | | use some IRAM (IRAM usage needs reviewing) and drastically reduce the stack usage git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7700 a1c6a512-1295-4272-9138-f99709370657
* Initial check-in of unmodified libfaad (part of the FAAD2 project). This is ↵Dave Chapman2005-10-31
the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7699 a1c6a512-1295-4272-9138-f99709370657