www.pudn.com > mediator15src.zip > mpg123.h


/* 
 * mpg123 defines  
 * used source: musicout.h from mpegaudio package 
 */ 
 
#define M_PI    3.14159265358979323846 
#define M_SQRT2	1.41421356237309504880 
 
#define SBLIMIT                 32 
#define SCALE_BLOCK             12 
#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 
 
struct al_table  
{ 
  short bits; 
  short d; 
}; 
 
struct frame { 
    int stereo; 
    int jsbound; 
    int lsf; 
    int mpeg25; 
    int lay; 
    int error_protection; 
    int bitrate_index; 
    int sampling_frequency; 
    int sample_rate; 
    int padding; 
    int extension; 
    int mode; 
    int mode_ext; 
    int copyright; 
    int original; 
    int emphasis; 
    int framesize; /* computed framesize */ 
 
    /* layer2 stuff */ 
    int II_sblimit; 
    struct al_table *alloc; 
}; 
 
/* extern unsigned int get1bit(void); */ 
extern void init_getbits(unsigned char *framedata); 
extern unsigned int getbits(int); 
/* extern unsigned int getbits_fast(int); */ 
 
extern int do_layer2( struct frame   *fr, 
                      unsigned char  *framedata, 
                      short *sampledata ); 
extern int do_layer1( struct frame   *fr, 
                      unsigned char  *framedata, 
                      short *sampledata ); 
 
extern void synth_1to1(float *,int,unsigned char *,int *); 
extern void synth_1to1_mono(float *,unsigned char *,int *); 
 
extern int decode_header(struct frame *fr, unsigned long header); 
 
extern void init_layer2(void); 
extern void make_decode_tables(long scale); /* 32768 */ 
extern void dct64(float *,float *,float *); 
 
extern float muls[27][64]; 
extern float decwin[512+32]; 
extern float *pnts[5];