?? mpegsub.i
字號:
typedef struct { long (*open)(char *stream_name, long buffer_size, long *stream_size); void (*close)(long handle); long (*read)(long handle, void *buffer, long num_bytes); int (*seek)(long handle, long abs_byte_seek_pos);} BITSTREAM_ACCESS;typedef struct { BITSTREAM_ACCESS baccess; long file_handle; long buffer_size; unsigned int *buffer; unsigned int *buffer_ptr; long remain_bytes; long bitstream_size; int end_of_stream; unsigned int bit_cache; int cache_size; unsigned int bits; long buffer_len; long buffer_pos;} BITSTREAM;extern BITSTREAM *BSTR_open(BITSTREAM_ACCESS *bs_access, char *filename, long buffer_size);extern unsigned long BSTR_read_byte(BITSTREAM *b);extern unsigned int BSTR_read_bytes(BITSTREAM *b, unsigned int count, char *buffer);extern unsigned long BSTR_read_bit_cache(BITSTREAM *bitstream);extern unsigned long BSTR_read_bits_cache(BITSTREAM *bitstream, unsigned int bit_count);extern void BSTR_close(BITSTREAM *bitstream);extern int BSTR_seek( BITSTREAM *bitstream, long seek_byte_pos );extern long BSTR_pos( BITSTREAM *bitstream ); # 31 "mpegaud.h" 2# 1 "huff.h" 1 typedef struct { int buffer_size; unsigned char *buffer; int write_index; int read_index; unsigned long bit_cache; int cache_size; unsigned long bits; INT16 nul_begin; } HUFFMAN; extern HUFFMAN *HUFF_open(void);extern void HUFF_close(HUFFMAN *h);extern int HUFF_reset(HUFFMAN *h);extern void HUFF_fill_bytes(HUFFMAN *h, unsigned int count, char *buffer);extern int HUFF_set_start(HUFFMAN *h, int start_pos);extern int HUFF_seek(HUFFMAN *h, int seek_pos);extern int HUFF_decode_pair(HUFFMAN *h, INT16 table, INT16 count, INT16 *x);extern int HUFF_decode_quad(HUFFMAN *h, INT16 table, INT16 max_bits, INT16 val_count, INT16 val_top, INT16 *x);extern unsigned long HUFF_read_bit_cache(HUFFMAN *h);extern unsigned long HUFF_read_bits_cache(HUFFMAN *h, unsigned int count); # 32 "mpegaud.h" 2 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 "mpegsub.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 );
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -