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

📄 mpg123.h

📁 神龙卡开发原代码
💻 H
字号:
#include        <stdio.h>#include        <string.h>#include        <signal.h>#ifndef WIN32#include        <sys/signal.h>#include        <unistd.h>#endif#include        <math.h>#ifdef _WIN32# undef WIN32# define WIN32# define M_PI       3.14159265358979323846# define M_SQRT2	1.41421356237309504880# define REAL_IS_FLOAT# define NEW_DCT9# define random rand# define srandom srand#endif#ifdef REAL_IS_FLOAT#  define real float#elif defined(REAL_IS_LONG_DOUBLE)#  define real long double#else#  define real double#endif#ifdef __GNUC__#define INLINE inline#else#define INLINE#endif/* AUDIOBUFSIZE = n*64 with n=1,2,3 ...  */#define		AUDIOBUFSIZE		16384#define         FALSE                   0#define         TRUE                    1#define         SBLIMIT                 32#define         SSLIMIT                 18#define         MPG_MD_STEREO           0#define         MPG_MD_JOINT_STEREO     1#define         MPG_MD_DUAL_CHANNEL     2#define         MPG_MD_MONO             3#define MAXFRAMESIZE 1792/* Pre Shift fo 16 to 8 bit converter table */#define AUSHIFT (3)struct frame {    int stereo;    int jsbound;    int single;    int lsf;    int mpeg25;    int header_change;    int lay;    int error_protection;    int bitrate_index;    int sampling_frequency;    int padding;    int extension;    int mode;    int mode_ext;    int copyright;    int original;    int emphasis;    int framesize; /* computed framesize */};struct parameter {	int quiet;	/* shut up! */	int tryresync;  /* resync stream after error */	int verbose;    /* verbose level */	int checkrange;};extern unsigned int   get1bit(void);extern unsigned int   MP3getbits(int);extern unsigned int   MP3getbits_fast(int);extern int set_pointer(long);extern unsigned char *wordpointer;extern int bitindex;extern void make_decode_tables(long scaleval);extern int do_layer3(struct frame *fr,unsigned char *,int *);extern int decode_header(struct frame *fr,unsigned long newhead);struct gr_info_s {      int scfsi;      unsigned part2_3_length;      unsigned big_values;      unsigned scalefac_compress;      unsigned block_type;      unsigned mixed_block_flag;      unsigned table_select[3];      unsigned subblock_gain[3];      unsigned maxband[3];      unsigned maxbandl;      unsigned maxb;      unsigned region1start;      unsigned region2start;      unsigned preflag;      unsigned scalefac_scale;      unsigned count1table_select;      real *full_gain[3];      real *pow2gain;};struct III_sideinfo{  unsigned main_data_begin;  unsigned private_bits;  struct {    struct gr_info_s gr[2];  } ch[2];};extern int synth_1to1 (real *,int,unsigned char *,int *);extern int synth_1to1_8bit (real *,int,unsigned char *,int *);extern int synth_1to1_mono (real *,unsigned char *,int *);extern int synth_1to1_mono2stereo (real *,unsigned char *,int *);extern int synth_1to1_8bit_mono (real *,unsigned char *,int *);extern int synth_1to1_8bit_mono2stereo (real *,unsigned char *,int *);extern int synth_2to1 (real *,int,unsigned char *,int *);extern int synth_2to1_8bit (real *,int,unsigned char *,int *);extern int synth_2to1_mono (real *,unsigned char *,int *);extern int synth_2to1_mono2stereo (real *,unsigned char *,int *);extern int synth_2to1_8bit_mono (real *,unsigned char *,int *);extern int synth_2to1_8bit_mono2stereo (real *,unsigned char *,int *);extern int synth_4to1 (real *,int,unsigned char *,int *);extern int synth_4to1_8bit (real *,int,unsigned char *,int *);extern int synth_4to1_mono (real *,unsigned char *,int *);extern int synth_4to1_mono2stereo (real *,unsigned char *,int *);extern int synth_4to1_8bit_mono (real *,unsigned char *,int *);extern int synth_4to1_8bit_mono2stereo (real *,unsigned char *,int *);extern int synth_ntom (real *,int,unsigned char *,int *);extern int synth_ntom_8bit (real *,int,unsigned char *,int *);extern int synth_ntom_mono (real *,unsigned char *,int *);extern int synth_ntom_mono2stereo (real *,unsigned char *,int *);extern int synth_ntom_8bit_mono (real *,unsigned char *,int *);extern int synth_ntom_8bit_mono2stereo (real *,unsigned char *,int *);extern void rewindNbits(int bits);extern int  hsstell(void);extern int get_songlen(struct frame *fr,int no);extern void init_layer3(int);extern void init_layer2(void);extern void make_decode_tables(long scale);extern void make_conv16to8_table(int);extern void dct64(real *,real *,real *);extern void synth_ntom_set_step(long,long);extern unsigned char *conv16to8;extern long freqs[9];extern real muls[27][64];extern real decwin[512+32];extern real *pnts[5];extern struct parameter param;

⌨️ 快捷键说明

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