Windows Media Audio Professional (WMA Pro) was introduced by Microsoft in the year 2003.  It operates on 16/24 bit audio signals sampled at 8-96 KHz and generates compressed bit-streams having bit-rates in the range of 8  384 kbps. WMA Pro offers advanced capabilities when compared to the popular WMA STD audio codec from Microsoft. It supports mono to 7.1 channel surround audio. It uses Frequency Extension (FEX) and Channel Extension (CHEX) techniques to produce high quality signals at low bit rates. FEX uses the concept of bandwidth extension and CHEX is used to produce stereo output from single channel. Further, the codec also provides support for features such as dynamic range control and channel down-mixing. The codec is designed for portable media players, mobile phones, as well as network connected devices. WMA Pro is Microsoft’s proprietary audio codec subjected to terms and conditions of Microsoft License agreement.

  • Based on Windows media porting kit (WMPK) version 10 provided by Microsoft.
  • Optimized ASM/C implementation.
  • Re-entrant implementation
  • C-callable APIs
  • Supports sampling frequencies ranging from 8KHz to 48KHz.
  • Supports forcing the output to 16-bit and 24-bit PCM.
  • Supports bitrates ranging from 8 kbps to 384 kbps.
  • Supports from mono to 5.1 channel output.
  • Support for Class 4 implementation of WMA STD(Decoding of WMA v4.0/v4.1 files)
  • Supports ASF container format as part of WMA decoder library.
  • Configuration option to select the STD, M0 or M1 profile during compilation time.
  • Supports downmixing to mono or stereo output.
  • Supports Interleaved and de-interleaved output.
  • Supports DRC at run-time.
  • Supports MBR (Multi Bit Rate) streams and can select the required bit-rate at the init-time.
  • Supports init-time option to ignore FEX or CHEX in M0 streams.
  • Decodes the audio content in WMV streams.
  • Supports Little-Endian implementation on C64x+ and ARM
  • Implementation meets the conformance criteria mentioned by Microsoft and it is certified by the Microsoft.
  • The implementation is xDM 1.0 complaint.
  • Implementation is tested for wide range of standard and non-standard test vectors.
  • Tested for conformance with Microsoft CTT (Conformance Test Tool).
  • Tested for graceful exit in case of bit-stream related errors or exception.
  • Tested for illegal memory access by the module on C64x+ and ARM platforms.
  • Module is fully interruptible (maximum interrupt latency on C64x+ is 6000 cycles).
  • Tested for compliance with register preservation requirements
  • Tested for Input buffer corruption
  • Tested for I/O buffer alignment requirements
  • Tested for multi-instance implementation.
  • Tested with scratch contamination at frame boundaries
  • Tested for 100% code coverage
  • Range validation of all API parameters
  • TI C64x+ implementation is validated on Spectrum Digital DM6467/DM6446 EVM and OMAP3530 platform using DVTB.
  • ARM implementation is validated on OMAP3530 (Cortex-A8) and DM6446/DM6467 (ARM926EJ-S) platforms.

ARM9E, ARM11, Cortex-A8, Cortex-A9, and TI C64x+

For resource requirements & other details