📄 mpglib_internal.h
字号:
#ifndef _MPGLIB_INTERNAL_H_#define _MPGLIB_INTERNAL_H_#include <mpglib.h>#include "mpglib_config.h"#include <glib.h>struct buf { unsigned char *pnt; long size; long pos;};struct framebuf { struct buf *buf; long pos; struct frame *next; struct frame *prev;};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 */ /* layer2 stuff */ int II_sblimit; void *alloc;};struct mpglib_decoder_struct { GList *buffers; int bsize; int framesize; int fsizeold; struct frame fr; //unsigned char bsspace[2][MAXFRAMESIZE+512]; /* MAXFRAMESIZE */ unsigned char *bsspace[2]; real hybrid_block[2][2][SBLIMIT*SSLIMIT]; int hybrid_blc[2]; unsigned long header; int bsnum; real synth_buffs[2][2][0x110]; int synth_bo;};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 getbits(int);extern unsigned int getbits_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 do_layer2(struct frame *fr,unsigned char *,int *);extern int do_layer1(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;#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -