⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.h

📁 ISO mp3 sources (distribution 10) Layer 1/2/3, C Source, 512 k Sources of the Mpeg 1,2 layer 1,2
💻 H
📖 第 1 页 / 共 2 页
字号:
/********************************************************************** * ISO MPEG Audio Subgroup Software Simulation Group (1996) * ISO 13818-3 MPEG-2 Audio Multichannel Encoder * * $Id: common.h 2.0 1996/02/12 07:18:32 rowlands Exp $ * * $Log: common.h $ * Revision 2.0  1996/02/12 07:18:32  rowlands * Release following Munich meeting * * Revision 1.5.2.1  1995/11/06  04:19:12  rowlands * Received from Uwe Felderhoff (IRT) * * Revision 1.7  1995/08/14  07:52:40  tenkate * ML-LSF added Warner ten Kate 7/8/95 (Philips) * struct frame_params extended * * Revision 1.6  1995/07/31  07:46:45  tenkate * typedef frame_params updated for phantom coding, 25/07/95 WtK * * Revision 1.4.2.1  1995/06/16  03:46:42  rowlands * Input from Susanne Ritscher (IRT) * **********************************************************************//********************************************************************** *   date   programmers         comment                               * * 2/25/91  Doulas Wong,        start of version 1.0 records          * *          Davis Pan                                                 * * 5/10/91  W. Joseph Carter    Reorganized & renamed all ".h" files  * *                              into "common.h" and "encoder.h".      * *                              Ported to Macintosh and Unix.         * *                              Added additional type definitions for * *                              AIFF, double/SANE and "bitstream.c".  * *                              Added function prototypes for more    * *                              rigorous type checking.               * * 27jun91  dpwe (Aware)        Added "alloc_*" defs & prototypes     * *                              Defined new struct 'frame_params'.    * *                              Changed info.stereo to info.mode_ext  * *                              #define constants for mode types      * *                              Prototype arguments if PROTO_ARGS     * * 5/28/91  Earle Jennings      added MS_DOS definition               * *                              MsDos function prototype declarations * * 7/10/91  Earle Jennings      added FLOAT definition as double      * *10/ 3/91  Don H. Lee          implemented CRC-16 error protection   * * 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.  * *                              Modified some function prototypes.    * *                              Changed BUFFER_SIZE back to 4096.     * * 8 jul 92 Susanne Ritscher    MS-DOS, MSC 6.0 port fixes.           * *19 aug 92 Soren H. Nielsen    Printout of bit allocation.           * *                              UNIX port fixes. MS-DOS file name     * * 				extensions fix                        * * dec 92 Susanne Ritscher	Changed to multi-channel with several * * 				options	         		      * ********************************************************************** *                                                                    * *                                                                    * *  MPEG/audio Phase 2 coding/decoding multichannel                   * *                                                                    * *  7/27/93        Susanne Ritscher,  IRT Munich                      * *  8/27/93        Susanne Ritscher, IRT Munich                       * *                 Channel-Switching is working                       * *  9/1/93         Susanne Ritscher,  IRT Munich                      * *                 all channels normalized                            * *  9/20/93        channel-switching is only performed at a           * *                 certain limit of TC_ALLOC dB, which is included    * *                 in encoder.h                                       * *                                                                    * *  Version 1.0                                                       * *                                                                    * *  07/12/94       Susanne Ritscher,  IRT Munich                      * *                                                                    * *  Version 1.1                                                       * *                                                                    * *  02/23/95	   Susanne Ritscher,  IRT Munich                      * *                 corrected some bugs                                * *                 extension bitstream is working                     * *                                                                    * *  Version 2.0                                                       * *                                                                    * *  01/28/97       Frans de Bont, Philips Sound & Vision, Eindhoven   * *		    - dynamic crosstalk working for all configurations* *		    - prediction working for all configurations	      * *		    - extension bitstream fixed			      * *		    - fully compliant to DIS 13818-3.2                * *                                                                    *				      *		     **********************************************************************//*************************************************************************  Global Conditional Compile Switches************************************************************************/#define PRINTOUT#define	DEBUG/*#define	MACINTOSH */	/* Macintosh conditional compile switch *//*#define	MS_DOS	*/	/* IBM PC conditional compile switch				   Microsoft C ver. 6.0 */#define	VERSION	"$Revision: 2.0 $"#ifdef  UNIX#define         TABLES_PATH     "tables/"  /* to find data files *//* name of environment variable holding path of table files */#define         MPEGTABENV      "MPEGTABLES"#define         PATH_SEPARATOR  "/"        /* how to build paths */#define         PROTO_ARGS                 /* unix gcc uses arg. prototypes */#endif  /* UNIX */#ifdef  MACINTOSH/* #define      TABLES_PATH ":tables:"  /* where to find data files */#define         PROTO_ARGS              /* Mac uses argument prototypes */#endif  /* MACINTOSH */#ifdef  MS_DOS#define         PROTO_ARGS  /* DOS uses argument prototypes */#endif  /* MS_DOS *//* MS_DOS and VMS do not define TABLES_PATH, so OpenTableFile will default   to finding the data files in the default directory *//*************************************************************************  Global Include Files************************************************************************/#include        <stdio.h>#include        <string.h>#include        <math.h>#ifdef  UNIX#include        <unistd.h>	 /* removed 92-08-05 shn */#include	<stdlib.h>       /* put in 92-08-05 shn */#endif  /* UNIX */#ifdef  MACINTOSH#include        <stdlib.h>#include        <console.h>#endif  /* MACINTOSH */#ifdef  MS_DOS/* #include	<alloc.h> */ /* removed 92-07-08 sr */#include	<malloc.h>   /* put in 92-07-08 sr *//* #include	<mem.h> */   /* removed 92-07-08 sr */#include <stdlib.h>#endif  /* MS_DOS *//*************************************************************************  Global Definitions************************************************************************//* General Definitions */#ifdef  MS_DOS#define         FLOAT                   double#else#define         FLOAT                   float#endif#define         FALSE                   0#define         TRUE                    (!FALSE)#define         NULL_CHAR               '\0'#define         MAX_U_32_NUM            0xFFFFFFFF#define         PI                      3.14159265358979#define         PI4                     PI/4#define         PI64                    PI/64#define         LN_TO_LOG10             0.2302585093#define         VOL_REF_NUM             0#define         MPEG_AUDIO_ID           1#define         MAC_WINDOW_SIZE         24#define         MONO                    1#define         STEREO                  2#define         BITS_IN_A_BYTE          8#define         WORD                    16#define         MAX_NAME_SIZE           81#define         SBLIMIT                 32#define         FFT_SIZE                1024#define         HAN_SIZE                512#define         SCALE_BLOCK             12#define         SCALE_RANGE             63#define         SCALE                   32768#define         CRC16_POLYNOMIAL        0x8005#define         MAX_PRED_COEFF          3.96875     /* gleichfoermige Quantisierung der */                                                    /* Praediktorkoeff. im Bereich */                                                    /* [-MAX_PRED_COEF .. +MAX_PRED_COEF] */#define CHANMAX1        5#define CHANMAX2        7#define CHANMAX3       12#define SBGRS          12/* Channels */#define	    L0	    0							    #define	    R0	    1							    #define	    C	    2							    #define	    LS	    3							    #define	    RS	    4							    #define	    L	    5							    #define	    R	    6	#define	    L7	    7#define	    R7	    8							    #define	    C7	    9#define	    LC	    10						    #define	    RC	    11						    /* Sums */#define	    T23	    0#define	    T24	    1#define	    T34	    2#define	    T234    3						    #define	    T56     4					    /* MPEG Header Definitions - Mode Values */#define         MPG_MD_STEREO           0#define         MPG_MD_JOINT_STEREO     1#define         MPG_MD_DUAL_CHANNEL     2#define		MPG_MD_MONO		3#define		MPG_MD_NONE		4/* AIFF Definitions */#ifndef	MS_DOS#define         IFF_ID_FORM             "FORM" /* HP400 unix v8.0: double qoutes 1992-07-24 shn */#define         IFF_ID_AIFF             "AIFF"#define         IFF_ID_COMM             "COMM"#define         IFF_ID_SSND             "SSND"#define         IFF_ID_MPEG             "MPEG"#else#define         IFF_ID_FORM             "FORM"#define         IFF_ID_AIFF             "AIFF"#define         IFF_ID_COMM             "COMM"#define         IFF_ID_SSND             "SSND"#define         IFF_ID_MPEG             "MPEG"#endif/* "bit_stream.h" Definitions */#define         MINIMUM         4    /* Minimum size of the buffer in bytes */#define         MAX_LENGTH      32   /* Maximum length of word written or                                        read from bit stream */#define         READ_MODE       0#define         WRITE_MODE      1#define         ALIGNING        8#define         BINARY          0#define         ASCII           1#define         BS_FORMAT       BINARY /* BINARY or ASCII = 2x bytes */#define         BUFFER_SIZE     4096#define         MIN(A, B)       ((A) < (B) ? (A) : (B))#define         MAX(A, B)       ((A) > (B) ? (A) : (B))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -