************************************************************************
LAME API

For a general outline of the code, see the file API.  
Also, main.c is a simple front end to libmp3lame.a

The guts of the code are called from lame_encode_buffer().

lame_encode_buffer() handles buffering, resampling, filtering, and
then calls lame_encode_frame() for each frame:

lame_encode_frame():
   l3psycho_anal()        compute masking thresholds
   mdct_sub()             compute MDCT coefficients
   iteration_loop()       choose scalefactors (via iteration)
                          which determine noise shapping, and 
                          choose best huffman tables for lossless compression

   format_bitstream       format the bitstream.  when data+headers are complete,
                          output to internal bit buffer.
   copy_buffer()          copy internal bit buffer into user's mp3 buffer




************************************************************************
Avoid using float or double, and instead use: (defined in machine.h).  

FLOAT    default: 4 byte floating point.  
FLOAT8   default: 8 byte floating point.


On some machines, FLOAT8 is actually faster than FLOAT. 

On some machines, the math routines require FLOAT8, so using FLOAT
results in a lot of conversions.  
 

















