G.722 | G.722 PLC HD Codec
G.722 PLC - ITU Audio Codec with Packet Loss Concealment
Adaptive Digital’s G.722 codec delivers HD wideband audio with advanced packet loss concealment, a proprietary VAD/CNG/DTX – (Voice Activity Detection, Comfort Noise Generation / Discontinuous Transmission) support for VoIP, video conferencing, IP telephony, and telecom applications.
Coding Rate: 48, 56, or 64 kbps, and 23.85 kbps
Sampling Rate: 16 kHz
Delay: 125 microseconds
Platforms
Availability
| Platforms | G.722 | G.722 with PLC | G.722 AnnexIV |
| Arm ® Devices – Armv7-A / Armv8-A || Armv7-M / Armv8-M || Legacy M3, ARM9E | Armv7-A / Armv8-A || Armv7-M / Armv8-M || Legacy M3, ARM9E /11 | Armv7-A / Armv8-A || Armv7-M / Armv8-M || Legacy M3, ARM9E /11 | Armv7-A / Armv8-A || Armv7-M / Armv8-M || Legacy M3/ARM9E /11 |
| Texas Instruments – TI TMS320C6000 C64x/C64x+/C66x, C674x, TMS320C5000 C55x / C54x | C674x / C64x / C55x / C54x | — | — |
| Windows x86 (32-bit) / x64 (64-bit) | — | Win 32-bit LIB / DLL | Win 32-bit LIB / DLL |
| Linux 32-bit / 64-bit | — | Linux 32-bit | Linux 32-bit |
ADT G.722 is available on the above Platforms: Other configurations are available upon request.
Features
- Functions are C-callable.
- Multi-channel capable
- Can be integrated with echo cancellers, VOX and tone detection/regeneration.
- Can be integrated with G.711/G.728 to provide the audio portion of the H.320 video standard.
- The encoder and decoder meet all ITU G.722 compliance data files.
- C55x and ARM – Optional Packet Loss Concealment (PLC): Proprietary technique developed by Adaptive Digital.
- ARM, Win32, and i686 – Optional PLC compliant to G.722 Appendix IV Standard
Description
G.722 Wideband Audio Codec
Adaptive Digital’s G.722 codec is a high-performance implementation of the ITU-T G.722 wideband audio standard, delivering crystal-clear voice and audio quality for modern communication systems. Supporting 16 kHz sampled audio and transmission rates of 48, 56, and 64 kbps, G.722 provides up to 7 kHz audio bandwidth, making it ideal for VoIP, video conferencing, unified communications, multimedia applications, and professional speakerphone systems.
To enhance call quality in packet-based networks, Adaptive Digital offers advanced Packet Loss Concealment (PLC) technologies, including a proprietary low-complexity G.722PLC solution and support for ITU-T G.722 Appendix IV* packet loss concealment. These features help maintain natural-sounding audio by minimizing the impact of lost or corrupted packets.
Adaptive Digital’s implementation also includes proprietary Voice Activity Detection (VAD), Comfort Noise Generation (CNG), and Discontinuous Transmission (DTX) capabilities. These enhancements reduce network bandwidth requirements while maintaining excellent voice quality, making the codec well-suited for bandwidth-sensitive VoIP and wireless communication environments.
Key Benefits
- ITU-T G.722 compliant wideband audio codec
- Up to 7 kHz audio bandwidth for HD voice quality
- Supports 48, 56, and 64 kbps operation
- Advanced Packet Loss Concealment (PLC) technology
- Optional ITU-T G.722 Appendix IV PLC support
- Integrated VAD, CNG, and DTX functionality
- Optimized for VoIP, video conferencing, and IP telephony
- Low-complexity implementation for DSP and embedded platforms
- Enhanced audio clarity and speech intelligibility
* In Appendix IV, the decoder comprises three stages: lower sub-band decoding, higher sub-band decoding and quadrature mirror filter (QMF) synthesis. In the absence of frame erasures, the decoder structure is identical to ITU-T G.722, except for the storage of the two decoded signals, of the higher and lower sub-bands. In case of frame erasures, the decoder is informed by the bad frame indication (BFI) signalling. It then performs an analysis of the past lower-band reconstructed signal and extrapolates the missing signal using linear predictive coding (LPC), pitch-synchronous period repetition and adaptive muting. Once a good frame is received, the decoded signal is cross-faded with the extrapolated signal. In the higher sub-band, the decoder repeats the previous frame pitch synchronously, with adaptive muting and high pass post-processing. The adaptive differential pulse code modulation (ADPCM) states are updated after each frame erasure.
Specification Tables
NOTE: We specify MIPS (Millions of Instructions Per Second) as MCPS (Millions of Instruction Cycles Per Second). Unless otherwise specified, peak MIPS are indicated.
ARM Devices
G.722 Armv9-A Neoverse N2
CPU UtilizationThe ARM Neoverse is a group of 64-bit ARM processor cores.
| Function | MIPS |
| G.722 Encode/Decode | 2.6 |
G.722 Armv8-A Cortex-A53 / A72
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Function | MIPS Cortex- A53 | MIPS Cortex-A72 | Program Memory | Data Memory | Per Channel Data Memory |
| G.722 Encode/Decode | 5.7 | 3.8 | 7k | 2k | 150 |
G.722 Armv7A Cortex-A8 / A9 / A15 / A17
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Function | MIPS Cortex- A8 / A9 / A15 | Program Memory | Data Memory | Per Channel Data Memory | Scratch Memory |
| G.722 Encode | 6.1 | 6996 | 1284 | 146 | 624 |
| G.722 Decode | 5.4 | 624 |
G.722 with PLC Armv7A Cortex-A8 / A9 / A15 / A17
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per Channel Data Memory |
| G.722 Encode | 13.5 | 42 K | 7.6 K | 288 |
| G.722 Decode | 7.4 | 288 | ||
| G.722 Decode w/ PLC Enable | 11.1 | 4248 |
G.722 Annex IV Cortex-A8 / A9 / A15 / A17
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per Channel Data Memory |
| G.722 Encode | 13.5 | 43 K | 7.7 K | 288 |
| G.722 Decode | 7.4 | 288 | ||
| G.722 Decode w/ PLC Enable | 11.1 | 2020 |
G.722 Cortex-M4
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Function | MIPS Cortex-M4 | Program Memory | Data Memory | Per Channel Data Memory | Scratch Memory |
| G.722 Encode | 13.4 | 6996 | 1284 | 146 | 624 |
| G.722 Decode | 13.0 | 624 |
G.722 with PLC Cortex-M4
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per Channel Data Memory |
| G.722 Encode | 16.1 | 30 K | 1.5 K | 288 |
| G.722 Decode | 15.2 | 288 | ||
| G.722 Decode w/ PLC Enable | 22.3 | 4248 |
G.722 with PLC Cortex-M33/M35 – estimate
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per Channel Data Memory |
| G.722 Encode | 12.9 | 30 K | 1.5 K | 288 |
| G.722 Decode | 12.2 | 288 | ||
| G.722 Decode w/ PLC Enable | 17.8 | 4248 |
* Adaptive Digital’s G.722 ARM-Cortex-A device family version also has optional packet loss concealment (PLC) plus a proprietary VAD/CNG/DTX feature.
G.722 Annex IV Cortex-M4
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per Channel Data Memory |
| G.722 Encode | 16.1 | 30 K | 1.7 K | 288 |
| G.722 Decode | 15.2 | 288 | ||
| G.722 Decode w/ PLC Enable | 21.3 | 2020 |
G.722 Annex IV Cortex-M33/M35 – estimate
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per Channel Data Memory |
| G.722 Encode | 12.9 | 30 K | 1.7 K | 288 |
| G.722 Decode | 12.2 | 288 | ||
| G.722 Decode w/ PLC Enable | 17 | 2020 |
G.722 ARM9e / ARM11 Legacy
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Device | MIPS | Program Memory | Data Memory | Per Channel Data Memory |
| ARM9e | 25.5 | 5.3 K | 1.3 K | 292 |
| ARM11 | 41.4 | 5.3 K | 292 |
G.722 with PLC ARM9e / ARM11
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per Channel Data Memory |
| G.722 Encode | 11.3 | 34 K | 7.6 K | 288 |
| G.722 Decode | 11 | 288 | ||
| G.722 Decode w/ PLC Enable | 16.9 | 4248 |
*PLC Decode MIPS measurement taken with simulated 2% packet loss.
G.722 Annex IV ARM9e / ARM11
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per Channel Data Memory |
| G.722 Encode | 11.3 | 58 K | 7.7 K | 288 |
| G.722 Decode | 11 | 288 | ||
| G.722 Decode w/ PLC Enable | 16.9 | 2020 |
TI Processors
G.722 C64x / C64x+ / C66x / C674x
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per Channel Data Memory |
| G.722 Encode | 5.3 | 4768 | 1426 | 192 |
| G.722 Decode | 4.8 |
G.722 C64x / C64x+ Variant
PROCESSES 2 CHANNELS SIMULTANEOUSLY THEREBY BY REDUCING THE PER CHANNEL MIPS BY A FACTOR OF 2CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
| Device | MIPS | Program Memory | Data Memory | Per Channel Data Memory |
| Encode Variant | 2.84 | 8000 | 1664 | 364 |
| Decode Variant | 2.36 |
Variant *Note: Above numbers for non-cached. After caching, cycle count will improve.
G.722 C55x
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Device | MIPS | Program Memory | Data Memory | Per Channel Data Memory |
| Encode | 6.0 | 2717 | 1212 | 164 |
| Decode | 4.8 | 164 | ||
| Decode with PLC* enable | 5.5 | 3811 | 609 | 3528 |
*Note: Proprietary technique developed by Adaptive Digital.
G.722 C54x
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per Channel Data Memory |
| Encode | 7.5 | 1438 | 654 | 80 |
| Decode | 6.4 | 80 |
Linux
G.722 Annex IV i686
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per Channel Data Memory |
| G.722 Encode | 10.8 | 51 K | 7.7 K | 288 |
| G.722 Decode | 10.5 | 288 | ||
| G.722 Decode w/ PLC Enable | 10.8 | 2020 |
G.722 with PLC i686
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per Channel Data Memory |
| G.722 Encode | 11.2 | 27 K | 7.6 K | 288 |
| G.722 Decode | 11.2 | 288 | ||
| G.722 Decode w/ PLC* Enable | 13.9 | 4248 |
Windows
G.722 with PLC Win DLL
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per Channel Data Memory |
| G.722 Encode | 14.5 | 12 K | 9.3 K | 288 |
| G.722 Decode | 12.9 | 288 | ||
| G.722 Decode w/ PLC Enable | 14.9 | 4248 |
G.722 with PLC WIN Static Lib
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per Channel Data Memory |
| G.722 Encode | 13.9 | 12 K | 9.3 K | 288 |
| G.722 Decode | 12.9 | 288 | ||
| G.722 Decode w/ PLC Enable | 14.9 | 4248 |
API Functions
API function call summary
ResetG722 ()Initializes the G.722 audio coder Channel structures
EncodeG722 () Executes the G.722 encoder
DecodeG722 () Executes the G.722 decoder