MPEG-1 Layer 3 or MP3 was standardized by ISO/IEC in 1993. The standard operates on 16-bit mono or 2-channel (stereo) audio signals sampled at 32khz, 44.1khz, or 48khz and generates compressed bit-streams having bit-rates ranging from 32 kbps to 320 kbps per channel. The MPEG-2 Layer 3, standardized in 1995, extended the algorithm to support lower sampling frequencies (16 khz, 22.05khz, 24 khz) and additional bit-rates ranging from 8 kbps to 160 kbps. Psychoacoustic model, Modified Discrete Cosine Transform (MDCT) and Huffman coding play a vital role in achieving high compression ratios. MP3 is the most popular audio codec used in the industry today and has been extensively deployed in portable media players, mobile phones, as well as network connected devices.

  • Based on the ISO/IEC 11172-3 and ISO/IEC 13818-3 standards
  • Optimized C implementation.
  • Re-entrant implementation
  • C-callable APIs
  • Supports sampling frequencies 8, 11.025,12,16, 22.05, 24, 32, 44.1 and 48KHz respectively.
  • Supports for MPEG 2.5 Encoding.
  • Supports bit-rates ranging from 8 kbps to 320 kbps.
  • Support for mono and 2-channel stereo input.
  • Support for optional downmixing from stereo to mono.
  • Support for MS stereo option.
  • Optional support for xDM APIs.
  • Implementation tested for audio quality for a wide range of standard and non-standard test vectors.
  • Evaluated objective audio quality based on ITU BS.1387 standard.
  • Listening tests performed to ensure that no artifacts are present in encoded output
  • Tested for graceful exit in case of errors or exception.
  • Tested for illegal memory access by the module on ARM platform.
  • Tested for compliance with register preservation requirements
  • Module is fully interruptible.
  • 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.
  • ARM implementation validated on OMAP3530 (Cortex-A8) and DM6446/DM6467 (ARM926EJ-S) platforms.

ARM9E, ARM11, Cortex-A8, and Cortex-A9

For resource requirements & other details