summaryrefslogtreecommitdiff
path: root/apps/codecs/lib (follow)
Commit message (Collapse)AuthorAge
* Invert divisor earlier in udiv32_arm, allowing the div0 test to be done ↵Andrew Mahone2010-01-03
| | | | | | before entering the 32-bit divide portion of the code, and making the handling of div0 simpler. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24166 a1c6a512-1295-4272-9138-f99709370657
* More tabs removedAndree Buschmann2010-01-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24157 a1c6a512-1295-4272-9138-f99709370657
* Use long jump to reach __div0 from udiv32_arm if building with IRAM and ↵Andrew Mahone2010-01-03
| | | | | | without EABI. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24152 a1c6a512-1295-4272-9138-f99709370657
* More comments for udiv32_armv4.S, reduce zero divisor test to one cycle for ↵Andrew Mahone2010-01-03
| | | | | | the skipped branch by setting flags when inverting divisor, 32-bit numerators are handled by calling the 31-bit divider and fixing the results. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24151 a1c6a512-1295-4272-9138-f99709370657
* Add missing EOF newline.Andrew Mahone2010-01-02
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24143 a1c6a512-1295-4272-9138-f99709370657
* Remove special cases from udiv32_armv4.S, except for zero divisor and large ↵Andrew Mahone2010-01-02
| | | | | | numerator. Improvement of 1.23MHz on e200 with ape normal. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24142 a1c6a512-1295-4272-9138-f99709370657
* Add 31/31-bit unsigned division in apps/codecs/lib/udiv_arm.S, with 2 cycles ↵Andrew Mahone2009-12-31
| | | | | | / iteration, falling back to previous 32-bit, 3 cycle / iteration code when needed (well under 1% of divisions in sample file). APE normal sample is now 96.90% realtime, approx 1.3% improved vs svn. TODO: unify divisor normalization for both trial subtraction routines, possibly use divisor bits to select 31- vs 32-bit division. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24130 a1c6a512-1295-4272-9138-f99709370657
* Improved bitrev12, using a larger LUT to save one lookup, speeds up vorbis ↵Nils Wallménius2009-12-13
| | | | | | about 2% on beast, about 0.5% on h300 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23973 a1c6a512-1295-4272-9138-f99709370657
* Remove some sample functions from codeclib - these were for verifying the ↵Andrew Mahone2009-12-09
| | | | | | generated asm for bs_generic and never intended for use. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23911 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 red: av_log2 undefined for ARM_ARCH <= 4, missing codeclib.h includes.Andrew Mahone2009-12-06
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23869 a1c6a512-1295-4272-9138-f99709370657
* slightly faster asm av_log2 for armv6 (currently only Gigabeat S)Nils Wallménius2009-12-06
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23868 a1c6a512-1295-4272-9138-f99709370657
* Fix yellow: mixed signed/unsigned in conditional.Andrew Mahone2009-12-05
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23867 a1c6a512-1295-4272-9138-f99709370657
* Slightly improve av_log2 in codeclib on ARMv6.Andrew Mahone2009-12-05
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23866 a1c6a512-1295-4272-9138-f99709370657
* Move av_log2 function and asociated table to the codec lib, remove 3 ↵Nils Wallménius2009-12-05
| | | | | | identical implementations, always have LUT in iram (gives a *tiny* speedup on coldfire), make the clz based function return the same value as the non clz based function for 0 input to be safe (slows down flac ~2% on the gigabeat S) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23858 a1c6a512-1295-4272-9138-f99709370657
* These macros have been replaced by (UN)LIKELY macros and were not used anywhere.Nils Wallménius2009-11-29
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23780 a1c6a512-1295-4272-9138-f99709370657
* C code is NOT faster on S3C2440 - tested by AlexP on r22529Dave Hooper2009-08-29
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22530 a1c6a512-1295-4272-9138-f99709370657
* Don't know why svn decided to delete tlsf/src... Maybe due to some aborted ↵Magnus Holmgren2009-08-29
| | | | | | tests I did to see where it would be best to place TLSF. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22529 a1c6a512-1295-4272-9138-f99709370657
* FS#10466: Introduce a real malloc for tremor.Magnus Holmgren2009-08-29
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22528 a1c6a512-1295-4272-9138-f99709370657
* Removed remaining MB usageDave Hooper2009-08-29
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22527 a1c6a512-1295-4272-9138-f99709370657
* Fix condition code clobbers (and one TAB) for inline arm code in lib and ↵Dave Hooper2009-08-29
| | | | | | libtremor git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22526 a1c6a512-1295-4272-9138-f99709370657
* Rerrange some registers in butterfly_generic to combine some 2-word stores ↵Dave Hooper2009-08-29
| | | | | | into 4-word stores and remove some redundant mov instructions. Shave off some additional instructions (stacking and additions) in butterfly_32 by getting butterfly_8 and butterfly_16 to do the address incrementing for us. Add a few comments. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22525 a1c6a512-1295-4272-9138-f99709370657
* Add stdint.h to the codeclib when compiled outside of rockbox so that ↵Michael Giacomelli2009-08-24
| | | | | | int32_t is typedef'ed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22502 a1c6a512-1295-4272-9138-f99709370657
* Remove svn:executable on source file and set keywords.Dominik Riebeling2009-08-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22342 a1c6a512-1295-4272-9138-f99709370657
* Move bitstream.[ch] to codecs/lib/ffmpeg_bitstream.[ch] to avoid duplicate ↵Mohamed Tarek2009-08-15
| | | | | | copies across codecs. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22337 a1c6a512-1295-4272-9138-f99709370657
* remove duplicates of bswap.h from libwma, libcook and libatrac. Create ↵Mohamed Tarek2009-08-15
| | | | | | codecs/lib/ffmpeg_bswap.h and use it instead. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22328 a1c6a512-1295-4272-9138-f99709370657
* Also modify mdct_lookup.c for compiling outside rockbox.Mohamed Tarek2009-08-13
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22296 a1c6a512-1295-4272-9138-f99709370657
* Modify the mdct library to enable using it outside rockbox - No functional ↵Mohamed Tarek2009-08-13
| | | | | | changes. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22295 a1c6a512-1295-4272-9138-f99709370657
* Remove various ABS() definitions with a single one using typeof (if using ↵Thomas Martitz2009-08-03
| | | | | | gcc) to avoid multiple evaluations of the input expressions. Speex still uses its own as I didn't want to change this imported code too much. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22129 a1c6a512-1295-4272-9138-f99709370657
* Slight whitespace cleanup, add a const qualifier. No functional changesNils Wallménius2009-07-30
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22087 a1c6a512-1295-4272-9138-f99709370657
* Rearrange the MDCT library lookup tables so that codecs can access them. ↵Michael Giacomelli2009-07-17
| | | | | | Access them in cook. Remove old cook trig tables. Replace old 32x16 bit fixed point multiply code with faster ASM ARM/Coldfire versions using full 32 bit precision. Improves performance signficantly on PP5024 (~200% realtime for a 64k file) while saving a lot of memory and improving accuracy. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21939 a1c6a512-1295-4272-9138-f99709370657
* Reorder some operands to increase frequency of multiply early termination on ↵Andrew Mahone2009-07-13
| | | | | | TDMI targets, reorder some operations to try to reduce stalls. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21834 a1c6a512-1295-4272-9138-f99709370657
* * ARM asm DSP and codec/plugin functions: Use r12 scratch register properlyJens Arnold2009-07-12
| | | | | | | | | * Fix saving another unused reg in dsp code * Use less regs in the generic ARM mpegplayer adding idct pure DC case * Fix ARMv6 mpegplayer adding idct using an unsaved register in pure DC case git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21803 a1c6a512-1295-4272-9138-f99709370657
* * FS#10411 - Fixed point math code is bloated by Jeffrey GoodeMaurus Cuelenaere2009-07-07
| | | | | | | * Set svn:keywords properties git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21701 a1c6a512-1295-4272-9138-f99709370657
* Take 2 at 'Consolidate all fixed point math routines in one library' ↵Maurus Cuelenaere2009-07-05
| | | | | | (FS#10400) by Jeffrey Goode git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21664 a1c6a512-1295-4272-9138-f99709370657
* Revert "Consolidate all fixed point math routines in one library (FS#10400) ↵Maurus Cuelenaere2009-07-04
| | | | | | by Jeffrey Goode" git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21635 a1c6a512-1295-4272-9138-f99709370657
* Consolidate all fixed point math routines in one library (FS#10400) by ↵Maurus Cuelenaere2009-07-04
| | | | | | Jeffrey Goode git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21633 a1c6a512-1295-4272-9138-f99709370657
* Commited too much really this time.Michael Giacomelli2009-05-10
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20905 a1c6a512-1295-4272-9138-f99709370657
* Actually remove the unneeded files in the last commit.Michael Giacomelli2009-05-10
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20903 a1c6a512-1295-4272-9138-f99709370657
* Commit FS#9882 - make better use of iram at different quality encodings, ↵Dave Hooper2009-04-25
| | | | | | remove redundant memsets, implement doublebuffer if it will fit in iram to save a mempcy each frame, and some alignment fixes for coldfire git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20783 a1c6a512-1295-4272-9138-f99709370657
* Fix redMaurus Cuelenaere2009-04-22
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20777 a1c6a512-1295-4272-9138-f99709370657
* Fix yellowMaurus Cuelenaere2009-04-22
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20776 a1c6a512-1295-4272-9138-f99709370657
* Clean code a bit (no functional changes)Maurus Cuelenaere2009-04-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20715 a1c6a512-1295-4272-9138-f99709370657
* Fix headerMaurus Cuelenaere2009-04-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20714 a1c6a512-1295-4272-9138-f99709370657
* Add setjmp implementation for MIPS targets from newlibMaurus Cuelenaere2009-04-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20713 a1c6a512-1295-4272-9138-f99709370657
* Fix endianness defines in the mdctlib code.Michael Giacomelli2009-03-10
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20279 a1c6a512-1295-4272-9138-f99709370657
* Add setjmp/longjmp for ARM and ColdFire to the codec lib, and use it in the ↵Magnus Holmgren2009-03-08
| | | | | | Vorbis codec to better handle out of memory conditions (to exit rather than crash; the AAC codec could use it too). setjmp/longjmp comes from newlib 1.17.0 with a few minor changes (combine parts of some files, remove support for some architectures, change some ifdef's). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20235 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
* Added missing dependencies for codeclib and pluginlib. This required ↵Björn Stenberg2009-01-12
| | | | | | renaming some files that have twins in other places. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19756 a1c6a512-1295-4272-9138-f99709370657