Enhanced Variable Rate Codec Wideband (EVRC-WB or EVRC-C) was standardized by 3GPP2 in 2007. The EVRC-C codec operates on each 20ms frame of 16-bit speech signals sampled at 8 or16 KHz and generates compressed bit-stream of 171, 80, 40, or 16 bits respectively. EVRC-C splits the speech spectrum into low frequency and high frequency bands and compresses them separately. Coding of low frequency signal is based on EVRC-B standard while a LPC based coding scheme is used for the high frequency signal. It also contains a generic audio coding mode that can be used for handling non-speech signals such as music-on-hold and ring back tones. The principal applications of this codec are wideband telephony, video-telephony, gaming, streaming and ring back tones.

  • Based on 3GPP2 specification.
  • Optimized ASM/C implementation.
  • Re-entrant implementation.
  • C-callable APIs.
  • Operates on speech signals sampled at 8 or 16 KHz.
  • Support for selecting anchor operating mode or average rate mode during initialization time.
  • Support for 8.3, 7.42, and 4.0 kbps average source encoding bit-rates.
  • The maximum and minimum bit-rates can be configured during initialization.
  • The noise suppression module can be configured during initialization.
  • Support for dim and burst, eighth rate hangover, and null traffic frame features specified in the standard.
  • Support for RTP payload format as specified in RFC 5188.
  • Support for DTMF and TTY/TDD signals as specified in the standard.
  • Supports integrated Packet Loss Concealment (PLC) algorithm.
  • Support for post-filter operation, configurable at frame boundary.
  • Supports integrated DTX mode of operation.
  • Support for choosing Motorola DTX/QualComm DTX at compile time.
  • Support for encoding music signals.
  • Support for decoding music signals.
  • Support for setting the minimum and maximum DTX update interval during initialization.
  • Optional support for xDM APIs on TI platforms.
  • Tested for bit-exactness with standard as well as a large database of non-standard test ectors.
  • 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 for 100% code coverage.
  • Range validation for all the API parameters.
  • Tested with scratch contamination at frame boundaries.
  • Tested for packet loss conditions with 5% loss to 25% loss.
  • TI C55x implementation validated on Spectrum Digital C5510 DSK.
  • TI C64x+ implementation validated on Spectrum Digital C6455 DSK, DM6467, DM6446, and OMAP3530 platforms.

TI C55x and TI C64x+

For resource requirements & other details