home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: Multimed / Multimed.zip / mpg123.zip / README < prev    next >
Text File  |  1999-05-03  |  8KB  |  201 lines

  1. **********************************************************************
  2. * MPEG 1.0/2.0 _AUDIO_ PLAYER, V0.59n                                * 
  3. *                                                                    *
  4. * (full?) MPEG 1.0/2.0, Layer 1,2 and 3 support                      *
  5. * Layer-3 realtime only with a 'fast' machine                        *
  6. * Since April 97, 128kbit j-stereo should work on a 486DX4-120.      *
  7. * With 2:1 down-sampling or using the downmix-mode even a 486DX2-66  *
  8. * should play such a stream in realtime!                             *
  9. *                                                                    *
  10. * I still claim to have the fastest MPEG Audio Player for UNIX ;)    *
  11. **********************************************************************
  12.  
  13. Please read first the important information in the COPYING file.
  14.  
  15. written/modfied by:
  16.    Michael Hipp (email: hippm@informatik.uni-tuebingen.de)
  17.    Oliver Fromme <oliver.fromme@heim3.tu-clausthal.de>
  18.     (several enhancements, man pages, Makefile, FreeBSD port, License, etc.)
  19.  
  20. Uses code (or at least ideas) from:
  21.   MPEG Software Simulation Group: reference decoder package
  22.   Tobias Bading: idea for DCT64 in subband synthesis from maplay package
  23.   Jeff Tsay and Mikko Tommila: MDCT36 from maplay package
  24.   Philipp Knirsch <phil@mpik-tueb.mpg.de>: DCT36/manual unroll idea
  25.   Thomas Woerner <..> (SGI Audio)
  26.   Damien Clermonte <..> (HP-UX audio fixes)
  27.   Niclas Lindstrom <nil@wineasy.se>: OS2 port
  28.   Stefan Bieschewski <stb@acm.org>: Pentium optimizations, decode_i586.s
  29.   Martin Denn <mdenn@unix-ag.uni-kl.de>: NAS port
  30.   Niklas Beisert <nbeisert@physik.tu-muenchen.de> MPEG 2.5 tables
  31.   <mycroft@NetBSD.ORG> and <augustss@cs.chalmers.se>: NetBSD
  32.   Kevin Brintnall <kbrint@visi.com> BSD patch
  33.   Tony Million: win32 port
  34.   Steven Tiger Lang: advanced shuffle
  35.   Henrik P Johnson: HTTP auth patch
  36.   Eric B. Mitchell: esd port
  37.   Ryan R. Prosser <prosser@geocities.com> esd port for Solaris
  38.   Daniel Kobras <daniel.kobras@student.uni-tuebingen.de>: lot of (DK)-bugfixes
  39.   and more ....
  40.  
  41. current distribution site for new test versions is:
  42.   http://www-ti.informatik.uni-tuebingen.de/~hippm/mpg123.html
  43.  
  44. here's Oliver Fromme's mpg123 page:
  45.   http://mpg.123.org/
  46.   (includes information about the mpg123 mailing list)
  47.  
  48. and you can get the latest release from here:
  49.   ftp.tu-clausthal.de:/pub/unix/audio/mpg123
  50.   http://ftp.tu-clausthal.de/pub/unix/audio/mpg123
  51.  
  52. ------------------------------------------------------------------------
  53.  
  54. This version plays a layer3,112Kbit/s,J-Stereo stream on my AMD 5x86/133Mhz
  55. with about 66% CPU load. (on the console, NO X11)
  56. If your machine isn't fast enough you may try the downsampling
  57. feature (--2to1 and --4to1 options) 
  58. Playing in '--singlemix' (stero reduced to mono) also saves some
  59. CPU cycles, though the whole code is optimized for 'full' stereo playing.
  60.  
  61. 'Benchmarks': (+/- 2%)
  62. ----------------------
  63. (AMD 486/133MHZ,ASUS SP3G,256KB cache,DIRTY-TAG installed,(BusLogic SCSI))
  64. (Layer3, 112Kbit/s, Joint-Stereo stream (partially MS stereo, no I-stereo))
  65. (Compiled with: -DI386_ASSEM -DREAL_IS_FLOAT -DLINUX -Wall -O2 -m486
  66.    -fomit-frame-pointer -funroll-all-loops -finline-functions -ffast-math)
  67.  
  68.   full quality:     (stero)     66% (-> may work on 486DX4-100)
  69.                     (singlemix) 38% (-> should work on 486DX2-66)
  70.   2:1 downsampling: (stereo)    48%
  71.                     (singlemix) 30% (-> should work on 486DX-50)
  72.  
  73. ---------------------------------------------------------------------
  74. Description:
  75.  
  76. This isn't a new player. It's a fully rewritten version originally based 
  77. on the mpegaudio (FHG-version) package. The DCT algorithm in the
  78. synthesis filter is a rewritten version of the DCT first seen in the maplay
  79. package, which was written by Tobias Bading (bading@cs.tu-berlin.de). The 
  80. rewrite was neccassary, because the GPL may not allow this copyright mix.
  81. The mpegaudio package was written by various people from the MPEG/audio
  82. software simulation group. The maplay is under GPL .. You can find the
  83. original source code and the mpegaudio package on: ftp.tnt.uni-hannover.de.
  84.  
  85. Especially layer3.c common.c and mpg123.h is based on the dist10 package.
  86. The code is fullly rewritten but I'm using sometimes the
  87. same variable names or similar function names as in the
  88. original package.
  89.  
  90. In the current layer3.c I'm using a DCT36 first seen in Jeff Tsay's 
  91. (ctsay@pasteur.eecs.berkeley.edu) maplay 1.2+ package. His code is
  92. under GPL .. I also tried the enhancement from Mikko Tommila. His
  93. code is also in layer3.c (but it's disabled at the moment, because
  94. it was slightly slower than the unrolled 9 point DCT (at least on 
  95. _my_ system)). Theoretically it should be faster. You may try it on
  96. your system.
  97.  
  98. The output can converted to different audio formats and
  99. rates. Currently, only (very simple) audiosupport for
  100. the most common computer systems. It's possible
  101. to build a 'generic' version which needs an external
  102. audio player for playing.
  103.  
  104. I have tested the program with a lot of teststreams, but it's very 
  105. likely, that there are still a few bugs.
  106.  
  107. Playing MP3s coming with MIMEType "audio/x-mpegurl" 
  108. ---------------------------------------------------
  109. For netscape navigator: 
  110. Go: Preferencs->Navigator->Applications
  111.  Click 'NEW' Button and fill in the form:
  112.   Description: MP3 Playlist
  113.   MIMEType:    audio/x-mpegurl
  114.   suffix:      m3u
  115.  Click the 'Application' button below and add a
  116.   mpg123 -@ %s
  117.  or maybe better
  118.   xterm -e mpg123 -@ %s
  119.  in the application field. Press OK. That's all.
  120.  
  121.  
  122. NAS notes: (from Martin Denn)
  123. -----------------------------
  124. you may wanna play with the following defines: (from audio.c)
  125.   NAS_SOUND_PORT_DURATION 
  126.   NAS_SOUND_LOW_WATER_MARK
  127. Change them to optimize the player for your environment. For slow
  128. networks a proven config is:
  129. #define NAS_SOUND_PORT_DURATION 10 /* seconds */
  130. #define NAS_SOUND_LOW_WATER_MARK 75 /* percent */
  131.  
  132. Pentium optimization notes:
  133. ---------------------------
  134. The ASM optimaztions are especially for Intel Pentium FPUs.
  135. On other processorts the egcs compiler optimiazation
  136. may do a better job.
  137.  
  138. 3DNow notes:
  139. ------------
  140. You need a new 'as'. ie. the 'as' from binutils-2.9.1.0.19a.
  141. If you don┤t have a suitable ┤as┤, you may wanna try to _copy_ the
  142. files dct64_3dnow.o and decode_3dnow.o from the precompiled/ 
  143. directory to the base mpg123 source path and try to compile
  144. the source.
  145. A funny side-effect of the 3dnow optimizations is, that now the
  146. -2 and -4 downsampling is a little slower than full quality, because
  147. the 3dnow optimization is only enabled for full quality decoding.
  148. 3dnow only works with -DREAL_IS_FLOAT. 
  149.  
  150.  
  151. have fun,
  152.            Mike
  153.  
  154. ----------------------------------------------------------------------------
  155.  
  156. Just for info:
  157.     I'm also working (but not at the moment) on a DSP port for this package. 
  158.     A first testversion of the _LAYER-2_ part is finished and seems
  159.     to work in realtime with my 20MHZ ADSP-2115 
  160.  
  161. ----------------------------------------------------------------------------
  162.  
  163. Copyrights (c) 1995,1996,1997 of all changes/modifications and
  164. of the new code by Michael Hipp. All rights reserved.
  165. Copyrights (c) 1997 of several enhancements by Oliver Fromme.
  166. See the packages 'maplay 1.2(+)' and 'mpegaudio' for their copy-policies.
  167. Copyrights (c) 1997 of the OS2 specific parts by Niclas Lindstrom
  168.  
  169. known bugs:
  170. -----------
  171.   layer 3 i-stereo not heavily tested
  172.    btw: I'm looking for i-stereo teststreams .. maybe you could send me a few
  173.   Layer 1 not heavily tested
  174.   no CRC checking ..
  175.   no 'free format streams'
  176.   no clean audio interface
  177.   MPEG 2.0, Layer1 and Layer2 not tested (and probably will not work)
  178.   MPEG 2.0, Layer3 not heavily tested .. may has bugs.
  179.  
  180. related information:
  181. --------------------
  182.   If you need an mp3 frame re(assembler) and stream debug tool you should
  183.   have a look at the mp3asm program on Olli's mpg123 page.(http://mpg.123.org)
  184.  
  185. some interessting patent information:
  186. -------------------------------------
  187.   http://www.iis.fhg.de/amm/legal/
  188.  
  189.  
  190. ******************************************************************************
  191. *
  192. * This is software with ABSOLUTELY NO WARRANTY.
  193. * Use it at your OWN RISK. It's possible to damage e.g. hardware or your hearing
  194. * due to a bug or for other reasons. 
  195. *
  196. * I do not warrant that the program is free of infringement of any third-party
  197. * patents.
  198. *
  199. ******************************************************************************
  200.  
  201.