summaryrefslogtreecommitdiff
path: root/apps/codecs (follow)
Commit message (Collapse)AuthorAge
* Slight speedup for the APE filters. Most noticeable on coldfire (+3.5% for ↵Jens Arnold2008-12-22
| | | | | | -c2000), but also helps on the arm targets (+0.9% for -c2000 on PP5002). This transformation is oveflow safe, as absres < 2^24 is guaranteed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19556 a1c6a512-1295-4272-9138-f99709370657
* Fix decoding of stereo frames with silence in only one channel. * Make the ↵Jens Arnold2008-12-21
| | | | | | standalone decoder contain debugging information. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19552 a1c6a512-1295-4272-9138-f99709370657
* Fix handling of 8 bit mono and stereo APE files, and also optimise 16 and 24 ↵Jens Arnold2008-12-21
| | | | | | bit output in the standalone decoder a bit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19517 a1c6a512-1295-4272-9138-f99709370657
* Sync some changes found in ffmpeg plus a spelling correction I forgot to commit.Tom Ross2008-12-20
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19503 a1c6a512-1295-4272-9138-f99709370657
* Don't read a full byte if less than 8 bits are available. The change doesn't ↵Tom Ross2008-12-20
| | | | | | fix any problem samples, but the current code makes no sense. Also some spelling corrections in debugfs and comments. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19502 a1c6a512-1295-4272-9138-f99709370657
* Wrap some of the more ridiculously long lines introduced in the previous ↵Michael Giacomelli2008-12-20
| | | | | | revision. Whitespace changes only. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19501 a1c6a512-1295-4272-9138-f99709370657
* Correctly implement remaining portions of ffmpeg's r8627 that I'd forgotten ↵Michael Giacomelli2008-12-20
| | | | | | about. This fixes a table overflow in low bitrate files that use noise coding, and in theory should be substantial improvement, but I haven't found any files were it makes a difference. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19500 a1c6a512-1295-4272-9138-f99709370657
* Fix occasional glitch when switching from stereo to mono tracks due to ↵Michael Giacomelli2008-12-20
| | | | | | uninitialized m/s coding flag. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19498 a1c6a512-1295-4272-9138-f99709370657
* Commit fix by Tom Ross in FS#7488 wherein a silly mistake noise coding ↵Michael Giacomelli2008-12-20
| | | | | | initialization is corrected. This sample alone has probably resulted in more WMA fixes then all other combined and I suspect there will still be at least one more. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19496 a1c6a512-1295-4272-9138-f99709370657
* Fix bug where a mono file using noise coding would be corrupted if it was ↵Michael Giacomelli2008-12-20
| | | | | | played immediately after a stereo files using noise coding due to incorrect initialization of the decoder state. Thanks to Tom Ross for pointing out that initialization was incomplete on these files. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19494 a1c6a512-1295-4272-9138-f99709370657
* Better file suffix replacement. Bug fix by Nils Wallménius. Closes FS #9644.Björn Stenberg2008-12-15
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19443 a1c6a512-1295-4272-9138-f99709370657
* Use cookies for thread identification instead of pointers directly which ↵Michael Sevakis2008-12-10
| | | | | | gives a buffer against wrongly identifying a thread when the slot is recycled (which has been nagging me for awhile). A slot gets 255 uses before it repeats. Everything gets incompatible so a full update is required. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19377 a1c6a512-1295-4272-9138-f99709370657
* Assembler optimised mono predictor for ARM. Speedup for -c1000 mono is ~5% ↵Jens Arnold2008-12-09
| | | | | | on PP, ~8% on Gigabeat S (less for higher compression levels). Also fix some overlooked comments in the stereo predictor. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19375 a1c6a512-1295-4272-9138-f99709370657
* Implement mono predictor in assembler for coldfire, yielding a ~6% speedup ↵Jens Arnold2008-12-02
| | | | | | for mono -c1000. Apply ideas gained from it back to the stereo predictor, saving 4 instructions. No speed increase for stereo, probably due to cache aliasing effects. * 80-column police. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19296 a1c6a512-1295-4272-9138-f99709370657
* Shuffling around register allocation allows to keep decoded0 and decoded1 in ↵Jens Arnold2008-12-01
| | | | | | registers, for a slight speedup. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19287 a1c6a512-1295-4272-9138-f99709370657
* Restore compiler optimization level for libmad, was lost in the buildsystem ↵Nils Wallménius2008-11-30
| | | | | | rework git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19272 a1c6a512-1295-4272-9138-f99709370657
* Remove extraneous semicolons, and fix a comment.Jens Arnold2008-11-30
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19268 a1c6a512-1295-4272-9138-f99709370657
* Remove extraneous semicolons, and fix a comment.Jens Arnold2008-11-30
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19267 a1c6a512-1295-4272-9138-f99709370657
* Fix APE 16-bit mono output: mono signals need to be scaled for rockbox.Jens Arnold2008-11-30
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19264 a1c6a512-1295-4272-9138-f99709370657
* Resurrect the ARM7 16-bit packed vector addition/subtraction for ARMv5, ↵Jens Arnold2008-11-28
| | | | | | giving a nice speedup for the higher compression levels (tested on Cowon D2). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19260 a1c6a512-1295-4272-9138-f99709370657
* Recording: Change some encoder code the operation of which was apparantly ↵Michael Sevakis2008-11-28
| | | | | | unclear. It seems clearer now anyway. No functional changes. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19255 a1c6a512-1295-4272-9138-f99709370657
* On ARM9TDMI (e.g. Gigabeat F) it's faster to use a ldr/str pair than ↵Jens Arnold2008-11-27
| | | | | | add+ldmia/stmia for 2 registers. On ARM7TDMI a str pair is equally fast, so go for the simpler macro and use it for all ARMv4. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19250 a1c6a512-1295-4272-9138-f99709370657
* Speed up the predictor a little by using ldrd/strd on ARMv5+. This required ↵Jens Arnold2008-11-27
| | | | | | shuffling around the register allocation somewhat. Performance on ARMv4 is unaffected. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19248 a1c6a512-1295-4272-9138-f99709370657
* Get rid of unused return values, except the one from decode_chunk() which ↵Jens Arnold2008-11-26
| | | | | | will be used in the dual core split. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19236 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
* Reorder instructions to avoid pipeline stalls on ARMv6 wherever possible ↵Jens Arnold2008-11-24
| | | | | | (sometimes using different registers to allow this). Speeds up the predictor by almost 20% on ARMv6 (overall speedup for -c1000 is 5%), and might also help a bit on ARMv5. ARMv4 speed is unaffected. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19210 a1c6a512-1295-4272-9138-f99709370657
* Branch optimisation in both C (giving hints to gcc - verified using ↵Jens Arnold2008-11-24
| | | | | | -fprofile-arcs and gcov) and asm files. Biggest effect on coldfire (-c1000: +8%, -c2000: +5%), but ARM also profits a bit (less than 1% on ARM7TDMI, around 1% on ARM1136). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19199 a1c6a512-1295-4272-9138-f99709370657
* Tweak the ARMv6 filter assembly a bit further.Jens Arnold2008-11-24
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19198 a1c6a512-1295-4272-9138-f99709370657
* Macros should be ALL CAPS, so rename (un)likely() to (UN)LIKELY()Nils Wallménius2008-11-22
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19181 a1c6a512-1295-4272-9138-f99709370657
* Introduce likely() and unlikely() macros, use to give gcc hints about which ↵Nils Wallménius2008-11-20
| | | | | | branch is likely to be taken in a conditional, use them in the midi player for a small speedup, use instead of similar EXPECT macros in tremor and use in mpegplayer git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19162 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
* codec.link must be created with -DCODECBjörn Stenberg2008-11-20
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19155 a1c6a512-1295-4272-9138-f99709370657
* Make sure codec directory exists before creating link file.Björn Stenberg2008-11-20
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19151 a1c6a512-1295-4272-9138-f99709370657
* Bug fix again. Moved cp outside of $(shell) to force make to run it ↵Björn Stenberg2008-11-20
| | | | | | sequentially. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19149 a1c6a512-1295-4272-9138-f99709370657
* Bug fix for previous bug fix. Too much copy/paste.Björn Stenberg2008-11-20
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19148 a1c6a512-1295-4272-9138-f99709370657
* Bug fix for simulator: Plugins and codecs were objcopied isntead of left as ELF.Björn Stenberg2008-11-20
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19147 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
* Several tweaks and cleanups: * Use .rept instead of repeated macros for ↵Jens Arnold2008-11-19
| | | | | | repeating blocks. * Use MUL (variant) instead of MLA (variant) in the first step of the ARM scalarproduct() if there's no loop. * Unroll ARM assembler functions to 32 where not already done, plus the generic scalarproduct(). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19144 a1c6a512-1295-4272-9138-f99709370657
* Compile-time choice between 16 bit and 32 bit integers for the filters. 32 ↵Jens Arnold2008-11-19
| | | | | | bit filters are faster on ARMv4 (with assembler code), so use them there. Nice speedup on PP and Gigabeat F/X. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19140 a1c6a512-1295-4272-9138-f99709370657
* Centralise compile-time configuration.Jens Arnold2008-11-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19121 a1c6a512-1295-4272-9138-f99709370657
* Make it compile again on linux...Jens Arnold2008-11-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19120 a1c6a512-1295-4272-9138-f99709370657
* Make the standalone decoder actually work on Windows (need to open the ↵Jens Arnold2008-11-16
| | | | | | output file in binary mode). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19119 a1c6a512-1295-4272-9138-f99709370657
* Make the standalone decoder build on cygwin.Jens Arnold2008-11-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19117 a1c6a512-1295-4272-9138-f99709370657
* Move the contents of rangecoding.h into entropy.c, and remove the former. It ↵Jens Arnold2008-11-16
| | | | | | was only used there, and defined some variables in the .h git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19116 a1c6a512-1295-4272-9138-f99709370657
* Avoid unnecessary register copies on ARMv5.Jens Arnold2008-11-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19112 a1c6a512-1295-4272-9138-f99709370657
* Make the standalone demac program compile againDave Chapman2008-11-15
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19107 a1c6a512-1295-4272-9138-f99709370657
* Fix comments.Jens Arnold2008-11-12
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19102 a1c6a512-1295-4272-9138-f99709370657
* Tiny speedup by simplifying the filter wrap check.Jens Arnold2008-11-12
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19101 a1c6a512-1295-4272-9138-f99709370657
* Tiny performance improvement for the (not yet usable) compression levels >= ↵Jens Arnold2008-11-12
| | | | | | -c2000 on ARM7TDMI, utilizing the multiplier's early termination. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19099 a1c6a512-1295-4272-9138-f99709370657
* ARMv4 unsigned integer division: Using an overflow-safe comparison method in ↵Jens Arnold2008-11-06
| | | | | | the main calculation allows to put back the 1.5 cyle (average) optimisation. Shaved off another instruction, as we don't need the remainder. * Use the very efficient ffs algorithm from ffs-arm.S for dividing by a power of 2. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19032 a1c6a512-1295-4272-9138-f99709370657