Michael Giacomelli
|
4f9bffe18e
|
Fix warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13866 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-13 01:41:31 +00:00 |
|
Jens Arnold
|
42bd5b46f0
|
WMA codec: Coldfire is capable of unaligned memory accesses, so lets make use of it. ~1.5% speedup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13865 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-12 22:12:25 +00:00 |
|
Michael Giacomelli
|
9ac2756e94
|
Fix the above by including all required files and updating SOURCES.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13860 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-12 03:26:20 +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
|
a9df713ee9
|
TAB and whitespace police
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13858 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-11 23:07:41 +00:00 |
|
Michael Giacomelli
|
28b0c58726
|
Don't assume files are WMAv2, instead actually check that they are and quit gracefully if they are not.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13855 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-11 16:58:11 +00:00 |
|
Michael Giacomelli
|
00b16fab6c
|
Ancient ffmpeg bug fix that should never have been missed. Prevents floating point value from truncating downward. My files are byte for byte identical with this fix, but the ffmpeg mailing list claims its important.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13846 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-11 01:20:31 +00:00 |
|
Dave Chapman
|
47e969278b
|
ASF parser improvements - it now correctly handles files containing multiple payloads. i.e. files where the audio packets are split into multiple payloads, and streams where audio/video payloads are mixed within the same packet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13840 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-10 13:37:16 +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 |
|
Dan Everton
|
07fabd1cd1
|
ICONST_ATTR most constant tables in Speex. Results in a 10% improvement on Coldfire (200% to 220% realtime). Almost certainly not the best use of IRAM, but it works now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13831 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-09 11:18:10 +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
|
4b1cf3ea44
|
Compute MDCT in place. Make that place within IRAM. Gives nice speed boost on ARM. Probably make a huge difference on Coldfire.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13828 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-09 02:48:32 +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
|
899212858c
|
Code clean up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13825 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-09 00:21:19 +00:00 |
|
Michael Giacomelli
|
9b176d88c8
|
Inline wma_window functions. No real performance improvement. Also, thanks to Benjamin Larsson for cleaning up some code I was simply to lazy to fix myself.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13823 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-08 22:03:56 +00:00 |
|
Michael Giacomelli
|
610d3b4cc5
|
Merge bit reverse tables together.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13822 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-08 21:52:49 +00:00 |
|
Michael Giacomelli
|
93bc5ef1d6
|
Fix rare overflow when decoding MDCT coefficients. As a bonus, decoding is now slightly faster. Thanks to preglow for suggesting I test with a full scale normalized square wave.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13815 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-08 06:06:00 +00:00 |
|
Michael Giacomelli
|
030dce6f88
|
Fix previous
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13814 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-08 05:57:14 +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 |
|
Michael Giacomelli
|
e0473717e5
|
Merged in ffmpeg combined MDCT reconstruction. Saves us a 16KB buffer, and gives a nice speed increase. Brings code much closer to ffmpeg's.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13803 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-06 01:50:24 +00:00 |
|
Dave Chapman
|
9b96d66621
|
Yet more dead code removal
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13789 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-04 20:45:00 +00:00 |
|
Dave Chapman
|
ba3f4ed565
|
Remove some unused code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13788 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-04 20:27:26 +00:00 |
|
Jens Arnold
|
e7cdd6cbc6
|
Assemblerised CMUL() for ARM, giving ~20% speedup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13787 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-04 19:23:18 +00:00 |
|
Michael Giacomelli
|
fe8ae10ab4
|
Attempt #2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13786 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-04 17:51:52 +00:00 |
|
Michael Giacomelli
|
51b3bbbf1c
|
Opps fix static ASM function on coldfire
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13785 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-04 17:26:24 +00:00 |
|
Michael Giacomelli
|
a16d0f389e
|
Code clean up: Move fixed point functions into their own files. Move various lookup tables into header files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13784 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-04 17:15:09 +00:00 |
|
Jens Arnold
|
5717a0af87
|
Shorten the coldfire fixmul32() by 2 instructions and use one register less. Smaller code, but practically no speed change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13783 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-04 00:31:17 +00:00 |
|
Thom Johansen
|
4aeab55f67
|
Replace some 64 bit multiplies with assembly on Coldfire targets. Codec lots closer to realtime on those targets now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13779 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-03 19:36:26 +00:00 |
|
Dave Chapman
|
9cb40ea5e3
|
WMA clean-up commit - fix 64-bit sim warnings, set svn keywords property, and add new files to apps/FILES
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13771 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-03 10:21:23 +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 |
|
Magnus Holmgren
|
932b20ec62
|
Vorbis: Apply various bugfixes from upstream Tremor.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13756 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-01 17:58:49 +00:00 |
|
Magnus Holmgren
|
c3206a455a
|
AAC: Add support for iTunes-style gapless playback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13636 a1c6a512-1295-4272-9138-f99709370657
|
2007-06-16 13:00:52 +00:00 |
|
Dave Chapman
|
cee61b57c8
|
Remove some unused code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13630 a1c6a512-1295-4272-9138-f99709370657
|
2007-06-14 22:35:01 +00:00 |
|
Dave Chapman
|
283738086d
|
Oops, forgot to set keywords prop
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13627 a1c6a512-1295-4272-9138-f99709370657
|
2007-06-13 22:03:28 +00:00 |
|
Dave Chapman
|
6b713820c1
|
ARM assembler predictor decoding function. This increases my -c1000 test track from around 94% realtime on an ipod to around 104% realtime, but yields only a tiny speedup (453% to 455%) on the Gigabeat. Including this optimisation, total decoding time for my 245.70s -c1000 test track on an ipod is 236.06s, with the predictor decoding taking 51.40s of that time - meaning the predictor decoding is only about 22% of the total decoding time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13626 a1c6a512-1295-4272-9138-f99709370657
|
2007-06-13 22:02:34 +00:00 |
|
Dave Chapman
|
601ede7f9c
|
C optimisations to the predictor decoding - create a single function for decoding stereo streams, and reorganise to minimise the number of variables used. My -c1000 test track now decodes at 93% realtime on PortalPlayer (was 78%), 187% on Coldfire (was 170%) and 447% on Gigabeat (was 408%).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13608 a1c6a512-1295-4272-9138-f99709370657
|
2007-06-10 08:55:16 +00:00 |
|
Dave Chapman
|
6131996538
|
Define and use a local APE_MAX function to make the standalone demac decoder compile again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13601 a1c6a512-1295-4272-9138-f99709370657
|
2007-06-09 00:58:15 +00:00 |
|
Nils Wallménius
|
a85793fc54
|
Build Tremor with -O3 for coldfire targets, gives a slight increase in speed, remember to make clean.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13598 a1c6a512-1295-4272-9138-f99709370657
|
2007-06-08 22:51:39 +00:00 |
|
Dave Chapman
|
7b1d90a851
|
Seeking and resume support for Monkey's Audio
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13597 a1c6a512-1295-4272-9138-f99709370657
|
2007-06-08 22:35:26 +00:00 |
|
Dave Chapman
|
c995ae8026
|
Make v3.97 APE files work in Rockbox
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13571 a1c6a512-1295-4272-9138-f99709370657
|
2007-06-06 17:46:49 +00:00 |
|
Dave Chapman
|
8dcd6058c8
|
Correct a comment (thanks to Markun for spotting)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13569 a1c6a512-1295-4272-9138-f99709370657
|
2007-06-06 08:53:55 +00:00 |
|
Dave Chapman
|
520274219a
|
Initial commit of Monkey's Audio (.ape/.mac) support. Note that Monkey's is an extremely CPU-intensive codec, and that the decoding speed is directly related to the compression level (-c1000, -c2000, -c3000, -c4000 or -c5000) used when encoding the file. Current performance is: -c1000 to -c3000 are realtime on a Gigabeat, -c1000 is realtime on Coldfire targets (H100, H300 and Cowon), and nothing is realtime on PortalPlayer targets (iPods, H10, Sansa). Hopefully this can be improved. More information at FS #7256.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13562 a1c6a512-1295-4272-9138-f99709370657
|
2007-06-05 16:58:29 +00:00 |
|
Dan Everton
|
213e7d8472
|
Fix prototypes and warning in ARM version of libspeex filter.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13462 a1c6a512-1295-4272-9138-f99709370657
|
2007-05-22 10:05:32 +00:00 |
|
Dan Everton
|
df6f2f9a3c
|
Upgrade to libspeex 1.2beta2. Very minor performance increase (0.6% on coldfire).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13461 a1c6a512-1295-4272-9138-f99709370657
|
2007-05-22 09:50:31 +00:00 |
|
Nils Wallménius
|
9e94b380f0
|
Accept FS#6934 by Akio Idehara to fix an unresolved dependency on apps/codecs/codec_crt0.o that could trigger when using 'make' with the '-j' switch
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13386 a1c6a512-1295-4272-9138-f99709370657
|
2007-05-14 10:07:41 +00:00 |
|
Dave Chapman
|
f02cba8096
|
Code cleaning - remove some unnecessary defined(SIMULATOR) checks
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13369 a1c6a512-1295-4272-9138-f99709370657
|
2007-05-10 13:16:08 +00:00 |
|
Dave Chapman
|
9a011f3a80
|
Clean up the codec API - remove all unused (and in many cases inappropriate) functions, move functions used only by encoders into the HAVE_RECORDING part of the API and document the reasons for the more unexpected functions being present.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13343 a1c6a512-1295-4272-9138-f99709370657
|
2007-05-07 11:09:45 +00:00 |
|