/********************************************************************** * ISO MPEG Audio Subgroup Software Simulation Group (1996) * ISO 13818-3 MPEG-2 Audio Encoder - Lower Sampling Frequency Extension * * $Id: encode.c,v 1.1 1996/02/14 04:04:23 rowlands Exp $ * * $Log: encode.c,v $ * Revision 1.1 1996/02/14 04:04:23 rowlands * Initial revision * * Received from Mike Coleman **********************************************************************/ /********************************************************************** * date programmers comment * * 3/01/91 Douglas Wong, start of version 1.1 records * * Davis Pan * * 3/06/91 Douglas Wong rename: setup.h to endef.h * * efilter to enfilter * * ewindow to enwindow * * integrated "quantizer", "scalefactor",* * and "transmission" files * * update routine "window_subband" * * 3/31/91 Bill Aspromonte replaced read_filter by * * create_an_filter * * 5/10/91 W. Joseph Carter Ported to Macintosh and Unix. * * Incorporated Jean-Georges Fritsch's * * "bitstream.c" package. * * Incorporated Bill Aspromonte's * * filterbank coefficient matrix * * calculation routines and added * * roundoff to coincide with specs. * * Modified to strictly adhere to * * encoded bitstream specs, including * * "Berlin changes". * * Modified PCM sound file handling to * * process all incoming samples and fill * * out last encoded frame with zeros * * (silence) if needed. * * Located and fixed numerous software * * bugs and table data errors. * * 19jun91 dpwe (Aware) moved "alloc_*" reader to common.c * * Globals sblimit, alloc replaced by new* * struct 'frame_params' passed as arg. * * Added JOINT STEREO coding, layers I,II* * Affects: *_bit_allocation, * * subband_quantization, encode_bit_alloc* * sample_encoding * * 6/10/91 Earle Jennings modified II_subband_quantization to * * resolve type cast problem for MS_DOS * * 6/11/91 Earle Jennings modified to avoid overflow on MS_DOS * * in routine filter_subband * * 7/10/91 Earle Jennings port to MsDos from MacIntosh version * * 8/ 8/91 Jens Spille Change for MS-C6.00 * *10/ 1/91 S.I. Sudharsanan, Ported to IBM AIX platform. * * Don H. Lee, * * Peter W. Farrett * *10/ 3/91 Don H. Lee implemented CRC-16 error protection * * newly introduced function encode_CRC * *11/ 8/91 Kathy Wang Documentation of code * * All variablenames are referred to * * with surrounding pound (#) signs * * 2/11/92 W. Joseph Carter Ported new code to Macintosh. Most * * important fixes involved changing * * 16-bit ints to long or unsigned in * * bit alloc routines for quant of 65535 * * and passing proper function args. * * Removed "Other Joint Stereo" option * * and made bitrate be total channel * * bitrate, irrespective of the mode. * * Fixed many small bugs & reorganized. * * 6/16/92 Shaun Astarabadi Changed I_scale_factor_calc() and * * II_scale_factor_calc() to use scale * * factor 0 thru 62 only and not to * * encode index 63 into the bit stream. * * 7/27/92 Mike Li (re-)Port to MS-DOS * * 9/22/92 jddevine@aware.com Fixed _scale_factor_calc() defs * * 3/31/93 Giogio Dimino changed II_a_bit_allocation() from: * * if( ad > ...) to if(ad >= ...) * * 8/05/93 TEST changed I_a_bit_allocation() from: * * if( ad > ...) to if(ad >= ...) * * 8/02/95 mc@fivebats.com Changed audio file reading code to * * read samples big-endian * *10/15/95 mc@fivebats.com Modified get_audio() for layer3-LSF * **********************************************************************/