Andree Buschmann
99494140da
Use more IRAM on S5L870x to speed up wma by ~3%.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29905 a1c6a512-1295-4272-9138-f99709370657
2011-05-20 22:53:22 +00:00
Michael Giacomelli
e5361590e7
Align various libwma buffers. Saves about 1 MHz on the Gigabeat S.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28640 a1c6a512-1295-4272-9138-f99709370657
2010-11-22 07:04:32 +00:00
Mohamed Tarek
b1fefcf3e9
Modify WMA to produce non-interleaved stereo output (FS#11503 by me). speeds up wma by 3.5MHz on CF and 2.2MHz on ARM.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27591 a1c6a512-1295-4272-9138-f99709370657
2010-07-28 12:45:21 +00:00
Nils Wallménius
fa15494ab8
libwma: void pointer voodoo to get rid ov strict aliasing warnings
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27463 a1c6a512-1295-4272-9138-f99709370657
2010-07-17 10:57:40 +00:00
Nils Wallménius
87b29215d5
libwma: Reuse a static buffer that was unused while decoding lsp files for some lsp related tables.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27462 a1c6a512-1295-4272-9138-f99709370657
2010-07-17 10:40:00 +00:00
Nils Wallménius
f2a1d92030
Remove unused 2kB buffer and some dead code.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27458 a1c6a512-1295-4272-9138-f99709370657
2010-07-17 08:49:21 +00:00
Michael Giacomelli
b9e7c18dda
Use codeclib version of the ffmpeg bitstream code for wma rather then ancient hacked up version.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27432 a1c6a512-1295-4272-9138-f99709370657
2010-07-15 17:14:56 +00:00
Mohamed Tarek
7aaae54afc
- Modify metadata/asf.c to use libasf.
...
- Modify the files in libwma to use libasf.
- Remove apps/codecs/libwma/asf.h since it's not used now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25783 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 18:27:01 +00:00
Andree Buschmann
e0b5ed8f01
Fix red.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25059 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 20:44:50 +00:00
Andree Buschmann
3200c77df5
Move WMA decoder array to IRAM on M5/X5 for better performance.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25058 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 20:35:21 +00:00
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
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
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
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
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
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
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
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
Marcoen Hirschberg
b8753ffdaa
move structures around in the header files
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14941 a1c6a512-1295-4272-9138-f99709370657
2007-10-01 13:46:07 +00:00
Marcoen Hirschberg
b2abd67671
remove unused struct member and variable
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14777 a1c6a512-1295-4272-9138-f99709370657
2007-09-20 12:32:39 +00:00
Marcoen Hirschberg
c43629f08b
use the full resolution we get from the WMA decoder and let the DSP code do the rest
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14224 a1c6a512-1295-4272-9138-f99709370657
2007-08-06 23:34:28 +00:00
Michael Giacomelli
206e883e78
Initial attept at supporting Line Spectral Pairs. Various issues remain, 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-08-02 04:47:33 +00:00
Michael Giacomelli
bc3ada265b
Add incomplete support for files using noise coding but not LSP. In 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-20 21:36:54 +00:00
Michael Giacomelli
362f894a53
Sync the bitstream functions with ffmpeg. Switch wmadeci.c over to get_vlc2 which is how ffmpeg now does it and is also slightly faster. Add in defines for later VLC memory usage optization. Kill some header files that weren't needed and update others that were out of sync. We're now much closer to the current ffmpeg codec which should make fixing the remaining issues much easier.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13859 a1c6a512-1295-4272-9138-f99709370657
2007-07-12 03:17:19 +00:00
Dave Chapman
0fd4e3f8e1
Restore some lost copyright headers from the ffmpeg project
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13834 a1c6a512-1295-4272-9138-f99709370657
2007-07-09 18:01:20 +00:00
Dave Chapman
88e32c2fc6
Reorganise the wma_decode_superframe() function - split into a separate init and decode functions. Each call to the decode function now decodes a single frame (2048 samples) instead of an entire superframe (which typically contained about 7 or 8 frames and can in theory contain up to 16 frames). This allows us to replace the 256KB output buffer with a 8KB buffer, and also perform more yields in the main decoding loop.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13833 a1c6a512-1295-4272-9138-f99709370657
2007-07-09 17:24:00 +00:00
Dave Chapman
85aa3a8d38
Code reorganisation - move the vlc functions back to common.c/common.h (where they originally were in the ffmpeg source). This code is still identical to the ffmpeg source.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13830 a1c6a512-1295-4272-9138-f99709370657
2007-07-09 10:53:56 +00:00
Michael Giacomelli
5a1999eacd
Move very commonly accessed array into IRAM. Should give a nice speedup on Coldfire.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13827 a1c6a512-1295-4272-9138-f99709370657
2007-07-09 01:59:33 +00:00
Dave Chapman
0361fd5e50
wma_decode_end() doesn't exist any more - it was only used to deallocate memory.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13826 a1c6a512-1295-4272-9138-f99709370657
2007-07-09 00:35:36 +00:00
Michael Giacomelli
f5114daa73
Move MDCT reconstruction window code over to new trig function. Improves accuracy significantly and slightly reduces code size. Codec SNR now appears to be limited by truncation to 16 bit. Comparison to MS decoder gives > 91 dB of agreement, and a lower RMS error verses the source wav then MS. Additionally, move one commonly accessed table into IRAM.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13813 a1c6a512-1295-4272-9138-f99709370657
2007-07-08 05:16:24 +00:00
Michael Giacomelli
2f1da8d24a
Merged in first part of ffmpeg accuracy improvments. No change on my samples, but brings us closer to ffmpeg's source and clears the way for additional bug fixes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13804 a1c6a512-1295-4272-9138-f99709370657
2007-07-06 02:44:58 +00:00
Dave Chapman
c72824786a
Initial, work-in-progress, version of a WMA codec using Michael Giacomelli's fixed-point and malloc-less WMA decoder (based on the ffmpeg WMA decoder from early 2006, and also building on the work started by Paul Jones). The codec itself and the ASF parsing code were written by me, inspired by the ASF parser in libasf. Current performance is around 400% realtime on gigabeat, 100% realtime on PP and 20% realtime on Coldfire.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13769 a1c6a512-1295-4272-9138-f99709370657
2007-07-03 09:25:36 +00:00