Features and Benefits

  • Conformance Standard: Opus audio codec reference code.
  • Reference Code Revision: v. 0.9.8, 31 Oct. 2011.
  • Target Processor: Code compatible across the Blackfin Processor Family ADSP-BF5xx.
  • Framework dependencies: None.
  • Release format: Object code module with C source wrapper.
  • Audio format: 16-bit signed-integer little-endian PCM samples, 1 or 2 channels, interleaved or individual channel buffers.
  • Compressed format: Byte stream.
  • Sample Rate: 8 to 96 kHz 1.
  • Audio samples per block: Even values between 40 and 1024 samples 1.
  • Compressed packet size: 2 to 1275 bytes per packet.
  • Bit Rate: 0.9 to 1536 kbit/s 2.
  • Audio block (“frame”) duration: 1 to 26.7 ms.
  • Algorithmic Delay: 1 to 3.3 ms
  • Multi-channel Fully re-entrant and multi-instancing capable.

Product Details

The ADI Constrained Energy Lapped Transform (CELT) CODEC for Blackfin is an implementation of the CELT audio codec, which is one of the components of the Opus codec. The Opus codec is targeted at interactive speech applications and audio transmission over the Internet and is characterized by very low latency. It incorporates technology from Skype's SILK codec and Xiph.org's CELT codec. The Opus codec has been standardized by the IETF in September 2012 with RFC 6716.

The ADI Constrained Energy Lapped Transform (CELT) CODEC library implements the CELT codec as defined in release 0.9.8 of the Opus codec, configured to enable “custom modes”. The CELT codec provides high-quality audio compression comparable with Vorbis and AAC.


Each module supports the Analog Devices, Inc. (ADI) Blackfin or SHARC Processor family and is a licensed product that is available in object code format. Recipients must sign or accept a license agreement with ADI prior to being shipped or downloading the modules identified in the license agreement.

Performance Metrics

MIPS summary:
 CELT Library, Both Encoder and Decoder In Use
 Code RAM (KiB)
Data RAM (KiB)  Constant Data Tables (KiB)   MIPS
Peak Average   Average
Peak Average 
 61.3 30.2 1.8 126.7 130.4 129.5 133.1

 Mode Creation Functions and Mode Table
 Code RAM (KiB)
Data RAM (KiB) Constant Data Tables (KiB)
5.0  2.1   0.6

  • Figures in this table represent a usage scenario example where both encoder and decoder are configured as follows: 48 kHz sample rate, 192 samples per frame, 36 bytes per encoded packet, encoder complexity 5, 1 audio channel.
  • "MIPS" figures represent worst case over a number of test vectors and were measured using an optimal memory layout.
  • "Data RAM" figures refer to a single encoder and decoder instance and includes stack, instance state, input and output single buffers. “Data RAM” requirements depend on the choice of sample rate and frame size.
  • "Averaged Peak" indicates the maximum achieved by a moving average of the MIPS measurements calculated over four consecutive audio frames.
  • The size and contents of a “mode” table are a function of sample rate and frame size. All instances of encoder and decoder can share a single “mode” table when they operate with the same frame size and sample rate.
  • When the encoded bitstream contains errors, decoder peak MIPS can increase by 10-15% and decoder stack requirements by 24%.
  • The CELT decoder features a packet-loss concealment mode. Use of this mode is meant to be sporadic, but it causes a substantial increase in decoder peak MIPS and stack usage.
  • 1 KiB = 1024 bytes.

Systems Requirements

  • Windows XP Professional SP3 (32-bit only).
  • Windows Vista Business/Enterprise/Ultimate SP2 (32-bit only). It is recommended to install the software in a non-UAC-protected location.
  • Windows 7 Professional/Enterprise/Ultimate (32 and 64-bit). It is recommended to install the software in a non-UAC-protected location.
  • Minimum of 2 GHz single core processor, 3.3 GHz dual core is recommended.
  • Minimum of 1 GB memory (RAM), 4 GB is recommended.
  • Minimum of 2 GB hard disk (HDD) space is required.
  • CrossCore® Embedded Studio for Analog Devices Processors.

Related Hardware (3)


Extender Boards