summaryrefslogtreecommitdiff
path: root/apps/codecs/libwma
AgeCommit message (Collapse)Author
2008-07-17Use Tremor IMDCT for WMA. Gives a ~20% speedup on ARM and coldfire. All my ↵Michael Giacomelli
test samples gave equivilent or better accuracy (>>16 bit), but there may still be problems. Code becomes somewhat less readable since the IMDCT has bits of Vorbis in it, but this is not a serious issue and the old ffmpeg transform remains in SVN if anyone wants it. Also, WMA now passes Vorbis as the fastest transform codec on ARM, although MPC remains the fastest lossy codec overall. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18084 a1c6a512-1295-4272-9138-f99709370657
2008-07-05Fix warning due to typo on my part.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17948 a1c6a512-1295-4272-9138-f99709370657
2008-07-05More WMAv1 fixes by Rafael Carre.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17943 a1c6a512-1295-4272-9138-f99709370657
2008-06-28Forgot that the X5/M5 use a 64/64KB IRAM split, so they can't use the ↵Michael Giacomelli
previous optimization. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17854 a1c6a512-1295-4272-9138-f99709370657
2008-06-28Put the WMA windowing and output buffer into IRAM on targets with > 96KB of ↵Michael Giacomelli
it. Improves 192k WMA decoding speed by about 2MHz on PP5024, and maybe saves some more when applying DSP. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17853 a1c6a512-1295-4272-9138-f99709370657
2008-06-28Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg
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
2008-06-24Revert r14786 which resulted in a substantial reduction in accuracy to save ↵Michael Giacomelli
a 7.6KB of RAM. Accuracy should be greatly improved now, and if we want to make that trade off again, I think of better ways to do it. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17783 a1c6a512-1295-4272-9138-f99709370657
2008-06-24Fix for WMAv1 decoding suggested by Rafael Carre. I don't think anyone out ↵Michael Giacomelli
there will ever use V1, but its worth having correct code for its own sake. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17782 a1c6a512-1295-4272-9138-f99709370657
2008-04-21Fix mistake in previous WMA commit. Also update comments to reflect changes.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17202 a1c6a512-1295-4272-9138-f99709370657
2008-04-18This table is probably 128 entries long beginning with -60. Greatly improves ↵Michael Giacomelli
FS#7488, but does not entirely fix it. Also, while I'm recomputing tables, use proper whitespace formating. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17162 a1c6a512-1295-4272-9138-f99709370657
2008-04-14Increase the size of one of the look up tables. Fixes 'burst of static' in ↵Michael Giacomelli
some files. I still have no idea how big it really needs to be... git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17103 a1c6a512-1295-4272-9138-f99709370657
2008-04-07Make the WMA decoder less noisy in the sim.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17014 a1c6a512-1295-4272-9138-f99709370657
2008-04-07Fix sim for now. Eventually I should change the decoder to error out if ↵Michael Giacomelli
theres a problem allocating huffman tables. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17013 a1c6a512-1295-4272-9138-f99709370657
2008-04-07Let the console know when the huffman tables have overflown. This should ↵Michael Giacomelli
never happen. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17012 a1c6a512-1295-4272-9138-f99709370657
2008-04-07Amazingly, I've only been initing about 1/2 the huffman table entries needed ↵Michael Giacomelli
to actually decode a WMA file for the last 8 months and yet somehow never noticed. Fixes FS#8713, FS#8606 and probably a lot of other files. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17011 a1c6a512-1295-4272-9138-f99709370657
2008-03-27Fix misleading debug statement.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16838 a1c6a512-1295-4272-9138-f99709370657
2008-01-19Apply last fall's exponent fix to WMA v1 files as well.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16114 a1c6a512-1295-4272-9138-f99709370657
2008-01-06If seek fails, don't insert nonsense for the current position. Also, make ↵Michael Giacomelli
one of the error messages a bit more clear. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16002 a1c6a512-1295-4272-9138-f99709370657
2007-10-29Argh.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15368 a1c6a512-1295-4272-9138-f99709370657
2007-10-29Copyright.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15367 a1c6a512-1295-4272-9138-f99709370657
2007-10-29We removed the old Q15.16 precision trig functions from decoding ages ago, ↵Michael Giacomelli
so no need to leave them in. Also, this code needs a GPL header. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15366 a1c6a512-1295-4272-9138-f99709370657
2007-10-19Move multiply routines into the header. Give Coldfire a fixmul32b(). Remove ↵Thom Johansen
some tabs and empty lines. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15205 a1c6a512-1295-4272-9138-f99709370657
2007-10-18Oversight in syncing on my end, sorry.Thom Johansen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15184 a1c6a512-1295-4272-9138-f99709370657
2007-10-18Add Coldfire and ARM assembler for "reverse multiply and copy" function too. ↵Thom Johansen
Gives big speedup on Coldfire, small on ARM. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15183 a1c6a512-1295-4272-9138-f99709370657
2007-10-18Woops, movem.l needs other order.Thom Johansen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15178 a1c6a512-1295-4272-9138-f99709370657
2007-10-18Add Coldfire assembler for window and add function, yielding a nice speedup. ↵Thom Johansen
Tweak ARM assembler version of same routine to act the same as the Coldfire version. Remove an error condition that newer ffmpegs do not bail out on. Files requiring this new behaviour have been observed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15177 a1c6a512-1295-4272-9138-f99709370657
2007-10-01move structures around in the header filesMarcoen Hirschberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14941 a1c6a512-1295-4272-9138-f99709370657
2007-10-01disable the ARM optimized MDCT for the Gigabeat for now as it creates a data ↵Marcoen Hirschberg
abort git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14940 a1c6a512-1295-4272-9138-f99709370657
2007-09-20reuse the largest sin and cos tables for smaller sizesMarcoen Hirschberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14786 a1c6a512-1295-4272-9138-f99709370657
2007-09-20fix a warning for coldfireMarcoen Hirschberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14779 a1c6a512-1295-4272-9138-f99709370657
2007-09-20get rid of warningsMarcoen Hirschberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14778 a1c6a512-1295-4272-9138-f99709370657
2007-09-20remove unused struct member and variableMarcoen Hirschberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14777 a1c6a512-1295-4272-9138-f99709370657
2007-09-20move (i)MDCT and FFT code to separate filesMarcoen Hirschberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14776 a1c6a512-1295-4272-9138-f99709370657
2007-09-20small cleanupsMarcoen Hirschberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14772 a1c6a512-1295-4272-9138-f99709370657
2007-09-02Fix warning.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14577 a1c6a512-1295-4272-9138-f99709370657
2007-09-02Apparently, negative exponents are possible when decoding exponential VLC. ↵Michael Giacomelli
Should fix occasional glitches that happened in files of all bitrates. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14571 a1c6a512-1295-4272-9138-f99709370657
2007-08-24Clean up iMDCT coefficient calculations.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14451 a1c6a512-1295-4272-9138-f99709370657
2007-08-16Faster Q1.31 multiply for ARM. Add some ARM asm windowing code. Simply ↵Michael Giacomelli
replacing c code with loop unrolled + load/store multiple instructions makes a surprising difference on PP. Also, add comments to the windowing code. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14365 a1c6a512-1295-4272-9138-f99709370657
2007-08-06use the full resolution we get from the WMA decoder and let the DSP code do ↵Marcoen Hirschberg
the rest git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14224 a1c6a512-1295-4272-9138-f99709370657
2007-08-06Fix warning.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14207 a1c6a512-1295-4272-9138-f99709370657
2007-08-06Clean up VLC functions.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14206 a1c6a512-1295-4272-9138-f99709370657
2007-08-02Cosmetic changes - TAB and whitespace policing.Dave Chapman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14135 a1c6a512-1295-4272-9138-f99709370657
2007-08-02Initial attept at supporting Line Spectral Pairs. Various issues remain, ↵Michael Giacomelli
and the ffmpeg decoder itself often fails on certain valid LSP files. Expect some issues. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14134 a1c6a512-1295-4272-9138-f99709370657
2007-07-25Fix overflow in noise coding. Greatly improves sound quality of some low ↵Michael Giacomelli
bitrate files git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13975 a1c6a512-1295-4272-9138-f99709370657
2007-07-21Fix decoding of misc sample rates that no one ever usesMichael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13946 a1c6a512-1295-4272-9138-f99709370657
2007-07-20Add incomplete support for files using noise coding but not LSP. In ↵Michael Giacomelli
practice, this means files >= 20kbps will probably work, and those below will probably not. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13945 a1c6a512-1295-4272-9138-f99709370657
2007-07-20Fix nasty bug that causes low bitrate files to crash because of an incorrect ↵Michael Giacomelli
assumption about MDCT window sizes on my part. Clears the way for further low bitrate fixes. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13937 a1c6a512-1295-4272-9138-f99709370657
2007-07-13Fix warnings.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13866 a1c6a512-1295-4272-9138-f99709370657
2007-07-12WMA codec: Coldfire is capable of unaligned memory accesses, so lets make ↵Jens Arnold
use of it. ~1.5% speedup. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13865 a1c6a512-1295-4272-9138-f99709370657
2007-07-12Fix the above by including all required files and updating SOURCES.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13860 a1c6a512-1295-4272-9138-f99709370657