Bcg729 is an opensource implementation of both encoder and decoder of the ITU G729 Annex A/B speech codec. This library has been developed by Belledonne Communications, the company supporting the Linphone project. It was written from scratch and is NOT a derivative work of ITU reference source code in any kind.

The library written in C 99 is fully portable and can be executed on many platforms including both ARM and x86 processors. libbcg729 supports concurrent channels encoding/decoding for multi call application such as conferencing.

The source code also contains a mediastreamer2 compatible plugin, designed for use of this codec in Linphone or mediastreamer2-based software. However a direct API is available for those not using bcg729 with mediastreamer2.



bcg729 is dual licensed. It can be licensed and distributed:

  • under GNU GPLv2 license - for free (open source)
  • under proprietary and commercial license to be used in closed source applications. Contact Belledonne Communications for costs and other service information.

Patent information

ITU G729 Annex A/B were offically released October/November 1996 (, hence all patents covering these specifications shall have expired in November 2016.

Patent pool administrator confirmed most licensed patents under the G.729 Consortium have expired (

Source code

Source code tarballs are available:

Bcg729 source code can be downloaded from git as well:

Project git


git clone git://