summaryrefslogtreecommitdiff
path: root/apps/codecs/demac (follow)
Commit message (Collapse)AuthorAge
* Make the codecs use more IRAM on S5L870x, as we have plenty of it.Michael Sparmann2009-11-09
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23594 a1c6a512-1295-4272-9138-f99709370657
* Don't use ldrd/strd on ARMv5 since not all revisions support them and the ↵Jens Arnold2009-07-17
| | | | | | gain from using them is minimal (basically code size only). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21916 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
* Calculate watermark from bitrate and harddisk spinup time.Björn Stenberg2009-01-10
| | | | | | | | Use a smaller PCM buffer on targets with 2MB or less ram. (FS#9703) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19743 a1c6a512-1295-4272-9138-f99709370657
* static/const/#include/tab police on various filesBertrik Sikken2009-01-02
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19643 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* Further optimised (vs. libgcc) unsigned 32 bit division for ARMv4 (based on ↵Jens Arnold2008-11-05
| | | | | | the ARMv5(+) version from libgcc), in IRAM on PP for better performance on PP5002, and put into the codeclib for possible reuse. APE -c1000 is now usable on both PP502x and PP5002 (~138% realtime, they're on par now). Gigabeat F/X should also see an APE speedup. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19009 a1c6a512-1295-4272-9138-f99709370657
* Some entropy decoder tweaks. Also removed unnecessary 'tmp' variables.Jens Arnold2008-11-04
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19008 a1c6a512-1295-4272-9138-f99709370657
* Another minor improvement: better pipelining and one less register used in ↵Jens Arnold2008-10-07
| | | | | | vector addition/ subtraction. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18739 a1c6a512-1295-4272-9138-f99709370657
* APE: Further ARMv6 filter optimisations: Save 4 'ror's per round by ↵Jens Arnold2008-10-07
| | | | | | utilising the shift feature of the 'pack halfword' instructions in the unaligned vector addition/ subtraction, better pipelining in the aligned scalarproduct(), and a new method to calculate the unaligned scalarproduct(). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18736 a1c6a512-1295-4272-9138-f99709370657
* Fix warnings on non-arm targets.Jens Arnold2008-10-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18702 a1c6a512-1295-4272-9138-f99709370657
* Various speedups: (1) Put actual decoding functions into IRAM on PP5002. (2) ↵Jens Arnold2008-10-03
| | | | | | Put the insane filter buffer into IRAM on coldfire and PP502x (just for completeness, as long as there's no better use). (3) Use the ARMv6 'ssat' instruction for saturation on Gigabeat S. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18701 a1c6a512-1295-4272-9138-f99709370657
* Put the rangecoder struct into IRAM for a nice speedup on coldfire.Jens Arnold2008-10-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18699 a1c6a512-1295-4272-9138-f99709370657
* Further speedup for ARMv6 by better pipelining in scalarproduct().Jens Arnold2008-10-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18697 a1c6a512-1295-4272-9138-f99709370657
* Fix static noise on armv6.Jens Arnold2008-10-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18694 a1c6a512-1295-4272-9138-f99709370657
* Add preliminary ARMv5te optimisations (verified working, but can probably be ↵Jens Arnold2008-10-03
| | | | | | sped up further), and fix a comment in the ARMv6 code. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18693 a1c6a512-1295-4272-9138-f99709370657
* Add armv6 specific asm code for the APE filters, speeding up -c2000..-c5000 ↵Jens Arnold2008-10-03
| | | | | | a bit on Gigabeat S. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18692 a1c6a512-1295-4272-9138-f99709370657
* Remove unnecessary #include - this fixes compilation of the standalone demac ↵Dave Chapman2007-10-26
| | | | | | tool git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15320 a1c6a512-1295-4272-9138-f99709370657
* Further optimised the filter vector math assembly for coldfire, and added ↵Jens Arnold2007-10-25
| | | | | | assembly filter vector math for ARM. Both make use of the fact that the first argument of the vector functions is longword aligned. * The ARM version is tailored for ARM7TDMI, and would slow down arm9 or higher. Introduced a new CPU_ macro for ARM7TDMI. Speedup for coldfire: -c3000 104%->109%, -c4000 43%->46%, -c5000 1.7%->2.0%. Speedup for PP502x: -c2000 66%->75%, -c3000 37%->48%, -c4000 11%->18%, -c5000 2.5%->3.7% git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15302 a1c6a512-1295-4272-9138-f99709370657