New WMA Audio Codecs
This project is part of the Google Summer of Code 2010 project
Rockbox already contains an ASF parser and a decoder for the WMA standard codec. The primary goal for this project is to add support for the WMA Professional codec, and then if there were still time, WMA Voice codec.
Currently working on
- Codec plays and seeks.
- Works on targets with codec buffer > 550KB
- Decodes in 151% real-time using a 320kbps test sample on sansa e200.
|| Code in SVN
| Fri, 30 Apr
|| Extracted the necessary files for WMA Pro from ffmpeg r22886 and copied them to apps/codecs/libwmapro.
| Fri, 30 Apr
|| Applied a minimal set of modifications to the files in libwmapro to make them compile standalone. See libwmapro/README.rockbox.
| Sun, 2 May
|| Factored out the ASF-specific code from apps/codecs/wma.c, created an independent ASF packet-handling library, and applied the necessary changes to use that library in the ASF metadata parser and the current wma codec.
| Mon, 10 May
|| Modified the ASF metadata parser to work with wma pro streams. ASF packets seem to be independent of the codec type, so no modifications were done on the packet-handling functions.
| Mon, 21 June
|| Wrote apps/codecs/wmapro.c and modified libwmapro to make the codec work in the sim. (For compiling see README.rockbox)
| Mon, 5 July
|| Partial conversion of the WMA Pro decoder to fixed point arithmetic. Currently inverse quantization & rescaling, imdct and windowing are all in fixed point.
| Mon, 12 July
|| Complete conversion of WMA Pro to fixed point arithmetic.
| Wed, 14 July
|| Removal of the floating point code from apps/codecs/wmaprodec.c, and some additional modifications to make it compile on target, with Rafaël Carré (funman) doing some bug squashing in revisions r27419 to 27423 (Thanks!)
| Thu, 15 July
|| Initial codec cleanup for libwmapro.
| Sat, 17 July
|| Enabled ff_copy_bits in ffmpeg_bitstream.c and added put_bits.h and intreadwrite.h to codeclib.
Sat, 17 July
| Completed cleaning up libwmapro.
| Mon, 26 July
|| Optimisations by Andree Buschmann, Nils Wallménius and myself.
| Tue, 27 July
|| More optimisations by Nils Wallménius.
Copyright © by the contributing authors.