summaryrefslogtreecommitdiffstats
path: root/apps/codecs/libmusepack/mpc_decoder.c
AgeCommit message (Collapse)AuthorFilesLines
2012-04-25Add codecs to librbcodec.Sean Bartell1-767/+0
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97 Reviewed-on: http://gerrit.rockbox.org/137 Reviewed-by: Nils Wallménius <nils@rockbox.org> Tested-by: Nils Wallménius <nils@rockbox.org>
2011-09-10Fully remove floating point code from libmusepack. Introduce two small const ↵Andree Buschmann1-1/+1
arrays for precalculated scalefactors, correct the integer type of scalefactors to unsigned, migrate some metadata calculations to fixed point. No impact to decoder output. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30497 a1c6a512-1295-4272-9138-f99709370657
2011-08-02Sync rockbox to r475 of musepack's svn.Andree Buschmann1-4/+4
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30240 a1c6a512-1295-4272-9138-f99709370657
2011-06-01FS#12140 by Sean Bartell, Make various codec stuff static.Nils Wallménius1-10/+12
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29942 a1c6a512-1295-4272-9138-f99709370657
2011-05-16Use more IRAM for mpc on S5L870x. Speed up decoding by ~2%.Andree Buschmann1-1/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29891 a1c6a512-1295-4272-9138-f99709370657
2010-11-21Use MEM_ALIGN_ATTR in mpc codec. Speed up by 22-24% was measured on ARM11.Andree Buschmann1-4/+4
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28627 a1c6a512-1295-4272-9138-f99709370657
2010-11-12Minor speed up of mpc requantization.Andree Buschmann1-6/+17
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28563 a1c6a512-1295-4272-9138-f99709370657
2010-11-12Set alignment for major data arrays in the mpc codec. This avoids ↵Andree Buschmann1-3/+9
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
2010-10-02Fix FS#11650. Correct sliencing of subband in mpc decoder. Thanks to Leo ↵Andree Buschmann1-1/+1
Witt for reporting and supporting. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28200 a1c6a512-1295-4272-9138-f99709370657
2010-06-24Housekeeping. Comment musepack code seqments unused in rockbox.Andree Buschmann1-0/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27111 a1c6a512-1295-4272-9138-f99709370657
2010-05-14Restor setting of EMAC mode on coldfire lost in r25056 fixes whitenoise when ↵Nils Wallménius1-0/+5
transitioning from a codec using a different EMAC mode. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26013 a1c6a512-1295-4272-9138-f99709370657
2010-05-07Unroll mpc's requantization loops for some (minor) speed up.Andree Buschmann1-19/+60
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25891 a1c6a512-1295-4272-9138-f99709370657
2010-05-07Refactor mpc's requantization to use identical macros for each subframe.Andree Buschmann1-101/+76
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25887 a1c6a512-1295-4272-9138-f99709370657
2010-04-18Clean up libmusepack: move declarations to internal.h and set svn properties.Bertrik Sikken1-2/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25676 a1c6a512-1295-4272-9138-f99709370657
2010-03-11Minor optimization for musepack codec through moving functions to IRAM on PP ↵Andree Buschmann1-2/+4
processors. Speed ups codec by 0.25 MHzon PP5022. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25127 a1c6a512-1295-4272-9138-f99709370657
2010-03-07Major change to musepack decoder: Import v1.3.0 (r458 from svn.musepack.net) ↵Andree Buschmann1-1527/+452
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
2008-06-28Solve possible glitch after seeking in mpc files. Documented the special ↵Andree Buschmann1-3/+3
treatment after seek. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17829 a1c6a512-1295-4272-9138-f99709370657
2008-06-04Further changes in mpc buffered seek. Remove magical number and replace it ↵Andree Buschmann1-20/+26
with a better commented #define. Use shift and bit mask instead of division and modulo operations when using the seek buffer. Saves some binary size for the codec. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17686 a1c6a512-1295-4272-9138-f99709370657
2008-05-31Fix for FS#9054. MPC-playback stopped after 3:34min caused by out-of-bounds ↵Andree Buschmann1-1/+0
access. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17671 a1c6a512-1295-4272-9138-f99709370657
2008-05-22Fixes backward seeking on resumed files and backward seeking to positions to ↵Andree Buschmann1-7/+13
which formerly was seeked forward to (sounds complicated and it is). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17606 a1c6a512-1295-4272-9138-f99709370657
2008-05-22Commit FS#9015. Rework of musepack buffered seek. Now a static seek buffer ↵Andree Buschmann1-111/+70
of 8192 entries is used. The seeking precision is adapted to the length of the file (e.g. 26ms for files <=3.5min and 0.4s for files ~60min). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17604 a1c6a512-1295-4272-9138-f99709370657
2008-05-19Musepack seek hotfix. Do not dynamically allocate seek buffer but use a ↵Andree Buschmann1-10/+4
buffer of constant size (~28.5min). Files larger than this will still not seek properly. Some additional rework has to be done for the seek buffer. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17584 a1c6a512-1295-4272-9138-f99709370657
2008-05-14Musepack performance optimization for PP5022/PP5024/MCF5250 targets. Use ↵Andree Buschmann1-17/+17
IRAM for internal sample buffers and lookup tables. Speeds up decoding by ~7% on PP5022/PP5024 (Sansa: c200, e200 + iPod mini2G, nano, video) and by ~27% on MCF5250 (iaudio m5, x5). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17507 a1c6a512-1295-4272-9138-f99709370657
2008-05-10Removed non-active seek mechanism from musepack library, small other cleanups.Andree Buschmann1-182/+86
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17446 a1c6a512-1295-4272-9138-f99709370657
2008-05-10Some changes for musepack: Disable SV4-SV6 support (I guess I am the only ↵Andree Buschmann1-27/+18
one who oned such). Remove tabs, perform some minor code beautification and add ICONST_ATTR to some requantization constants. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17438 a1c6a512-1295-4272-9138-f99709370657
2007-05-10Code cleaning - remove some unnecessary defined(SIMULATOR) checksDave Chapman1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13369 a1c6a512-1295-4272-9138-f99709370657
2006-09-01Put Musepack output data array back in IRAM for faster DSP processing. Patch ↵Thom Johansen1-6/+10
by Andrew Cupper. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10844 a1c6a512-1295-4272-9138-f99709370657
2006-08-31FS patch #5172 by Andrew Cupper. Musepack seeking support. Decoder should ↵Thom Johansen1-210/+759
also be faster. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10827 a1c6a512-1295-4272-9138-f99709370657
2006-04-29Fix the first-frame memmove from pretending the data is interleaved, which ↵Thom Johansen1-2/+6
it isn't anymore. This should fix all remaining gapless problems with Musepack. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9827 a1c6a512-1295-4272-9138-f99709370657
2006-04-27Make libmusepack output the last frame in two passes. Reclaim the IRAM taken ↵Thom Johansen1-12/+19
in the last commit. Please let me know if you can hear any artifacts or get any broken files from this! git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9825 a1c6a512-1295-4272-9138-f99709370657
2006-01-30Fix warning.Thom Johansen1-0/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8490 a1c6a512-1295-4272-9138-f99709370657
2006-01-30Synced libmpcdec to musepack.net SVN.Thom Johansen1-174/+185
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8488 a1c6a512-1295-4272-9138-f99709370657
2006-01-08I figured out what was *really* causing the MPC track-change noise, so IDave Bryant1-5/+6
backed out Thom's change and made the appropriate change. Note that this should not fix the track change *pop* because there still seems to be a problem decoding the first and last several hundred samples of MPC files. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8306 a1c6a512-1295-4272-9138-f99709370657
2005-10-28Squeezed two very frequently used arrays in IRAM for a very nice performance ↵Thom Johansen1-0/+6
boost. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7676 a1c6a512-1295-4272-9138-f99709370657
2005-10-12Musepack: emacified multiplication routines, gives a nice speed boost.Jens Arnold1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7624 a1c6a512-1295-4272-9138-f99709370657
2005-09-07Adapted codecs and DSP system to having MACSR saved in thread context.Thom Johansen1-0/+4
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7485 a1c6a512-1295-4272-9138-f99709370657
2005-06-14See my message on the mailinglist. This should kill all warnings left in the ↵Tomas Salfischberger1-18/+18
iriver builds. And the changes will be added to the next musepack minor release. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6710 a1c6a512-1295-4272-9138-f99709370657
2005-05-07fix a couple of warnings, still have numerous for signed <=> unsigned mixedDaniel Stenberg1-0/+2
usage git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6418 a1c6a512-1295-4272-9138-f99709370657
2005-04-12Musepack support, complete with mpc2wav plugin. Thanks go out to rasher for ↵Thom Johansen1-0/+1349
initiating the port. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6276 a1c6a512-1295-4272-9138-f99709370657