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
- Optimising wma pro.
- Initial work on WMA Voice port.
Current Status
- WMA Pro codec plays real time and seeks on all targets.
- Still no multichannel (>2 channel streams) support in WMA Pro.
- WMA Voice plays and seeks in the sim only, code is still in floating point.
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 |
Thu, 15 July |
Initial codec cleanup for libwmapro. |
r27425 |
Sat, 17 July |
Enabled ff_copy_bits in ffmpeg_bitstream.c and added put_bits.h and intreadwrite.h to codeclib. |
r27452 |
Sat, 17 July |
Completed cleaning up libwmapro. |
r27453 r27454 r27455 |
Mon, 26 July |
Optimisations by Andree Buschmann, Nils Wallm�nius and myself. |
r27582 r27583 r27584 |
Tue, 27 July |
More optimisations by Nils Wallm�nius. |
r27585 r27586 |
--
MohamedTarek - 2010-05-02
Copyright � by the contributing authors.