summaryrefslogtreecommitdiff
path: root/apps/codecs/libwma
AgeCommit message (Collapse)Author
2009-10-02Commit unrolled version of WMA's exponent decode taken from latest ffmpeg. ↵Michael Giacomelli
Gives a 1% speedup @ 192kbps. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22871 a1c6a512-1295-4272-9138-f99709370657
2009-08-16revert r22337 for libwma for now since it broke wma playback on ARM due to ↵Mohamed Tarek
alignment issues. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22347 a1c6a512-1295-4272-9138-f99709370657
2009-08-15Fix red.Mohamed Tarek
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22338 a1c6a512-1295-4272-9138-f99709370657
2009-08-15Move bitstream.[ch] to codecs/lib/ffmpeg_bitstream.[ch] to avoid duplicate ↵Mohamed Tarek
copies across codecs. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22337 a1c6a512-1295-4272-9138-f99709370657
2009-08-15remove duplicates of bswap.h from libwma, libcook and libatrac. Create ↵Mohamed Tarek
codecs/lib/ffmpeg_bswap.h and use it instead. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22328 a1c6a512-1295-4272-9138-f99709370657
2009-07-28Clean up a lot of old and ugly comments. Wrap some long lines. Remove ↵Michael Giacomelli
unneeded fixed point function. Move some fixed point math functions out of wmadeci. No functional changes. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22077 a1c6a512-1295-4272-9138-f99709370657
2009-06-15Remove unused variable and assignment.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21304 a1c6a512-1295-4272-9138-f99709370657
2009-03-01Silence warning from 'ar' if the archive had to be created.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20151 a1c6a512-1295-4272-9138-f99709370657
2009-02-23Stop hiding errors by redirecting stderr to /dev/null. If we really need to ↵Daniel Stenberg
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
2008-12-20Sync some changes found in ffmpeg plus a spelling correction I forgot to commit.Tom Ross
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19503 a1c6a512-1295-4272-9138-f99709370657
2008-12-20Don't read a full byte if less than 8 bits are available. The change doesn't ↵Tom Ross
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
2008-12-20Wrap some of the more ridiculously long lines introduced in the previous ↵Michael Giacomelli
revision. Whitespace changes only. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19501 a1c6a512-1295-4272-9138-f99709370657
2008-12-20Correctly implement remaining portions of ffmpeg's r8627 that I'd forgotten ↵Michael Giacomelli
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
2008-12-20Fix occasional glitch when switching from stereo to mono tracks due to ↵Michael Giacomelli
uninitialized m/s coding flag. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19498 a1c6a512-1295-4272-9138-f99709370657
2008-12-20Commit fix by Tom Ross in FS#7488 wherein a silly mistake noise coding ↵Michael Giacomelli
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
2008-12-20Fix bug where a mono file using noise coding would be corrupted if it was ↵Michael Giacomelli
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
2008-11-25Added 'keywords' and 'eol-style' properties.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19218 a1c6a512-1295-4272-9138-f99709370657
2008-11-20Remove .a files before running ar, to avoid problems with renamed files ↵Björn Stenberg
remaining in the library. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19160 a1c6a512-1295-4272-9138-f99709370657
2008-11-20New makefile solution: A single invocation of 'make' to build the entire ↵Björn Stenberg
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
2008-10-14Correct poor assumption on my part that WMA frames are 2048 samples long. ↵Michael Giacomelli
Fixed problems with sample rates < 44.1khz. Fixes FS#9242 and FS#9439. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18805 a1c6a512-1295-4272-9138-f99709370657
2008-09-04Combine the Vorbis, WMA and AAC IMDCT functions and put them into the ↵Michael Giacomelli
codeclib. Combined IMDCT is now based on existing Tremor transform. Reduces CPU for 192k AAC by 21MHz on Coldfire, and 5MHz on PP5024. WMA and Vorbis should have no functional changes since they already used this code. Further optimization is possible and would benefit all 3 codecs. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18412 a1c6a512-1295-4272-9138-f99709370657
2008-08-10Actually put the output in IRAM this time by combining some buffers that ↵Michael Giacomelli
weren't used at the same time. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18231 a1c6a512-1295-4272-9138-f99709370657
2008-08-09Speed up WMA decoding on coldfire (14% speedup with a 128kbps test file).Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18228 a1c6a512-1295-4272-9138-f99709370657
2008-07-19Remove unused variable.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18095 a1c6a512-1295-4272-9138-f99709370657
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