📄 mpegimdc.i
字号:
typedef struct { INT16 ID; INT16 layer; INT16 protection_bit; INT16 bitrate_index; INT16 sampling_frequency; BOOL padding_bit; BOOL private_bit; INT16 mode; INT16 mode_extension; BOOL copyright; BOOL original; INT16 emphasis; INT16 crc_check; BOOL half_freq; INT32 header_pos;} MPA_HEADER; typedef struct { UINT16 part2_3_length; UINT16 big_values; UINT16 global_gain; UINT16 scalefac_compress; BOOL window_switching_flag; UINT16 block_type; BOOL mixed_block_flag; UINT16 table_select[ 3 ]; UINT16 subblock_gain[ 3 ]; UINT16 region0_count; UINT16 region1_count; BOOL preflag; BOOL scalefac_scale; UINT16 count1table_select; } MPA_GRANULE_INFO; typedef struct { UINT16 main_data_begin; UINT16 private_bits; struct { BOOL scfsi[4]; MPA_GRANULE_INFO gr[2 ]; } ch[2 ];} MPA_SIDE_INFO; typedef struct { UINT16 l[23]; UINT16 s[3 ][13];} MPA_SCALE_FAC3;# 1 "mpegsub.h" 1 # 1 "mpegtab.h" 1 typedef struct { UINT16 treelen; UINT16 xlen; UINT16 ylen; UINT16 linbits; UINT16 linmax; const unsigned char (*val)[2];} MPT_HUFF;extern const INT32 MPT_pow_4_3[8192];extern const INT32 MPT_multiple[64];extern const INT16 MPT_dewindow[512];extern const UINT16 MPT_freq[2][4];extern const INT16 MPT_bitrate[2][3][16];extern const INT16 MPT_sblimit[5];extern const INT16 MPT_jsbound[3][4]; extern const UINT8 MPT_alloc_0[][16];extern const UINT8 MPT_alloc_1[][16];extern const UINT8 MPT_alloc_2[][16];extern const UINT8 MPT_alloc_3[][16];extern const UINT8 MPT_alloc_4[][16]; # 31 "mpegsub.h" 2typedef struct { INT16 bb[2 ][2 * 512 ]; INT16 scaled_dewindow[512 ]; INT32 scaled_shift; INT32 scale_percent; INT16 b_offset[ 2 ]; INT16 freq_div; INT16 quality; INT16 w_begin; INT16 w_width; INT16 pcm_count;} MPEGSUB;extern int MPEGSUB_reset(MPEGSUB *mpegsub);extern MPEGSUB *MPEGSUB_open(INT16 freq_div, INT16 quality);extern void MPEGSUB_close(MPEGSUB *mpegsub);extern INT16 MPEGSUB_synthesis(MPEGSUB *mpegsub, INT16 *band_ptr, INT16 channel, INT16 *samples);extern int MPEGSUB_scale(MPEGSUB *mpegsub, INT32 scale_percent); # 156 "mpegaud.h" 2# 1 "mpegimdc.h" 1 typedef struct { INT16 prevblk[2][18*32];} MPEGIMDCT;extern MPEGIMDCT *MPEGIMDCT_open(void);extern void MPEGIMDCT_close(MPEGIMDCT *mpegimdct);extern int MPEGIMDCT_reset(MPEGIMDCT *mpegimdct);extern int MPEGIMDCT_hybrid(MPEGIMDCT *mpegimdct, INT16 *in, INT16 *out, INT16 block_type, BOOL mixed, INT16 ch, INT16 sb_max); # 157 "mpegaud.h" 2 typedef struct { const UINT8 (*alloc)[16]; INT16 bit_alloc[2 ][32 ]; INT32 scale[2 ][3 ][32 ]; UINT16 sample[2 ][3 ][32 ]; INT16 fraction[2 ][3 ][32 ]; INT16 is[576 ]; INT16 xr[2 ][576 ]; INT16 lr[2 ][576 ]; INT16 *pcm[2 ]; INT16 scfsi[2 ][32 ]; MPA_SCALE_FAC3 scale_fac3[2 ]; BITSTREAM *bitstream; HUFFMAN *huffman; MPEGSUB *mpegsub; MPEGIMDCT *mpegimdct; MPA_HEADER header; MPA_SIDE_INFO side_info; BOOL stereo; INT16 channels; UINT16 sfreq; UINT32 stream_size; INT16 bitrate; INT16 jsbound; INT16 sblimit; INT16 current_table; UINT32 frame; INT16 freq_div; INT16 quality; INT16 sb_max; BOOL force_mono; INT16 sfb_nul_l[2 ]; INT16 sfb_nul_s[3 ][2 ]; INT16 is_max_l[21]; INT16 is_max_s[3 ][12]; BOOL need_sync; INT16 imdct_max[2 ]; INT16 sfb_nul_s_top[3 ]; INT32 bitstream_start_pos; void *keyp;} MPA_STREAM; # 29 "mpegimdc.c" 2# 1 "/home/gerg/new-wave.5249/lib/libc/include/math.h" 1# 1 "/home/gerg/new-wave.5249/lib/libc/include/machine/__math.h" 1 # 450 "/home/gerg/new-wave.5249/lib/libc/include/machine/__math.h"# 1 "/home/gerg/new-wave.5249/lib/libm/mathf.h" 1typedef struct { float r; float i;} cmplxf;typedef struct { double r; double i;} cmplx; extern double fmod(double, double);extern double modf(double, double *);extern double acosh ( double x );extern int airy ( double x, double *ai, double *aip, double *bi, double *bip );extern double asin ( double x );extern double acos ( double x );extern double asinh ( double xx );extern double atan ( double x );extern double atan2 ( double y, double x );extern double atanh ( double x );extern double bdtrc ( int k, int n, double p );extern double bdtr ( int k, int n, double p );extern double bdtri ( int k, int n, double y );extern double beta ( double a, double b );extern double lbeta ( double a, double b );extern double btdtr ( double a, double b, double x );extern double cbrt ( double x );extern double chbevl ( double x, double array[], int n );extern double chdtrc ( double df, double x );extern double chdtr ( double df, double x );extern double chdtri ( double df, double y );extern void clog ( cmplx *z, cmplx *w );extern void cexp ( cmplx *z, cmplx *w );extern void csin ( cmplx *z, cmplx *w );extern void ccos ( cmplx *z, cmplx *w );extern void ctan ( cmplx *z, cmplx *w );extern void ccot ( cmplx *z, cmplx *w );extern void casin ( cmplx *z, cmplx *w );extern void cacos ( cmplx *z, cmplx *w );extern void catan ( cmplx *z, cmplx *w );extern void csinh ( cmplx *z, cmplx *w );extern void casinh ( cmplx *z, cmplx *w );extern void ccosh ( cmplx *z, cmplx *w );extern void cacosh ( cmplx *z, cmplx *w );extern void ctanh ( cmplx *z, cmplx *w );extern void catanh ( cmplx *z, cmplx *w );extern void cpow ( cmplx *a, cmplx *z, cmplx *w );extern void cadd ( cmplx *a, cmplx *b, cmplx *c );extern void csub ( cmplx *a, cmplx *b, cmplx *c );extern void cmul ( cmplx *a, cmplx *b, cmplx *c );extern void cdiv ( cmplx *a, cmplx *b, cmplx *c );extern void cmov ( void *a, void *b );extern void cneg ( cmplx *a );extern double cabs ( cmplx *z );extern void csqrt ( cmplx *z, cmplx *w );extern double hypot ( double x, double y );extern double cosh ( double x );extern double dawsn ( double xx );extern int drand ( double *a );extern double ei ( double x );extern double ellie ( double phi, double m );extern double ellik ( double phi, double m );extern double ellpe ( double x );extern int ellpj ( double u, double m, double *sn, double *cn, double *dn, double *ph );extern double ellpk ( double x );extern double exp ( double x );extern double exp10 ( double x );extern double exp2 ( double x );extern double expn ( int n, double x );extern double expx2 ( double x, int sign );extern double fabs ( double x );extern double fac ( int i );extern double fdtrc ( int ia, int ib, double x );extern double fdtr ( int ia, int ib, double x );extern double fdtri ( int ia, int ib, double y );extern int fresnl ( double xxa, double *ssa, double *cca );extern double gamma ( double x );extern double lgam ( double x );extern double gdtr ( double a, double b, double x );extern double gdtrc ( double a, double b, double x );extern double hyp2f1 ( double a, double b, double c, double x );extern double hyperg ( double a, double b, double x );extern double hyp2f0 ( double a, double b, double x, int type, double *err );extern double i0 ( double x );extern double i0e ( double x );extern double i1 ( double x );extern double i1e ( double x );extern double igami ( double, double );extern double incbet ( double aa, double bb, double xx );extern double incbi ( double aa, double bb, double yy0 );extern double igamc ( double a, double x );extern double igam ( double a, double x );extern int signbit ( double x );extern int isnan ( double x );extern int isfinite ( double x );extern double iv ( double v, double x );extern double j0 ( double x );extern double y0 ( double x );extern double j1 ( double x );extern double y1 ( double x );extern double jn ( int n, double x );extern double jv ( double n, double x );extern double k0 ( double x );extern double k0e ( double x );extern double k1 ( double x );extern double k1e ( double x );extern double kn ( int nn, double x );extern double smirnov ( int n, double e );extern double kolmogorov ( double y );extern double smirnovi ( int n, double p );extern double kolmogi ( double p );extern double log ( double x );extern double log2 ( double x );extern double log10 ( double x );extern long lrand ( void );extern double nbdtrc ( int k, int n, double p );extern double nbdtr ( int k, int n, double p );extern double nbdtri ( int k, int n, double p );extern double ndtr ( double a );extern double erfc ( double a );extern double erf ( double x );extern double ndtri ( double );extern double pdtrc ( int k, double m );extern double pdtr ( int k, double m );extern double pdtri ( int k, double y );extern double plancki ( double w, double T );extern double planckc ( double w, double T );extern double planckd ( double w, double T );extern double planckw ( double T );extern double polevl ( double x, double coef[], int N );extern double p1evl ( double x, double coef[], int N );extern void polatn ( double num[], double den[], double ans[], int nn );extern void polsqt ( double pol[], double ans[], int nn );extern void polsin ( double x[], double y[], int nn );extern void polcos ( double x[], double y[], int nn );extern double polylog ( int n, double x );extern void polini ( int maxdeg );extern void polprt ( double a[], int na, int d );extern void polclr ( double *a, int n );extern void polmov ( double *a, int na, double *b );extern void polmul ( double a[], int na, double b[], int nb, double c[] );extern void poladd ( double a[], int na, double b[], int nb, double c[] );extern void polsub ( double a[], int na, double b[], int nb, double c[] );extern int poldiv ( double a[], int na, double b[], int nb, double c[] );extern void polsbt ( double a[], int na, double b[], int nb, double c[] );extern double poleva ( double a[], int na, double x );extern double pow ( double x, double y );extern double powi ( double x, int nn );extern double psi ( double x );extern double rgamma ( double x );extern double round ( double x );extern int shichi ( double x, double *si, double *ci );extern int sici ( double x, double *si, double *ci );extern double sin ( double x );extern double cos ( double x );extern double radian ( double d, double m, double s );extern double sindg ( double x );extern double cosdg ( double x );extern double sinh ( double x );extern double spence ( double x );extern double stdtr ( int k, double t );extern double stdtri ( int k, double p );extern double onef2 ( double a, double b, double c, double x, double *err );extern double threef0 ( double a, double b, double c, double x, double *err );extern double struve ( double v, double x );extern double yv ( double v, double x );extern double tan ( double x );extern double cot ( double x );extern double tandg ( double x );extern double cotdg ( double x );extern double tanh ( double x );extern double log1p ( double x );extern double expm1 ( double x );extern double cosm1 ( double x );extern double yn ( int n, double x );extern double zeta ( double x, double q );extern double zetac ( double x );extern double sqrt ( double x );extern double ceil ( double x );extern double floor ( double x );extern double frexp ( double x, int *pw2 );extern double ldexp ( double x, int pw2 );extern int sprec ( void );extern int dprec ( void );extern int ldprec ( void );extern int mtherr ( char *name, int code ); extern float acosf ( float x );extern float acoshf ( float xx );extern int airyf ( float xx, float *ai, float *aip, float *bi, float *bip );extern float asinf ( float xx );extern float asinhf ( float xx );extern float atan2f ( float y, float x );extern float atanf ( float xx );extern float atanhf ( float xx );extern float bdtrcf ( int k, int n, float pp );extern float bdtrf ( int k, int n, float pp );extern float bdtrif ( int k, int n, float yy );extern float betaf ( float aa, float bb );extern float cabsf ( cmplxf *z );extern void cacosf ( cmplxf *z, cmplxf *w );extern void caddf ( cmplxf *a, cmplxf *b, cmplxf *c );extern void casinf ( cmplxf *z, cmplxf *w );extern void catanf ( cmplxf *z, cmplxf *w );extern float cbrtf ( float xx );extern void cchshf ( float xx, float *c, float *s );extern void ccosf ( cmplxf *z, cmplxf *w );extern void ccotf ( cmplxf *z, cmplxf *w );extern void cdivf ( cmplxf *a, cmplxf *b, cmplxf *c );extern float ceilf ( float x );extern void cexpf ( cmplxf *z, cmplxf *w );extern float chbevlf ( float x, float *array, int n );extern float chdtrcf ( float dff, float xx );extern float chdtrf ( float dff, float xx );extern float chdtrif ( float dff, float yy );extern void clogf ( cmplxf *z, cmplxf *w );extern void cmovf ( short *a, short *b );extern void cmulf ( cmplxf *a, cmplxf *b, cmplxf *c );extern void cnegf ( cmplxf *a );extern float cosdgf ( float xx );extern float cosf ( float xx );extern float coshf ( float xx );extern float cotdgf ( float x );extern float cotf ( float x );extern void csinf ( cmplxf *z, cmplxf *w );extern void csqrtf ( cmplxf *z, cmplxf *w );extern void csubf ( cmplxf *a, cmplxf *b, cmplxf *c );extern void ctanf ( cmplxf *z, cmplxf *w );extern float ctansf ( cmplxf *z );extern float dawsnf ( float xxx );extern int dprec ( void );extern float ellief ( float phia, float ma );extern float ellikf ( float phia, float ma );extern float ellpef ( float xx );extern int ellpjf ( float uu, float mm, float *sn, float *cn, float *dn, float *ph );extern float ellpkf ( float xx );extern float erfcf ( float aa );extern float erff ( float xx );extern float exp10f ( float xx );extern float exp2f ( float xx );extern float expf ( float xx );extern float expnf ( int n, float xx );extern float facf ( int i );extern float fdtrcf ( int ia, int ib, float xx );extern float fdtrf ( int ia, int ib, int xx );extern float fdtrif ( int ia, int ib, float yy );extern float floorf ( float x );extern void fresnlf ( float xxa, float *ssa, float *cca );extern float frexpf ( float x, int *pw2 );extern float gammaf ( float xx );extern float gdtrcf ( float aa, float bb, float xx );extern float gdtrf ( float aa, float bb, float xx );extern float hyp2f0f ( float aa, float bb, float xx, int type, float *err );extern float hyp2f1f ( float aa, float bb, float cc, float xx );extern float hypergf ( float aa, float bb, float xx );extern float i0ef ( float x );extern float i0f ( float x );extern float i1ef ( float xx );extern float i1f ( float xx );extern float igamcf ( float aa, float xx );extern float igamf ( float aa, float xx );extern float igamif ( float aa, float yy0 );extern float incbetf ( float aaa, float bbb, float xxx );extern float incbif ( float aaa, float bbb, float yyy0 );extern float incbpsf ( float aa, float bb, float xx );extern float ivf ( float v, float x );extern float j0f ( float xx );extern float j1f ( float xx );extern float jnf ( int n, float xx );extern float jvf ( float nn, float xx );extern float k0ef ( float xx );extern float k0f ( float xx );extern float k1ef ( float xx );extern float k1f ( float xx );extern float knf ( int nnn, float xx );extern float ldexpf ( float x, int pw2 );extern int ldprec ( void );extern float lgamf ( float xx );extern float log10f ( float xx );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -