AAC is one of the most efficient perceptual audio coding algorithms. AAC uses a modular approach in encoding providing the flexibility to use different tools depending on the application and complexity requirements. AAC offers different profiles by making use of tools such as TNS, PNS, Mid-Side stereo, Intensity stereo, and frequency domain prediction. TNS (Temporal Noise Shaping) tool minimizes the temporal spread of quantization error for transient signals, PNS (Perceptual Noise Substitution) tool controls quantization resolution by doing noise generation for few bands, and mid-side and intensity stereo tool exploits inter-channel redundancy. AAC-LC is a low complexity version of AAC, and does not support frequency domain prediction tool, it is standardized by MPEG-2 (part 7) and MPEG-4 (part 3). AAC-LC operates on frames of 1024 samples, which are sampled at 8-96 Khz and generates compressed bit-streams having bit-rates from 8 to 576 kbps per channel. AAC-LC is widely used in many audio applications and deployed in portable devices.

  • Based on the 3GPP standard (3GPP TS 26.411 v7.3.0)
  • Optimized ASM/C implementation.
  • Re-entrant implementation
  • C-callable APIs
  • Supports sampling frequencies ranging from 8 KHz to 96 Khz.
  • Supports for 16-bit PCM output.
  • Supports bitrate from 8 kbps to 576 kbps per channel.
  • Support for mono and 2-channel stereo output.
  • Support for optional packet loss concealment, downmix, and resampler modules.
  • Supports ADIF, ADTS and RAW packing formats.
  • Support for little-endian implementation on ARM9E.
  • Supports interleaved and de-interleaved output.
  • Optional support for xDM APIs.
  • Implementation is tested for wide range of standard and non-standard test vectors.
  • Tested for graceful exit in case of bit-stream related errors or exception.
  • Tested for illegal memory access by the module on ARM platform.
  • Module is fully interruptible.
  • 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 any align faults.
  • Tested for 100% code coverage
  • Range validation of all API parameters
  • Tested for packet loss concealment.
  • ARM implementation validated on OMAP3530 (Cortex-A8) and DM6446/DM6467 (ARM926EJ-S) platforms.

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

For datasheet with resource usage details