G.722
AUDIO CODER
16 kHz sampled audio signals for transmission over 48, 56, and 64 kbps channels
Features List
- 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
Coding Rate: 48, 56, or 64 kbps, and 23.85 kbps
Sampling Rate: 16 kHz
Delay: 125 microseconds
Availability
| Platforms | G.722 | G.722 with PLC | G.722 AnnexIV |
| Arm ® Devices – Armv7-A Cortex-A8 / A9 / A15, | Cortex-M3 / M4 / M7 || Armv8-A Cortex-A53/A57 || Legacy ARM9E | Cortex-A8/A9/A15 || Cortex-M3 / M4 || Legacy ARM9E /11 | Cortex-A8/A9/A15 | Cortex-A53/A57 || Cortex-M3 / M4 || Legacy ARM9E /11 | Cortex-A8/A9/A15 | Cortex-A53/A57 || Cortex-M3 / M4 || Legacy 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.
Specifications
NOTE: We specify MIPS (Millions of Instructions Per Second) as MCPS (Millions of Instruction Cycles Per Second). Unless otherwise specified, peak MIPS are indicated.
G.722 Cortex-A8 / A9 / A15 | Cortex-M3 / M4
CPU Utilization & Memory RequirementsAll Memory usage is given in units of byte.
| Function | MIPS Cortex-M3 / M4 | MIPS Cortex- A8 / A9 / A15 | Program Memory | Data Memory | Per Channel Data Memory | Scratch Memory |
| G.722 Encode | 12.4 | 5.9 | 6996 | 1284 | 146 | 624 |
| G.722 Decode | 11.3 | 5.3 | 624 |
G.722 with PLC 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 with PLC Cortex-M3 / 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 |
* 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-M3 / 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 ARM9e / ARM11
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 |
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 |
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 |
*PLC Decode MIPS measurement taken with simulated 2% packet loss.
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 |
*PLC Decode MIPS measurement taken with simulated 2% packet loss.
G.722 Annex IV WIN32 – DLL or Static Library
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.6 | 31 K | 18 K | 288 |
| G.722 Decode | 12.9 | 288 | ||
| G.722 Decode w/ PLC Enable | 13.3 | 2020 |
*PLC Decode MIPS measurement taken with simulated 2% packet loss.
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 |
*PLC Decode MIPS measurement taken with simulated 2% packet loss.
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 |
*PLC Decode MIPS measurement taken with simulated 2% packet loss.
Description
Function APIs
API function call summary
ResetG722 ()
EncodeG722 ()
DecodeG722 ()
Initializes the G.722 audio coder Channel structures
Executes the G.722 encoder
Executes the G.722 decoder
