**********************************************************************
* MPEG 1.0 _AUDIO_ PLAYER, V0.59c                                    * 
* (full?) MPEG 1.0, Layer 1,2 and 3 support                          *
* Layer-3 realtime only with a 'fast' machine (e.g Sparc10)          *
* Since 29.3.96 128kbit j-stereo on an amd 5x86-P75 (133Mhz), too ;) *
* Layer 1,2 stereo or Layer 3 with one channel seems to be           *
* possible in realtime on a i486dx4-100                              *
**********************************************************************

Please read first the important information in the COPYING file.

written/modfied by:
   Michael Hipp (email: Michael.Hipp@student.uni-tuebingen.de)
   Oliver Fromme <oliver.fromme@heim3.tu-clausthal.de>
    (several enhancements, man pages, Makefile, FreeBSD port, License, etc.)

Uses code (or at least ideas) from:
  MPEG Software Simulation Group (Base package)
  Tobias Bading (subband synthesis)
  Jeff Tsay (DCT36)
  Philipp Knirsch (DCT36/manual unroll)
  Thomas Woerner (SGI Audio)

current original distribution site is:
  http://www.sfs.nphil.uni-tuebingen.de/~hipp/mpg123.html

here's Oliver Fromme's mpg123 page:
  http://www.heim3.tu-clausthal.de/~olli/mpg123/
  (includes information about the mpg123 mailing list)

and you can get the latest release from here:
  ftp.tu-clausthal.de:/pub/unix/audio/mpg123
  http://ftp.tu-clausthal.de/pub/unix/audio/mpg123

V0.59c plays a layer3,112Kbit/s,J-Stereo stream on my AMD 5x86/133Mhz
with about 73% CPU load.
If your machine isn't fast enough you may try the downsampling
feature (-2to1 and -4to1 options)
Playing in 'singlemix' (stero reduced to mono) also saves some
CPU cycles, though the whole code is optimized for 'full' stereo playing. 

'Benchmarks': (+/- 2%)
----------------------
(AMD 5x86/133MHZ,ASUS SP3G,256KB cache,DIRTY-TAG installed,(BusLogic SCSI))
(Layer3, 112Kbit/s, J-Stereo stream)
(Compiled with: -DI386_ASSEM -DREAL_IS_FLOAT -DLINUX -Wall -O2 -m486
   -fomit-frame-pointer -funroll-all-loops -finline-functions -ffast-math)

  full quality:     (stero)     72%
                    (singlemix) 42% (-> should work on 486DX66)
  2:1 downsampling: (stereo)    59%
                    (singlemix) 35% (-> should work on 486DX50)

---------------------------------------------------------------------
Description:

This isn't a new player. It's a near fully rewritten version based on the
mpegaudio (FHG-version) package. The DCT algorithm in the
synthesis filter is a rewritten version of the DCT first seen in the maplay
package, which was written by Tobias Bading (bading@cs.tu-berlin.de). The 
rewrite was neccassary, because the GPL may not allow this copyright mix.
The mpegaudio package was written by various people from the MPEG/audio
software simulation group. The maplay is under GPL .. You can find the
original sourcecode and the mpegaudio package on: ftp.tnt.uni-hannover.de.

You will find code from the mpegaudio package in:
   layer3.c
   common.c
   mpg123.h
   mpg123.c
I also often used the same variable names in the rewritten parts.

In the current layer3.c I'm using a DCT36 from Jeff Tsay's 
(ctsay@pasteur.eecs.berkeley.edu) maplay 1.2+ package. His code is
under GPL .. 

The output is always 'two channel interleaved'. If the input is a
a mono-stream or single-channel is enabled, the player duplicates
the channel. Currently, only (very simple) audiosupport for
Linux,HP7xx,SGI and SunOS/Solaris,FreeBSD systems.
I have tested the program with a lot of teststreams, but it's very 
likely, that there are still a few bugs.

have fun,
           Mike

----------------------------------------------------------------------------

Just for info:
    I'm also working on a DSP port for this package.
    A first testversion of the layer-2 part is finished and seems
    to work in realtime with my 20MHZ ADSP-2115 

----------------------------------------------------------------------------

Copyrights (c) 1995,1996,1997 of all changes/modifications and
of the new code by Michael Hipp. All rights reserved.
See the packages 'maplay 1.2(+)' and 'mpegaudio' for their copy-policies.

known bugs:
  layer 3 i-stereo not heavily tested
   btw: I'm looking for i-stereo teststreams .. maybe you could send me a few
  Layer 1 not heavily tested
  no CRC checking ..
  no 'free format streams'
  no clean audio interface
  no MPEG 2.0 support


******************************************************************************
*
* This is software with ABSOLUTELY NO WARRANTY.
* Use it at your OWN RISK. It's possible to damage e.g. hardware or your hearing
* due to a bug or for other reasons. 
*
* I do not warrant that the program is free of infringement of any third-party
* patents.
*
******************************************************************************

