
        GOGO-no-coda ver. 2.26
                                                updated Feb. 29, 2000
 * ABSTRACT

  This software is a mp3 encoder based on LAME3.29 ( including a part of
  LAME3.5x ), which is optimized by PEN@MarineCat, Keiichi SAKAI, URURI,
  kei and shigeo,
  modified by Noisyu for BeOS Intel,
  modified by Samuel Audet for OS/2.

  GOGO can encode about TWICE as fast as original LAME can on K6-2 315MHz,
  and its quality is the about same as (old) LAME's.

  GOGO makes use of MMX, (Enhanced) 3D Now! and SSE if your system supports
  these units.

  Remark: Linux and FreeBSD don't support SSE formally.

 * NEWS

  about 8% speed up by sakai
  addition of delete, verify and change output directory options

 * NEW OPTIONS

  -delete   : delete wav-file after encoding
  -i        : verify and overwrite
  -o path   : output mp3-file into path
  -riff {wave, rmp} : wrapping format wave:RIFF/WAVE rmp:RIFF/RMP

 * HOW TO USE

  gogo [options] input.wav [output.mp3]

  input.wav  : input wave file
               if input.wav is `stdin' then GOGO reads from stdin.
  output.mp3 : output mp3 file
               if you omit this, `input.mp3' is used.

  options:

  -b kbps    : bitrate[kbps] 128(default)
             32,40,48,56,64,80,96,112,128,160,192,224,256,320 if 32/44.1/48kHz
             8,16,24,32,40,48,56,64,80,96,112,128,144,160 if 16/22.05/24kHz

  -m {m,s,j} : output mode select
           m : monaural     automatically selected if wav is monaural.
           s : stereo
           j : joint-stereo (default if wav is stereo)

  -nopsy     : disable psycho-acoustics
               You can't this option with VBR

  -v {0,1,..,9}
             : You may use this with -b option, say,
               % gogo test.wav  -v 0 -b 128

  -cpu num   : number of CPU for MT

  -d kHz     : output mp3 sampling frequency

  -emp {n,c,5} : de-empahsis
  -lpf {on,off} : 16kHz filter
               (dflt: use if bitrate <= 128kbps; not use if >= 160kbps)
               You should not this option.

  -test      : benchmark mode

  -silent    : don't print progress report

  -off {mmx,3dn,sse,kni}
             : disable MMX, 3D Now!, SSE(KNI)

  -debug     : print information of CPU.


  following options for BeOS MT.
  
  -priority num   : encode thread priority (dflt: 10 Normal Priority)
  -readthread num : read thread priority (dflt: no use readthread)

  following options for RAW-PCM.

  -offset byte : skip header size.
  -mono      : supporse mono-PCM. (dflt stereo)
  -8bit      : supporse 8bit-PCM. (dflt 16bit)
  -bswap     : low, high byte swapping for 16bit-PCM.
  -s kHz     : input wav sampling frequency. (dflt 44.1kHz)

 * EXAMPLES

  % gogo sample.wav
             : joint-stereo 128kbps  output file is sample.mp3.

  % gogo sample.wav -m s -b 160 -nopsy
             : stereo 160kpbs disable psycho-acoustics

  % cat sample.wav|gogo stdin a.mp3 -b 160
             : joint-stereo 160kbps stdin-mode

  % gogo sample.raw -offset 0
             : input PCM is no header, stereo 16bit 44.1kHz.

 * HOW TO MAKE

  You need NASM-0.98 (http://www.web-sites.co.uk/nasm/).
  This source includes Japanese characters in comments,
  so please delete or translate them.
  
  If you set -DNO_KANJI in makefile then GOGO prints messages in English.

  Set -DUSE_E3DN if you want to use enhanced 3D Now! for Athlon.
  But if so, you must patch NASM to assemble those mnemonics, or get
  http://www.kurims.kyoto-u.ac.jp/~shigeo/soft/3dnow18.lzh
  and
  %mkdir mmx;cd mmx;lha x 3dnow18.lzh;gcc -DONLY_E3DN *.c
  %mmx/a.out mdct3dn.nas
  %mv -f mdct3dn.asm mdct3dn.nas
  , and so on.

  For Linux, FreeBSD 3.x

  % make

  For FreeBSD 2.x
  read Makefile

  For Windows32 console

  copy win\*.* .
  set up as follow at custom-build-window for *.nas or open gogo.dsw (VC++6.0)

  [command] nasm -f win32 -DWIN32 $(InputName).nas
  [output]  $(InputName).obj

  If you use Borland C++, then nasm -f obj -DWIN32 -D__BORLANDC__ *.nas .
  Miquel made gogo_dll.bpr for gogo2.23, but it can't be applied to gogo2.24,
  so I don't include it, sorry.

  For BeOS

  % cd BeOS
  % MakeGOGO.sh
   To install, drag `gogo' into the link-folder provided.

  For OS/2

  make -f makefile.os2

 * NEWER VERSIONS

      http://homepage1.nifty.com/herumi/gogo_e.html

 * LICENSE

  Copyright (C) 1999 PEN@MarineCat, shigeo
          Special Thanks to Keiichi SAKAI, URURI, Noisyu and Kei

   The patent laws about the ISO demonstration source are not applied
  in Japan now (99/11/11), so we release gogo with binary.
  But we will stop to do so according to circumstances. 

   Gogo-no-coda is based on LAME 3.29 beta and distributed under the
  LGPL. The modifications are distributed under the LGPL.


   You can use gogo in your commercial program under the restrictions
  of the LGPL.
  You can include a compiled version of gogo library (Ex. gogo.dll)
  with a commercial program.
  In your program, you can't include any source code from gogo, with
  the exception of files whose only purpose is to describe the library
  interface (such as musenc.h, musui.c). 
  Any modifications of gogo must be released under the LGPL. 
  You must give prominent notice that your program is:
    A. using gogo including version
    B. gogo is under the LGPL
    C. provide a copy of the LGPL
    D. provide a copy of gogo source, or a pointer where the gogo
       source can be obtained

 * NAME

  `GOGO-no-coder' is a parody of `GOGO no cotya da', which means afternoon
  tea in Japan. Please feel free :-P.

 * TODO

  LAME improves the quality of sound and, moreover, starts to include a part
  of gogo. So we won't reform gogo.

  shigeo@kurims.kyoto-u.ac.jp, http://homepage1.nifty.com/herumi/gogo_e.html
