High Efficiency Advanced Audio Coding version 2 (HE-AAC v2) was standardized by MPEG and 3GPP in 2004. It is an extension of low complexity AAC (AAC-LC which is a part of MPEG2 part7 + PNS tool added) with spectral band replication (SBR) added to it for enhancing bandwidth extensions and parametric stereo (PS) used for coding at low bit-rates. It supports mono or 2-channel stereo signals. In case of AAC-LC mode, the codec operates on 16/24-bit PCM sampled at 8 – 96 KHz and generates bit-streams having a maximum bit-rate of 576 kbps. When SBR is enabled, the codec limits sampling frequency to 16 – 48 KHz and generates compressed bit-streams having a maximum bit-rate of 128 kbps. PS is used when the overall bit-rate is less than 44 kbps.  The codec is widely deployed in portable media players, mobile phones, and in network connected devices.

  • Optimized ASM/C implementation.
  • Re-entrant implementation
  • C-callable APIs
  • Supports sampling frequencies ranging from 8 KHz to 96 KHz in AAC-LC mode, 32KHz to 48 KHz in SBR/PS mode.
  • Supports bitrate for AAC-LC – 8 kbps to 576 kbps per channel, AAC+(SBR) – 10kbps to 44kbps for mono and 18kbps to 52kbps for stereo, EAAC+(PS) – 10kbps to 44kbps.
  • Support for mono and 2-channel stereo Input.
  • Support for 16-bit PCM input.
  • Support for downmixing of input stereo signal.
  • Supports mono only encoding configuration at compile time.
  • Supports configuration of AAC-LC, SBR and PS at compilation time
  • Supports average bitrate, VBR is not supported.
  • Supports TNS, M/S stereo tools.
  • Supports ADIF, ADTS and RAW packing formats.
  • Support for little-endian implementation on ARM9E.
  • Optional support for packing in MP4/3gp container formats
  • 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 with few cases 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.
  • 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 100% code coverage
  • Tested for any align faults.
  • Range validation of all API parameters
  • ARM implementation validated on OMAP3530 (Cortex-A8) and DM6446/DM6467/OMAPL138 (ARM926EJ-S) platforms.

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

For resource requirements & other details