En tête technical corner
Bcg729 is an open source implementation of both an encoder and decoder for the ITU G729 Annex A/B speech codec. This library was developed by Belledonne Communications, the company supporting the Linphone project. It was written from scratch and is NOT a derivative work of the ITU reference source code of any kind.
The library is written in C 99, is fully portable, and can be executed on many platforms, including ARM and x86 processors. libbcg729 supports concurrent channel encoding/decoding for multi-call applications such as conferencing.
The source code also contains a Mediastreamer2-compatible plugin, which was designed for the use of this codec in Linphone or Mediastreamer2-based software. However, a direct API is also available for those not using bcg729 with Mediastreamer2.
bcg729 is dual licensed. It can be licensed and distributed:
- Under a GNU GPLv2 license, for free (open source)
- Under a proprietary license, for use in closed source applications. Contact Belledonne Communications for costs and other service information.
ITU G729 Annex A/B was offically released in October/November 1996 (https://www.itu.int/rec/T-REC-G.729), and all patents covering these specifications shall had expired by November 2016.
The patent pool administrator confirmed that most patents licensed under the G.729 Consortium have expired.
Bcg729 source code is available from our GitLab or can be downloaded from Git:
git clone git://git.linphone.org/bcg729.git