G.723.1
Real-time implementation of the ITU G.723.1 voice coder
Adaptive Digital’s G.723.1 codec provides efficient low-bit-rate speech compression with Annex A support for VAD, DTX, and CNG, making it ideal for VoIP, IP telephony, and telecommunications applications.
Coding Rate: 5.3 or 6.3 kbps
Sampling Rate: 8 kHz
Delay: 37.5 msec
Platforms
Availability
| Platforms |
| Arm ® Devices – Armv7-A / Armv8-A || Armv9-A || Armv7-M / Armv8-M |
| Texas Instruments – TI TMS320C7000 C7x, TMS320C6000 C64x/C64x+, C674x, TMS320C5000 C55x / Legacy C54x |
| Windows x86 (32-bit) / x64 (64-bit) |
| Linux 32-bit / 64-bit |
Features
Fixed bit rate (5.3 kbit/s with 20 byte 30 ms frames, 6.3 kbit/s with 24 byte 30 ms frames)
eXpress DSP™ Compliant.
Functions are C-callable.
Capable of in-band synchronization.
Can be integrated with echo cancellers, and tone detection/regeneration.
C64x xDM Compliant: easy codec implementation and integration for DaVinci™ Technology
Description
G.723.1 Voice Codec
Adaptive Digital’s G.723.1 Voice Codec is a real-time implementation of the ITU-T G.723.1 speech coding standard, designed for applications that require high-quality voice compression and reliable speech reproduction. Widely used in VoIP, IP telephony, voice gateways, unified communications, and telecommunications systems, G.723.1 delivers efficient bandwidth utilization while maintaining excellent voice clarity.
The codec compresses speech using 30 ms frames with a low algorithmic delay of 37.5 ms, making it well suited for real-time voice communications. Adaptive Digital’s implementation includes Annex A support, featuring Voice Activity Detection (VAD), Discontinuous Transmission (DTX), and Comfort Noise Generation (CNG) to reduce network bandwidth consumption and improve overall communication efficiency.
Optimized for DSP, ARM, and embedded platforms, the G.723.1 codec provides a standards-compliant solution for developers and equipment manufacturers building next-generation voice communications products.
Key Benefits
- ITU-T G.723.1 compliant encoder and decoder
- High-quality speech compression for voice applications
- Efficient low-bit-rate voice coding
- 30 ms frame processing with low algorithmic delay
- Annex A support for VAD, DTX, and CNG
- Reduced bandwidth requirements for VoIP networks
- Optimized for DSP, ARM, and embedded systems
- Ideal for IP telephony, VoIP gateways, and telecom infrastructure
Specification Tables
ARM Devices
Armv7-A G.723.1 Cortex-A8/A9/A15 | Armv8-A, Armv9-A
CPU Utilization & Memory RequirementsMemory usage is given in units of byte
| Function | MIPS (6300 sampling rate) | MIPS (5300 sampling rate) | Program Memory | Data Memory | Per-Channel Data Memory | Scratch |
| Encode | 55.3 | 50.6 | 166K | 18,980 | 1600 | 8 |
| Decode | 6 | 6 | 504 | 8 |
G.723.1 Cortex-M4/M7 | ARM9e/ARM11
CPU Utilization & Memory RequirementsMemory usage is given in units of byte
| Function | MIPS (Peak) | Program Memory | Data Memory | Per-Channel Data Memory | Scratch |
| Encode | 224 | 193K | 18,980 | 1600 | 8 |
| Decode | 13 | 504 | 8 |
G.723.1 Armv8-M Cortex-M33/M35 – Preliminary
CPU Utilization & Memory RequirementsMemory usage is given in units of byte
| Function | MIPS (Peak) | Program Memory | Data Memory | Per-Channel Data Memory | Scratch |
| Encode | 314 | 193K | 18,980 | 1600 | 8 |
| Decode | 18.2 | 504 | 8 |
TI Processors
G.723.1 C64x+
Memory usage is given in units of byte| Function | Program Memory | Data Memory | Per-Channel Data Memory | Stack | |
| Encode | Common 10208 | 35232 | 23880 | 1420 | 444 |
| Decode | 9152 | 21432 | 400 | 260 | |
G.723.1 C64x
Memory usage is given in units of byte| Function | Program Memory | Data Memory | Per-Channel Data Memory | Stack | |
| Encode | Common 10112 | 40128 | 23812 | 1420 | 444 |
| Decode | 8920 | 21364 | 400 | 260 | |
| MIPS | MIPS | MIPS | |
| Rate | C62x | C64x* | C64x+ |
| 5.3 Encode | 6.1 | 7.8 | 7.2 |
| 5.3 Decode | 0.57 | 0.7 | 0.62 |
| 6.3 Encode | 5.7 | 7.3 | 7 |
| 6.3 Decode | 0.57 | 0.7 | 0.62 |
Note: Please contact us for C62x specifications.
*G.723.1 Annex A , which specifies silence suppression, voice activity detection (VAD), discontinuous transmission (DTX), and comfort noise generation (CNG), is included.
| Rate | Function | MIPS | Program Memory | Data Memory | Stack | Per Channel Data Memory |
| 5.3 Encode | 11.2 | 21502 | 21716 | 80 | 1480 |
| 5.3 Decode | 1.3 | 424 | |||
| 6.3 Encode | 11.2 | 21502 | 21716 | 80 | 1480 |
| 6.3 Decode | 1.4 | 424 |
*G.723.1 Annex A , which specifies silence suppression, voice activity detection (VAD), discontinuous transmission (DTX), and comfort noise generation (CNG), is included.
| Rate | Function | MIPS** | Program Memory | Data Memory | Stack | Per Channel Data Memory |
| 5.3 Encode | 11.2 | 21620 | 20744 | 80 | 1480 |
| 5.3 Decode | 1.3 | 424 | |||
| 6.3 Encode | 11.2 | 21620 | 20744 | 80 | 1480 |
| 6.3 Decode | 1.4 | 424 |
**Note: The MIPS is measured when the program placed internally, and channel and tables are placed in the DARAM. For the low memory version build, the total MIPS usage increases by 0.5 MIPS
G.723.1 C54x
CPU Utilization & Memory RequirementsMemory usage is given in units of 16 bit word.
| Coding Rate | MIPS | Program Memory | Table Memory | Data Memory | Per-Channel Data Memory |
| 5.3 | 16.5 | 13.03 K | 4465 | 2K | 1.3K |
| 6.3 | 16.9 | 13.03 K | 4465 | 2K | 1.3K |
G.723.1 C54x Annex A*
CPU Utilization & Memory RequirementsMemory usage is given in units of 16 bit word.
| Coding Rate | MIPS | Program Memory | Table Memory | Data Memory | Per-Channel Data Memory |
| 5.3 | 22.6 | 14 K | 10 K | 1 K | 1 K |
| 6.3 | 20.56 | 14 K | 10 K | 1 K | 1 K |
*G.723.1 Annex A , which specifies silence suppression, voice activity detection (VAD), discontinuous transmission (DTX), and comfort noise generation (CNG), is included.
Windows
G.723.1 Linux PC-Windows
CPU Utilization & Memory RequirementsMemory usage is given in units of byte
| Function | MIPS (Peak) | Program Memory | Data Memory | Per-Channel Data Memory | Stack | Scratch |
| Encode | 95 | 70K | 19K | 2100 | <20 KB | 16 |
| Decode | 8 |
Linux
G.723.1 Linux 32 Bit*
CPU Utilization & Memory RequirementsMemory usage is given in units of byte
*Contact sales for 64 Bit numbers
| Function | MIPS (Peak) | Program Memory | Data Memory | Per-Channel Data Memory | Scratch |
| Encode | 145 | 160K | 19,176 | 1600 | 8 |
| Decode | 8 | 504 | 8 |
API Functions
API function call summary
api functions