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.
Relevant resources
Project plan
Currently working on
- Removing dead/unneeded code.
Current Status
- Codec plays and seeks.
- Works on targets with codec buffer > 550KB
- Decodes in 151% real-time using a 320kbps test sample on sansa e200.
Progress
| Date |
Achievement |
Code in SVN |
| Fri, 30 Apr |
Extracted the necessary files for WMA Pro from ffmpeg r22886 and copied them to apps/codecs/libwmapro. |
r25763 |
| Fri, 30 Apr |
Applied a minimal set of modifications to the files in libwmapro to make them compile standalone. See libwmapro/README.rockbox. |
r25764 |
| 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. |
r25780 r25783 |
| 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. |
r25922 |
| Mon, 21 June |
Wrote apps/codecs/wmapro.c and modified libwmapro to make the codec work in the sim. (For compiling see README.rockbox) |
r27006 |
| 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. |
r27302m |
| Mon, 12 July |
Complete conversion of WMA Pro to fixed point arithmetic. |
r27402 |
| 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!) |
r27416 r27417 |
--
MohamedTarek - 2010-05-02
Copyright © by the contributing authors.