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

📄 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 Decoder * * $Id: common.h 2.2 1997/01/17 04:31:07 rowlands Exp $ * * $Log: common.h $ * Revision 2.2  1997/01/17 04:31:07  rowlands * Updated pagkage revision number * * Revision 2.1  1996/04/18 05:37:23  rowlands * Release following Florence meeting * * Revision 2.0  1996/02/12 07:19:57  rowlands * Release following Munich meeting * * Revision 1.9.1.1  1996/01/20  17:28:45  rowlands * Received from Ralf Schwalbe (Telekom FTZ) - includes prediction * * Revision 1.7.1.3  1995/08/14  08:11:37  tenkate * ML-LSF added WtK 7/8/95 * struct frame_params extended. * * Revision 1.7.1.1  1995/07/14  06:12:46  rowlands * Updated dynamic crosstalk from FTZ: revision FTZ_03 * * Revision 1.6  1995/06/22  01:23:00  rowlands * Merged FTZ dynamic crosstalk * **********************************************************************//********************************************************************** *   date   programmers                comment                        * * 2/25/91  Douglas Wong        start of version 1.0 records          * * 3/06/91  Douglas Wong        rename setup.h to dedef.h             * *                              removed extraneous variables          * *                              removed window_samples (now part of   * *                              filter_samples)                       * * 3/07/91  Davis Pan           changed output file to "codmusic"     * * 5/10/91  Vish (PRISM)        Ported to Macintosh and Unix.         * *                              Incorporated new "out_fifo()" which   * *                              writes out last incomplete buffer.    * *                              Incorporated all AIFF routines which  * *                              are also compatible with SUN.         * *                              Incorporated user interface for       * *                              specifying sound file names.          * *                              Also incorporated user interface for  * *                              writing AIFF compatible sound files.  * * 27jun91  dpwe (Aware)        Added musicout and &sample_frames as  * *                              args to out_fifo (were glob refs).    * *                              Used new 'frame_params' struct.       * *                              Clean,simplify, track clipped output  * *                              and total bits/frame received.        * * 7/10/91  Earle Jennings      changed to floats to FLOAT            * *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 functions are        * *                              buffer_CRC and recover_CRC_error      * *                              Additions and revisions are marked    * *                              with "dhl" for clarity                * * 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.  * ********************************************************************** *                                                                    * *                                                                    * *  MPEG/audio Phase 2 coding/decoding multichannel                   * *                                                                    * *  Version 1.0                                                       * *                                                                    * *  7/27/93        Susanne Ritscher,  IRT Munich                      * *                                                                    * *                  thanks to                                         * *                  Ralf Schwalbe,    Telekom FTZ Berlin              * *                  Heiko Purnhagen,  Uni Hannover                    * *                                                                    * *  Version 2.0                                                       * *                                                                    * *  8/27/93        Susanne Ritscher, IRT Munich                       * *                 Channel-Switching is working                       * *                                                                    * *  Version 2.1                                                       * *                                                                    * *  9/1/93         Susanne Ritscher,  IRT Munich                      * *                 all channels normalized                            * *                                                                    * *  Version 3.0                                                       * *                                                                    * *  06/16/94       Ralf Schwalbe, Telekom FTZ Berlin                  * *                 all sources and variables adapted due to MPEG-2 -  * *                 DIS from March 1994                                * *                  - dematrix and denormalize procedure              * *                  - new tc - allocation (0-7)                       * *                  - some new structures and variables as a basis    * *                    for further decoding modes                      * ********************************************************************** *								      * *  Version 1.0                                                       * *                                                                    * *  11/04/94       Ralf Schwalbe,  Telekom FTZ Berlin                 * *                  - decoding tc-allocation                          * *                  - some new subroutines, globale variables and     * *                    structures (important to handle the ext. bitst.)* *                  - changed all functions to ANSI-C funktion header * *		    - corrected some bugs to decode bitstreams > 512kB* *								      * *  Version 1.1                                                       * *                                                                    * *  12/07/94       Ralf Schwalbe,  Telekom FTZ Berlin                 * *                  - decoding extension bitstream                    * *                                                                    * *  Version 1.1.1                                                     * *                 Ralf Schwalbe, Telekom FTZ Berlin                  * *                  - fixed some bugs                                 * *                                                                    * *  Version 1.2                                                       * *                                                                    * *  6/21/95       Ralf Schwalbe, Deutsche Telekom FTZ Berlin          * *            	    - decoding dynamic crosstalk                      * *                  - decoding phantom center                         *  *                  - decoding MPEG1 compatible part only (stereo)    * *                  - corrected some settings and bugs                * *                                                                    *   *  7/12/95	  Ralf Schwalbe, Deutsche Telekom FTZ Berlin          * *		    - corrected dynamic crosstalk 		      * *		    - 3/2,3/1,3/0,2/1, channel configurations         * *                    are working                                     * *		  						      * * 10/31/95	  Ralf Schwalbe, Deutsche Telekom FTZ Berlin	      * *		    - decoding of LFE-channel is working  	      * *		    - corrected any settings and bugs		      * *		    - corrected table-switch for channel mode < 3/2   * *		      and tc-allocation / dyn-crosstalk		      * *		    - still a problem with compl. bitstream 18/19     * *								      *	 * 01/12/96	  Ralf Schwalbe, Deutsche Telekom TZ Darmstadt	      * *		    - decoder prediction installed		      * *		    - problem with compl. bitstream 19 solved,        * *								      * *  Version 2.0                                                       * *                                                                    * * 01/28/97       Frans de Bont, Philips Sound & Vision, Eindhoven    * *		    - simultaneous use of tc allocation and dynamic   * *		      crosstalk working for all configurations	      * *		    - prediction working for all configurations	      * *		    - layer 1 MC working			      * *		    - variable bit rate and extension bitstreams      * *		    - fully compliant to 13818-3.2                    * *                                                                    *				      *		     **********************************************************************/#define VERSION "$Revision: 2.2 $"/*************************************************************************  Global Conditional Compile Switches************************************************************************//*#define PRINTOUT*/#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************************************************************************/extern int pred_coef_table[6][16];  /* def. in decode.c */extern double S_freq;extern int Bitrate, Frame_Bits;/* 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             64#define         SCALE                   32768.0#define         CRC16_POLYNOMIAL        0x8005/* Sync - Word for multichannel extern bitstream */#define		EXT_SYNCWORD	        0x7ff/* 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/* Multi-channel Definitions - Mode Values */#define		MPG_MC_STEREO 	       0#define		MPG_MC_NONE	       6/* 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 */

⌨️ 快捷键说明

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