Dave Hooper
42774d3128
Merge from branches/mdctexp - faster ifft+imdct in codec lib
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24712 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 00:49:53 +00:00
Nils Wallménius
b9d7f98f8c
Move av_log2 function and asociated table to the codec lib, remove 3 identical implementations, always have LUT in iram (gives a *tiny* speedup on coldfire), make the clz based function return the same value as the non clz based function for 0 input to be safe (slows down flac ~2% on the gigabeat S)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23858 a1c6a512-1295-4272-9138-f99709370657
2009-12-05 16:47:43 +00:00
Nils Wallménius
07fe3562a1
#if 0 out unused stuff
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23782 a1c6a512-1295-4272-9138-f99709370657
2009-11-29 14:29:18 +00:00
Michael Sparmann
099df2fb71
Make the codecs use more IRAM on S5L870x, as we have plenty of it.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23594 a1c6a512-1295-4272-9138-f99709370657
2009-11-09 20:01:07 +00:00
Michael Giacomelli
e4fb3dc14c
Commit unrolled version of WMA's exponent decode taken from latest ffmpeg. Gives a 1% speedup @ 192kbps.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22871 a1c6a512-1295-4272-9138-f99709370657
2009-10-02 00:47:15 +00:00
Mohamed Tarek
042bbad6d6
revert r22337 for libwma for now since it broke wma playback on ARM due to alignment issues.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22347 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 15:36:32 +00:00
Mohamed Tarek
c74319b2f4
Fix red.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22338 a1c6a512-1295-4272-9138-f99709370657
2009-08-15 22:20:25 +00:00
Mohamed Tarek
adf3f09251
Move bitstream.[ch] to codecs/lib/ffmpeg_bitstream.[ch] to avoid duplicate copies across codecs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22337 a1c6a512-1295-4272-9138-f99709370657
2009-08-15 22:06:42 +00:00
Mohamed Tarek
2402aecbb5
remove duplicates of bswap.h from libwma, libcook and libatrac. Create 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-08-15 16:50:52 +00:00
Michael Giacomelli
5bd339c9f9
Clean up a lot of old and ugly comments. Wrap some long lines. Remove 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-07-28 22:19:53 +00:00
Michael Giacomelli
3866755d28
Remove unused variable and assignment.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21304 a1c6a512-1295-4272-9138-f99709370657
2009-06-15 22:36:57 +00:00
Jens Arnold
6421f94c0d
Silence warning from 'ar' if the archive had to be created.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20151 a1c6a512-1295-4272-9138-f99709370657
2009-03-01 09:04:15 +00:00
Daniel Stenberg
2e6d604bb6
Stop hiding errors by redirecting stderr to /dev/null. If we really need to 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
2009-02-23 08:45:16 +00:00
Tom Ross
e7afeff072
Sync some changes found in ffmpeg plus a spelling correction I forgot to commit.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19503 a1c6a512-1295-4272-9138-f99709370657
2008-12-20 06:40:46 +00:00
Tom Ross
c3615119ba
Don't read a full byte if less than 8 bits are available. The change doesn't 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-20 06:16:22 +00:00
Michael Giacomelli
6a635b20da
Wrap some of the more ridiculously long lines introduced in the previous revision. Whitespace changes only.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19501 a1c6a512-1295-4272-9138-f99709370657
2008-12-20 05:53:28 +00:00
Michael Giacomelli
2557251351
Correctly implement remaining portions of ffmpeg's r8627 that I'd forgotten 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-20 05:43:58 +00:00
Michael Giacomelli
7a0baa3aa5
Fix occasional glitch when switching from stereo to mono tracks due to uninitialized m/s coding flag.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19498 a1c6a512-1295-4272-9138-f99709370657
2008-12-20 02:38:35 +00:00
Michael Giacomelli
d909eee0ce
Commit fix by Tom Ross in FS#7488 wherein a silly mistake noise coding 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-20 01:49:27 +00:00
Michael Giacomelli
0301ed5594
Fix bug where a mono file using noise coding would be corrupted if it was 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-12-20 01:38:34 +00:00
Björn Stenberg
a091d20ba0
Added 'keywords' and 'eol-style' properties.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19218 a1c6a512-1295-4272-9138-f99709370657
2008-11-25 19:54:23 +00:00
Björn Stenberg
303b455ceb
Remove .a files before running ar, to avoid problems with renamed files remaining in the library.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19160 a1c6a512-1295-4272-9138-f99709370657
2008-11-20 16:49:55 +00:00
Björn Stenberg
c6b3d38a15
New makefile solution: A single invocation of 'make' to build the entire 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-11-20 11:27:31 +00:00
Michael Giacomelli
1620d1fd03
Correct poor assumption on my part that WMA frames are 2048 samples long. 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-10-14 01:41:26 +00:00
Michael Giacomelli
46f85c4c54
Combine the Vorbis, WMA and AAC IMDCT functions and put them into the 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-09-04 18:02:10 +00:00
Michael Giacomelli
d016402fec
Actually put the output in IRAM this time by combining some buffers that weren't used at the same time.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18231 a1c6a512-1295-4272-9138-f99709370657
2008-08-10 02:31:01 +00:00
Jens Arnold
ee39863459
Speed up WMA decoding on coldfire (14% speedup with a 128kbps test file).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18228 a1c6a512-1295-4272-9138-f99709370657
2008-08-09 22:32:34 +00:00
Michael Giacomelli
6da45d4c56
Remove unused variable.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18095 a1c6a512-1295-4272-9138-f99709370657
2008-07-19 20:52:43 +00:00
Michael Giacomelli
1334738071
Use Tremor IMDCT for WMA. Gives a ~20% speedup on ARM and coldfire. All my 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-17 17:43:49 +00:00
Michael Giacomelli
95fb20b7a8
Fix warning due to typo on my part.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17948 a1c6a512-1295-4272-9138-f99709370657
2008-07-05 22:55:09 +00:00
Michael Giacomelli
2a75a9045c
More WMAv1 fixes by Rafael Carre.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17943 a1c6a512-1295-4272-9138-f99709370657
2008-07-05 00:44:01 +00:00
Michael Giacomelli
b50b38ae58
Forgot that the X5/M5 use a 64/64KB IRAM split, so they can't use the previous optimization.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17854 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 19:21:38 +00:00
Michael Giacomelli
a06f651c3e
Put the WMA windowing and output buffer into IRAM on targets with > 96KB of 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-28 18:56:19 +00:00
Daniel Stenberg
2acc0ac542
Updated our source code header to explicitly mention that we are GPL v2 or
...
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-28 18:10:04 +00:00
Michael Giacomelli
ff9f3f8c04
Revert r14786 which resulted in a substantial reduction in accuracy to save 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-24 15:39:44 +00:00
Michael Giacomelli
dab9fa1ef7
Fix for WMAv1 decoding suggested by Rafael Carre. I don't think anyone out 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-06-24 15:17:14 +00:00
Michael Giacomelli
e7999873f5
Fix mistake in previous WMA commit. Also update comments to reflect changes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17202 a1c6a512-1295-4272-9138-f99709370657
2008-04-21 00:46:55 +00:00
Michael Giacomelli
dac1ed5f41
This table is probably 128 entries long beginning with -60. Greatly improves 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-18 23:05:20 +00:00
Michael Giacomelli
861525852c
Increase the size of one of the look up tables. Fixes 'burst of static' in 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-14 01:12:51 +00:00
Michael Giacomelli
82dc8175cf
Make the WMA decoder less noisy in the sim.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17014 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 02:32:48 +00:00
Michael Giacomelli
c6bbb0f690
Fix sim for now. Eventually I should change the decoder to error out if theres a problem allocating huffman tables.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17013 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 02:25:09 +00:00
Michael Giacomelli
231f0c208d
Let the console know when the huffman tables have overflown. This should never happen.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17012 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 02:11:14 +00:00
Michael Giacomelli
4a808073c7
Amazingly, I've only been initing about 1/2 the huffman table entries needed 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-04-07 02:01:44 +00:00
Michael Giacomelli
03f1b98531
Fix misleading debug statement.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16838 a1c6a512-1295-4272-9138-f99709370657
2008-03-27 01:40:16 +00:00
Michael Giacomelli
5730da2ba8
Apply last fall's exponent fix to WMA v1 files as well.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16114 a1c6a512-1295-4272-9138-f99709370657
2008-01-19 23:00:50 +00:00
Michael Giacomelli
dadd80a8a6
If seek fails, don't insert nonsense for the current position. Also, make one of the error messages a bit more clear.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16002 a1c6a512-1295-4272-9138-f99709370657
2008-01-06 02:50:01 +00:00
Michael Giacomelli
781c82c0d6
Argh.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15368 a1c6a512-1295-4272-9138-f99709370657
2007-10-29 23:22:33 +00:00
Michael Giacomelli
31b74ecb21
Copyright.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15367 a1c6a512-1295-4272-9138-f99709370657
2007-10-29 23:21:42 +00:00
Michael Giacomelli
132bc634ed
We removed the old Q15.16 precision trig functions from decoding ages ago, 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-29 23:16:41 +00:00
Thom Johansen
877ea486ba
Move multiply routines into the header. Give Coldfire a fixmul32b(). Remove some tabs and empty lines.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15205 a1c6a512-1295-4272-9138-f99709370657
2007-10-19 12:27:38 +00:00