|
|
|
@ -1,4 +1,8 @@ |
|
|
|
# About bcg729 |
|
|
|
Bcg729 |
|
|
|
====== |
|
|
|
|
|
|
|
About bcg729 |
|
|
|
------------ |
|
|
|
|
|
|
|
Bcg729 is an opensource implementation of both encoder and decoder of the ITU G729 Annex A/B speech codec. |
|
|
|
|
|
|
|
@ -7,33 +11,70 @@ libbcg729 supports concurrent channels encoding/decoding for multi call applicat |
|
|
|
This project was initially developed as part of Mediastreamer2, the Linphone's media processing engine. |
|
|
|
This is why it also contains the glue to be integrated in Linphone/Mediastreamer2. |
|
|
|
|
|
|
|
# Licensing |
|
|
|
Licensing |
|
|
|
--------- |
|
|
|
|
|
|
|
The source code is licensed under GPLv2. ITU G729 Annex A/B were offically released October/November 1996 (https://www.itu.int/rec/T-REC-G.729), |
|
|
|
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 (http://www.sipro.com/G729.html). |
|
|
|
Patent pool administrator confirmed most licensed patents under the G.729 Consortium have expired (<http://www.sipro.com/G729.html>). |
|
|
|
|
|
|
|
# Compilation |
|
|
|
Compilation |
|
|
|
----------- |
|
|
|
|
|
|
|
By default, the upstream package installs into /usr/local. Please use |
|
|
|
'./configure --prefix' to change it |
|
|
|
### Dependencies |
|
|
|
|
|
|
|
Linphone plugin is compiled if both mediastremer2 and ortp are installed. |
|
|
|
|
|
|
|
# Tests suite |
|
|
|
If you want build bcg729 as Mediastreamer's plugin, you need to have *Mediastreamer[1]* installed on your system. |
|
|
|
Otherwise, no dependency is requested. |
|
|
|
|
|
|
|
|
|
|
|
### Build procedure |
|
|
|
|
|
|
|
Building by Autotools way is deprecated. Use [CMake][cmake-website] to configure the source code. |
|
|
|
|
|
|
|
cmake . -DCMAKE_INSTALL_PREFIX=<prefix> -DCMAKE_PREFIX_PATH=<search_prefixes> |
|
|
|
|
|
|
|
make |
|
|
|
make install |
|
|
|
|
|
|
|
|
|
|
|
### Supported build options |
|
|
|
|
|
|
|
* `CMAKE_INSTALL_PREFIX=<string>` : install prefix |
|
|
|
* `CMAKE_PREFIX_PATH=<string>` : column-separated list of prefixes where to look for dependencies |
|
|
|
* `ENABLE_SHARED=NO` : do not build the shared library |
|
|
|
* `ENABLE_STATIC=NO` : do not build the static library |
|
|
|
* `ENABLE_TESTS=NO` : do not build non-regression tests |
|
|
|
* `ENABLE_MSPLUGIN=NO` : do not build the Mediastreamer plugin version |
|
|
|
|
|
|
|
|
|
|
|
### Note for packagers |
|
|
|
|
|
|
|
Our CMake scripts may automatically add some paths into research paths of generated binaries. |
|
|
|
To ensure that the installed binaries are striped of any rpath, use `-DCMAKE_SKIP_INSTALL_RPATH=ON` |
|
|
|
while you invoke cmake. |
|
|
|
|
|
|
|
Tests suite |
|
|
|
----------- |
|
|
|
|
|
|
|
- Tests are defined for each functional bloc (more or less matching a source file) |
|
|
|
and for global encoding/decoding |
|
|
|
and for global encoding/decoding |
|
|
|
|
|
|
|
- Use 'make check' to compile and run all tests available in the test directory. |
|
|
|
- Use `make check` to compile and run all tests available in the test directory. |
|
|
|
|
|
|
|
- Input tests pattern have been generated by ITU code using ITU tests patterns. |
|
|
|
The test patterns are not part of this repository but can be downloaded here: |
|
|
|
http://www.belledonne-communications.com/downloads/bcg729-patterns.zip |
|
|
|
However, the first run of 'make check' will get them for you. |
|
|
|
The test patterns are not part of this repository but can be downloaded [here][bcg729-patern]. However, the first |
|
|
|
run of `make check` will get them for you. |
|
|
|
|
|
|
|
- To run partial test, use perl executable `testCampaign` in the test directory. |
|
|
|
`./testCampaign <functional bloc name>` |
|
|
|
You must first download the tests patterns using `make check` or manually |
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------- |
|
|
|
|
|
|
|
|
|
|
|
- To run partial test, use perl executable 'testCampaign' in the test directory. |
|
|
|
'./testCampaign <functional bloc name>' |
|
|
|
You must first download the tests patterns using 'make check' or manually |
|
|
|
[1] Mediastreamer2: git://git.linphone.org/mediastreamer2.git *or* <http://www.linphone.org/releases/sources/mediastreamer> |
|
|
|
|
|
|
|
|
|
|
|
[bcg729-patern]: http://www.belledonne-communications.com/downloads/bcg729-patterns.zip |
|
|
|
[cmake-website]: https://cmake.org/ |