summaryrefslogtreecommitdiff
path: root/apps/codecs/libmusepack (follow)
Commit message (Collapse)AuthorAge
* Use MEM_ALIGN_ATTR in mpc codec. Speed up by 22-24% was measured on ARM11.Andree Buschmann2010-11-21
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28627 a1c6a512-1295-4272-9138-f99709370657
* Minor speed up of mpc requantization.Andree Buschmann2010-11-12
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28563 a1c6a512-1295-4272-9138-f99709370657
* Re-submit ARM asm optimizations in mpc synthesis as the performance ↵Andree Buschmann2010-11-12
| | | | | | regressions on S5L870x have been solved with r28561. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28562 a1c6a512-1295-4272-9138-f99709370657
* Set alignment for major data arrays in the mpc codec. This avoids ↵Andree Buschmann2010-11-12
| | | | | | performance regressions on S5L870x CPUs when changing code and allows further improvements. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28561 a1c6a512-1295-4272-9138-f99709370657
* Roll back r28488 as it slows down mpc by 2% on S5L8701.Andree Buschmann2010-11-09
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28545 a1c6a512-1295-4272-9138-f99709370657
* libmusepack: use postindexing on the pointer when storing to increment it ↵Nils Wallménius2010-11-05
| | | | | | for free, saves another instruction in the loop in mpc_decoder_windowing_D speed difference is in the noise though. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28492 a1c6a512-1295-4272-9138-f99709370657
* libmusepack: tiny optimization of the ARMv4 mpc_decoder_windowing_D ↵Nils Wallménius2010-11-05
| | | | | | implementations, using register indexed addressing to store data, saving one instruction in the loop and deleting one instruction adter the loop which isn't needed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28488 a1c6a512-1295-4272-9138-f99709370657
* libmusepack: ARMv6 assembler for mpc_decoder_windowing_D, speeds up decoding ↵Nils Wallménius2010-11-05
| | | | | | of 128kbps sample file 2MHz, or 8%, on gigabeat S. The output difference to the c implementation and the other ARM implementation is +/-1 in less than 0.1% of the output samples. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28487 a1c6a512-1295-4272-9138-f99709370657
* Minor optimization of mpc codec via moving dewindowing asm to icode section ↵Andree Buschmann2010-11-02
| | | | | | for S5L870x. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28454 a1c6a512-1295-4272-9138-f99709370657
* Using icode attribute for S5L870x is faster on some codecs. Speed up for mpc ↵Andree Buschmann2010-11-02
| | | | | | is ~3%, for aac ~1%. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28453 a1c6a512-1295-4272-9138-f99709370657
* Optimize mpc's synthesis filter by reducing stalls for arm9 and above. Speed ↵Andree Buschmann2010-11-02
| | | | | | up ranges from 4% (nano 2g) to 11% (beast). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28452 a1c6a512-1295-4272-9138-f99709370657
* Fix FS#11710. On Coldfire CPU's mpc uses a speed optimization which was not ↵Andree Buschmann2010-11-01
| | | | | | correctly re-initialized when rebuffering. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28437 a1c6a512-1295-4272-9138-f99709370657
* Fix FS#11650. Correct sliencing of subband in mpc decoder. Thanks to Leo ↵Andree Buschmann2010-10-02
| | | | | | Witt for reporting and supporting. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28200 a1c6a512-1295-4272-9138-f99709370657
* Optimization of mpc's buffering routines through using the maximum possible ↵Andree Buschmann2010-10-02
| | | | | | buffer size. This reduces read access calls. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28198 a1c6a512-1295-4272-9138-f99709370657
* Finally fix FS#11476 (data abort when playing some sv8 mpc files on lowmem ↵Andree Buschmann2010-10-02
| | | | | | targets like Clip+/Fuzev1/Fuzev2). This fix disables loading of seek tables from the sv8 bitstream. Those table are located at the end of sv8-files. When playing sv8 files this resulted in seek to filebegin, then fileend, then back to filebegin. Such seeking behaviour results in heavy rebuffering when playing files on targets with low RAM. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28197 a1c6a512-1295-4272-9138-f99709370657
* Move memset6() declaration to string-extra.h, kills a warning compiling for ↵Thomas Martitz2010-08-12
| | | | | | android since it ships a memory.h. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27789 a1c6a512-1295-4272-9138-f99709370657
* Convert inline coldfire assembler to a 'real' assembler function, with ↵Nils Wallménius2010-07-20
| | | | | | tweaks by Buschel. Speeds up mpc decoding by ~1% on h300. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27504 a1c6a512-1295-4272-9138-f99709370657
* Housekeeping. Comment musepack code seqments unused in rockbox.Andree Buschmann2010-06-24
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27111 a1c6a512-1295-4272-9138-f99709370657
* Disable unneeded parts of mpc's file-I/O interface.Andree Buschmann2010-06-21
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27024 a1c6a512-1295-4272-9138-f99709370657
* Fix FS#11416. Resuming mpc was broken since r26032 due to false assumption ↵Andree Buschmann2010-06-20
| | | | | | of amount of buffered data. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26990 a1c6a512-1295-4272-9138-f99709370657
* FS#11335 by me: make ARM assembly functions thumb-friendlyRafaël Carré2010-06-11
| | | | | | | | | | | | | We can't pop into pc on ARMv4t when using thumb: the T bit won't be modified if we are returning to a thumb function Code running on ARMv4t should use the new ldrpc / ldmpc macros instead of ldr pc, [sp], #4 and ldm(cond) sp!, {regs, pc} No modification on pure ARM builds and ARMv5+ Note: USE_THUMB is currently never defined, no targets can currently be built with -mthumb, see FS#6734 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26756 a1c6a512-1295-4272-9138-f99709370657
* Some asm code beautification in the mpc decoder.Andree Buschmann2010-06-05
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26592 a1c6a512-1295-4272-9138-f99709370657
* Small changes to asm for better readability.Andree Buschmann2010-05-29
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26375 a1c6a512-1295-4272-9138-f99709370657
* Fix FS#11261 (slow seek forward in mpc files). Since the introduction of the ↵Andree Buschmann2010-05-14
| | | | | | sv8 library mpc did not use efficient buffering when seeking forward. With this change the implementation will not flush the buffer on each frame but will keep the already buffered data as long as possible. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26032 a1c6a512-1295-4272-9138-f99709370657
* Restor setting of EMAC mode on coldfire lost in r25056 fixes whitenoise when ↵Nils Wallménius2010-05-14
| | | | | | transitioning from a codec using a different EMAC mode. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26013 a1c6a512-1295-4272-9138-f99709370657
* Unroll mpc's requantization loops for some (minor) speed up.Andree Buschmann2010-05-07
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25891 a1c6a512-1295-4272-9138-f99709370657
* Refactor mpc's requantization to use identical macros for each subframe.Andree Buschmann2010-05-07
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25887 a1c6a512-1295-4272-9138-f99709370657
* Clean up libmusepack: move declarations to internal.h and set svn properties.Bertrik Sikken2010-04-18
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25676 a1c6a512-1295-4272-9138-f99709370657
* Restore musepack's IRAM configuration to pre r25127 for non PP5022/24.Andree Buschmann2010-03-12
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25133 a1c6a512-1295-4272-9138-f99709370657
* Minor optimization for musepack codec through moving functions to IRAM on PP ↵Andree Buschmann2010-03-11
| | | | | | processors. Speed ups codec by 0.25 MHzon PP5022. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25127 a1c6a512-1295-4272-9138-f99709370657
* Refacturate IRAM configuration for musepack codec. No functional change.Andree Buschmann2010-03-11
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25126 a1c6a512-1295-4272-9138-f99709370657
* Use more IRAM for musepack on S5L870X CPUs.Andree Buschmann2010-03-07
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25064 a1c6a512-1295-4272-9138-f99709370657
* Major change to musepack decoder: Import v1.3.0 (r458 from svn.musepack.net) ↵Andree Buschmann2010-03-07
| | | | | | to rockbox. Several adaptions in the musepack decoder were made to get the library work and perform fast under rockbox on several targets. With this change mpc sv8 is supported, including seek, replay gain and metadata support. The decoding speed is a 1-4% lower than the last implementation. Reason for this is main restructuring in the bitstream demuxer. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25056 a1c6a512-1295-4272-9138-f99709370657
* Submit FS#10974: Speed up mpc-codec through changing the dct32-algorithm. ↵Andree Buschmann2010-02-07
| | | | | | +5% on PP5020, +12% on M5. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24544 a1c6a512-1295-4272-9138-f99709370657
* 1st part of fix for FS#10637. Correction of mpc header parsing.Andree Buschmann2010-01-31
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24408 a1c6a512-1295-4272-9138-f99709370657
* Set svn:keywords property on .c and .h files that didn't already have it. ↵Bertrik Sikken2010-01-03
| | | | | | Correct svn:executable property on some files. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24165 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
* Cosmetic fix: remove duplicate semicolonsBertrik Sikken2009-03-04
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20198 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 '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
* 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
* Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg2008-06-28
| | | | | | | | | later. We still need to hunt down snippets used that are not. 1324 modified files... http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
* Solve possible glitch after seeking in mpc files. Documented the special ↵Andree Buschmann2008-06-28
| | | | | | treatment after seek. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17829 a1c6a512-1295-4272-9138-f99709370657
* Small correction to avoid overflow within calculate_V()-function. Re-enable ↵Andree Buschmann2008-06-22
| | | | | | full precision for ARM as speed-optimized version is not that much faster anymore. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17750 a1c6a512-1295-4272-9138-f99709370657
* Musepack speed optimization. Speep up 64 bit precision synthesizer by ↵Andree Buschmann2008-06-15
| | | | | | another 1.5MHz through using symmetries within D[] filter coefficients. For ARM only. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17724 a1c6a512-1295-4272-9138-f99709370657
* Minor code beautification.Andree Buschmann2008-06-14
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17720 a1c6a512-1295-4272-9138-f99709370657
* Resort operands in mul/smull/mla/smlal to use D[] as second multiplication ↵Andree Buschmann2008-06-14
| | | | | | operand. Additionally do not pre-scale D[] for the 64 Bit precision synthesizer. Through this the 64 Bit multiplication is speed up by 1.5MHz without loss of precision. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17719 a1c6a512-1295-4272-9138-f99709370657
* Correct DSP_SET_SAMPLE_DEPTH to 29 for mpc (18.14 fixed point samples). ↵Andree Buschmann2008-06-10
| | | | | | Higher precision for fast 32x32=32 multiplication in dewindowing part of synthesis filter. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17708 a1c6a512-1295-4272-9138-f99709370657