5
You should configure a few machine-dependencies and what
6
compiler you want to use.
8
The code works both with ANSI and K&R-C. Use
9
-DNeedFunctionPrototypes to compile with, or
10
-UNeedFunctionPrototypes to compile without, function
11
prototypes in the header files.
15
The "add" program that will be compiled and run checks whether
16
the basic math functions of the gsm library work with your
17
compiler. If it prints anything to stderr, complain (to us).
23
Local versions of the gsm library and the "compress"-like filters
24
toast, untoast and tcat will be generated.
26
If the compilation aborts because of a missing function,
27
declaration, or header file, see if there's something in
28
inc/config.h to work around it. If not, complain.
32
Grab an audio file from somewhere (raw u-law or Sun .au is fine,
33
linear 16-bit in host byte order will do), copy it, toast it,
34
untoast it, and listen to the result.
36
The GSM-encoded and -decoded audio should have the quality
37
of a good phone line. If the resulting audio is noisier than
38
your original, or if you hear compression artifacts, complain;
39
that's a bug in our software, not a bug in the GSM encoding
44
You can install the gsm library interface, or the toast binaries,
49
Fill in the directories where you want to install the
50
library, header files, manual pages, and binaries.
52
Turn off the installation of one half of the distribution
53
(i.e., gsm library or toast binaries) by not setting the
54
corresponding directory root Makefile macro.
58
will install the programs "toast" with two links named
59
"tcat" and "untoast", and the gsm library "libgsm.a" with
60
a "gsm.h" header file, and their respective manual pages.
65
This code was developed on a machine without an integer
66
multiplication instruction, where we obtained the fastest result by
67
replacing some of the integer multiplications with floating point
70
If your machine does multiply integers fast enough,
71
leave USE_FLOAT_MUL undefined. The results should be the
74
On machines with fast floating point arithmetic, defining
75
both USE_FLOAT_MUL and FAST makes a run-time library
76
option available that will (in a few crucial places) use
77
``native'' floating point operations rather than the bit-by-bit
78
defined ones of the GSM standard. If you use this fast
79
option, the outcome will not be bitwise identical to the
80
results prescribed by the standard, but it is compatible with
81
the standard encoding, and a user is unlikely to notice a
87
Please direct bug reports, questions, and comments to
88
jutta@cs.tu-berlin.de and cabo@informatik.uni-bremen.de.
97
Copyright 1992, 1993, 1994, by Jutta Degener and Carsten Bormann,
98
Technische Universitaet Berlin. See the accompanying file "COPYRIGHT"
99
for details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.