Commit graph

8 commits

Author SHA1 Message Date
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
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
Marcoen Hirschberg
1ddef375df move (i)MDCT and FFT code to separate files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14776 a1c6a512-1295-4272-9138-f99709370657
2007-09-20 12:27:24 +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
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
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
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