Michael Jerris 9a1948e959 autoconf syntax error 10 years ago
..
config 17baec7746 delete generated files 15 years ago
debian 1220bbcff2 tweak 16 years ago
doc 5d5485708d A bunch of tweaks to the G.722.1 codec 14 years ago
src 2513388d8a clean up some bootstrap warnings 10 years ago
test-data 5d5485708d A bunch of tweaks to the G.722.1 codec 14 years ago
tests 2513388d8a clean up some bootstrap warnings 10 years ago
.update 346932e31a don't build files that will have no contents due to ifdefs 15 years ago
AUTHORS 1220bbcff2 tweak 16 years ago
COPYING 1220bbcff2 tweak 16 years ago
ChangeLog 1220bbcff2 tweak 16 years ago
INSTALL 1220bbcff2 tweak 16 years ago
Makefile.am 5d5485708d A bunch of tweaks to the G.722.1 codec 14 years ago
NEWS 1220bbcff2 tweak 16 years ago
README c77d9a18dd spelling fix 12 years ago
autogen.sh 5d5485708d A bunch of tweaks to the G.722.1 codec 14 years ago
configure.ac 9a1948e959 autoconf syntax error 10 years ago
configure.gnu e3ea76dd47 fix calling of sub configure.gnu files during --srcdir build (FSBUILD-211) 15 years ago
g722_1.pc.in 93630948e4 Missed a file in the previous update 14 years ago
g722_1.spec.in 5d5485708d A bunch of tweaks to the G.722.1 codec 14 years ago
unpack_g722_1_data.sh 5d5485708d A bunch of tweaks to the G.722.1 codec 14 years ago
wrapper.xsl 1220bbcff2 tweak 16 years ago

README

libg722_1 0.0.1 - The ITU G.722.1 and G.722.1 Annex codecs, also known
as Siren 7 and Siren 14.
----------------------------------------------------------------------

The ITU G.722.1 specification, and its Annexes, define audio codecs targetted
for wideband speech applications. The variants in G.722.1 support 7kHz and
14kHz bandwidth (16k samples/second and 32k samples/second) audio. They also
cover fixed point and floating point realisations of these codecs.

PLEASE NOTE that patented techniques are used in G.722.1, and Polycom is the
owner of the relevant patents. However, Polycom offers royalty free licences
to use G.722.1 to anyone who complies with a few simple rules. Just contact them,
and you should have no problem using G.722.1 without any payment at all (at least
it was very straightforward for the initial user of this code). You should
check for any licence conflicts with other code in your application - for example,
use in a GPL'ed project might be problematic, unless you run the G.722.1 codec as
a separate process, and your application communicates with it through pipes or
sockets.

This implementation of G.722.1 is adapted from the reference source code
provided by Polycom. Polycom has given its consent for this library to be
distributed as source code, either on its own or as part of a larger package
which they have licenced under their royalty free licencing scheme.

This library has been modified to provide a cleaner API than the reference code,
and to permit many instances of the codec to be run in parallel within a single
process. It uses either fixed point or floating point processing, depending on
how the package is configured. No serious optimisation has been performed to
date. This especially affects the fixed point version of the codec, which uses
some slow and clumsy ways to achieve a bit exact result. Optimisation is planned.

The fixed point version of the codec passes the ITU test vectors. The floating
point version produces results which vary a little with the compiler and compiler
optimisation level chosen. This is normal variability for a codec of this type. On
the development machine disabling the "-O2" and "-ffast-math" optimisations
for the floating point version results in an exact match with the ITU test vectors.

By default, ./configure will configure the codec to used floating point
processing for processors with fast floating point hardware, or fixed point
processing for a selection of well know fixed point DSPs and embedded processors.
The command line option "--enable-fixed-point" will force ./configure to enable
fixed point processing.

To test the codec with the ITU test vectors, get the ITU package
T-REC-G.722.1-200505-I!!SOFT-ZST-E.zip and place it in top level directory
for this project. Then run unpack_g722_1_data.sh . This should uppack the
test vectors into test-data/itu/g722_1. Run configure with the "--enable-tests"
option, and build the software. Then run regression_tests.sh in the tests
directory.

Steve Underwood