home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 13 / AACD13.ISO / AACD / Sound / LAME / src / HACKING < prev    next >
Text File  |  2000-04-11  |  1KB  |  55 lines

  1. ************************************************************************
  2. LAME API
  3.  
  4. For a general outline of the code, see the file API.  
  5. Also, main.c is a simple front end to libmp3lame.a
  6.  
  7. The guts of the code are called from lame_encode_buffer().
  8.  
  9. lame_encode_buffer() handles buffering, resampling, filtering, and
  10. then calls lame_encode_frame() for each frame:
  11.  
  12. lame_encode_frame():
  13.    l3psycho_anal()        compute masking thresholds
  14.    mdct_sub()             compute MDCT coefficients
  15.    iteration_loop()       choose scalefactors (via iteration)
  16.                           which determine noise shapping, and 
  17.                           choose best huffman tables for lossless compression
  18.  
  19.    format_bitstream       format the bitstream.  when data+headers are complete,
  20.                           output to internal bit buffer.
  21.    copy_buffer()          copy internal bit buffer into user's mp3 buffer
  22.  
  23.  
  24.  
  25.  
  26. ************************************************************************
  27. Avoid using float or double, and instead use: (defined in machine.h).  
  28.  
  29. FLOAT    default: 4 byte floating point.  
  30. FLOAT8   default: 8 byte floating point.
  31.  
  32.  
  33. On some machines, FLOAT8 is actually faster than FLOAT. 
  34.  
  35. On some machines, the math routines require FLOAT8, so using FLOAT
  36. results in a lot of conversions.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.