Home | History | Annotate | Download | only in libgsm
      1 How to get started:
      2 
      3    Edit the Makefile.
      4 
      5 	You should configure a few machine-dependencies and what
      6 	compiler you want to use.
      7 
      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.
     12  
     13    Make addtst
     14 
     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).
     18 
     19    Edit inc/config.h.
     20 
     21    Make
     22 
     23    	Local versions of the gsm library and the "compress"-like filters
     24 	toast, untoast and tcat will be generated.
     25 
     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.
     29 
     30    Try it
     31 
     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.
     35     
     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
     40 	standard itself.
     41 
     42 Installation
     43 
     44    You can install the gsm library interface, or the toast binaries,
     45    or both.
     46 
     47    Edit the Makefile
     48 	
     49 	Fill in the directories where you want to install the
     50 	library, header files, manual pages, and binaries.
     51 
     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.
     55 
     56    make install
     57 
     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.
     61 
     62 
     63 Optimizing
     64 
     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
     68    multiplications.
     69 
     70    If your machine does multiply integers fast enough,
     71    leave USE_FLOAT_MUL undefined.  The results should be the
     72    same in both cases.
     73 
     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
     82    difference.
     83 
     84 
     85 Bug Reports
     86 
     87    Please direct bug reports, questions, and comments to
     88    jutta (a] cs.tu-berlin.de and cabo (a] informatik.uni-bremen.de.
     89 
     90 
     91 Good luck,
     92 
     93    Jutta Degener,
     94    Carsten Bormann
     95 
     96 --
     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.
    100