INSTALL 3.1 KB

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