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];