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

📄 decoder.h

📁 mpeg layerI II III, support window and linux
💻 H
字号:
/********************************************************************** * ISO MPEG Audio Subgroup Software Simulation Group (1996) * ISO 13818-3 MPEG-2 Audio Decoder - Lower Sampling Frequency Extension * * $Id: decoder.h.rca 1.2 Fri Dec 13 00:30:54 2002 franklej Experimental $ * * Received from FhG **********************************************************************//********************************************************************** *   date   programmers         comment                               * * 2/25/91  Doulas Wong,        start of version 1.0 records          * *          Davis Pan                                                 * * 5/10/91  Vish (PRISM)        Renamed and regrouped all ".h" files  * *                              into "common.h" and "decoder.h".      * *                              Ported to Macintosh and Unix.         * * 27jun91  dpwe (Aware)        New prototype for out_fifo()          * *                              Moved "alloc_*" stuff to common.h     * *                              Use ifdef PROTO_ARGS for prototypes   * *                              prototypes reflect frame_params struct* * 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.    * * 08/07/92 Mike Coleman        Made small changes for portability    * * 9/07/93  Toshiyuki Ishino    Integrated with Layer III.            * * 11/04/94 Jon Rowlands        fix protos for usage() and            * *                              recover_CRC_error()                   * *          Roland Bitto 	Adapted to MPEG2 low bitrate	      * **********************************************************************//*************************************************************************  Decoder Include Files************************************************************************//*************************************************************************  Decoder Definitions************************************************************************/#define   DFLT_OPEXT        ".dec"  /* default output file name extension *//* NOTE: The value of a multiple-character constant is implementation-defined.*/#if !defined(MS_DOS) && !defined(AIX)#define   FILTYP_DEC_AIFF   'AIFF'#define   FILTYP_DEC_BNRY   'TEXT'#define   CREATR_DEC_AIFF   'Sd2a'/*  The following character constant is ASCII '????'  It is declared in hex because the character  constant contains a trigraph, causing an error in  parsing with ANSI preprocessors.*/#define   CREATR_DEC_BNRY   0x3f3f3f3f#else#define   FILTYP_DEC_AIFF   "AIFF"#define   FILTYP_DEC_BNRY   "TEXT"#define   CREATR_DEC_AIFF   "Sd2a"#define   CREATR_DEC_BNRY   "????"#endif#define   SYNC_WORD         (long) 0xfff#define   SYNC_WORD_LNGTH   12#define   MUTE              0/*************************************************************************  Decoder Type Definitions************************************************************************//*************************************************************************  Decoder Variable External Declarations************************************************************************//*************************************************************************  Decoder Function Prototype Declarations************************************************************************//* The following functions are in the file "musicout.c" */#ifdef   PROTO_ARGSstatic void   usage(void);#elsestatic void   usage();#endif/* The following functions are in the file "decode.c" */#ifdef   PROTO_ARGSextern void   decode_info(Bit_stream_struc*, frame_params*);extern void   II_decode_bitalloc(Bit_stream_struc*, unsigned int[2][SBLIMIT],                       frame_params*);extern void   I_decode_bitalloc(Bit_stream_struc*, unsigned int[2][SBLIMIT],                       frame_params*);extern void   I_decode_scale(Bit_stream_struc*, unsigned int[2][SBLIMIT],                       unsigned int[2][3][SBLIMIT], frame_params*);extern void   II_decode_scale(Bit_stream_struc*, unsigned int[2][SBLIMIT],                       unsigned int[2][SBLIMIT], unsigned int[2][3][SBLIMIT],                       frame_params*);extern void   I_buffer_sample(Bit_stream_struc*, unsigned int[2][3][SBLIMIT],                       unsigned int[2][SBLIMIT], frame_params*);extern void   II_buffer_sample(Bit_stream_struc*, unsigned int[2][3][SBLIMIT],                       unsigned int[2][SBLIMIT], frame_params*);extern void   read_quantizer_table(double[17], double[17]);extern void   II_dequantize_sample(unsigned int[2][3][SBLIMIT],                        unsigned int[2][SBLIMIT], double[2][3][SBLIMIT],                       frame_params*);extern void   I_dequantize_sample(unsigned int[2][3][SBLIMIT],                       double[2][3][SBLIMIT], unsigned int[2][SBLIMIT],                       frame_params*);extern void   read_scale_factor(double[SCALE_RANGE]);extern void   II_denormalize_sample(double[2][3][SBLIMIT],                       unsigned int[2][3][SBLIMIT], frame_params*, int);extern void   I_denormalize_sample(double[2][3][SBLIMIT],                       unsigned int[2][3][SBLIMIT], frame_params*);extern void   create_syn_filter(double[64][SBLIMIT],FILE*);extern int    SubBandSynthesis (double*, int, OUTPUT_TYPE*,FILE*);extern void   read_syn_window(double[HAN_SIZE]);extern void   window_sample(double*, double*);extern void   out_fifo(OUTPUT_TYPE[2][SSLIMIT][SBLIMIT], int, frame_params*, int,                       FILE*, unsigned long*);extern void   buffer_CRC(Bit_stream_struc*, unsigned int*);extern void   recover_CRC_error(OUTPUT_TYPE[2][SSLIMIT][SBLIMIT], int, frame_params*,                       FILE*, unsigned long*);extern void   III_dequantize_sample(long int[SBLIMIT][SSLIMIT],			double [SBLIMIT][SSLIMIT], III_scalefac_t *,                        struct gr_info_s *, int, frame_params *,FILE *);extern void   III_antialias(double[SBLIMIT][SSLIMIT], double[SBLIMIT][SSLIMIT],                           struct gr_info_s *, frame_params *,FILE*);extern void   inv_mdct(double[18], double[36], int,FILE*);extern void   III_hybrid(double[SSLIMIT], double[SSLIMIT] , int, int,                       struct gr_info_s *, frame_params *,FILE*);extern void   III_get_side_info(Bit_stream_struc *,                                 III_side_info_t *,                                 frame_params *);extern void   III_put_side_info(Bit_stream_struc *,                                 III_side_info_t *,                                 frame_params *);extern void III_get_scale_factors(III_scalefac_t *,                                 III_side_info_t *,                                  int,                                  int,                                  frame_params *,                                 FILE *);#elseextern void   decode_info();extern void   II_decode_bitalloc();extern void   I_decode_bitalloc();extern void   I_decode_scale();extern void   II_decode_scale();extern void   I_buffer_sample();extern void   II_buffer_sample();extern void   read_quantizer_table();extern void   II_dequantize_sample();extern void   I_dequantize_sample();extern void   read_scale_factor();extern void   II_denormalize_sample();extern void   I_denormalize_sample();extern void   create_syn_filter();extern int    SubBandSynthesis ();extern void   read_syn_window();extern void   window_sample();extern void   out_fifo();extern void   buffer_CRC();extern void   recover_CRC_error();extern void   III_dequantize_sample();extern void   III_antialias();extern void   inv_mdct();extern void   III_hybrid();#endif

⌨️ 快捷键说明

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