-
Notifications
You must be signed in to change notification settings - Fork 7
/
README
31 lines (18 loc) · 1.97 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
The aim of this project is to create an opensource ITU-T G729 compliant codec. Even though the first use case will be as a GStreamer element, design and implementation will be done to ease the inclusion in a generic multimedia framework.
Currently the core codec is based on ITU-T reference code (that must be downloaded). The GStreamer elements are wrapping around it to create functional encoder and decoder GStreamer elements.
The implementation has been tested with both Farsight and telepathy-stream-engine in ARM and x86 environments on the following platforms:
- Nokia N810 (telepathy-stream-engine)
- Nokia N900 (telepathy-stream-engine)
- x86 PC (farsight)
It has been tested against (aka connecting with):
- Nokia n810 (default codecs).
- N900 (default codecs).
- Skype.
- Google talk.
and is roughly working. Some minor issues (e.g. suspicious "holes" receiving data from internet tables) must still be addressed and fixed. Performances are also far from being optimal.
--- Notes on compilation ---
* Before compiling the project you need to download g729 ITU-T specifications (with reference code) and set G729_PATH environment variable to point to a c_code folder, e.g.:
export G729_PATH=/home/gibrovacco/Soft/g729AnnexA/c_code
As an alternative, you can use the "--enable-refcode-download" configure option.
* Prior compiling with GCC the makefiles coder.mak and decoder.mak (in the chosen ITU-T reference code folder) must be modified accordingly (see in the files themself for more hints). This step is automatically performed in case the reference code is downloaded with the "--enable-refcode-download" option.
* A set of optimisations on reference code is available under refcode/patches. Even though they've not been thoroughly tested, no issues have been found so fari and they provide a rough 50% improvement. They can be enabled at configuration time through the "--enable-apply-patches" configuration option. This works only if the "--enable-refcode-download" option has been given.