⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 encoder.h

📁 ISO mp3 sources (distribution 10) Layer 1/2/3, C Source, 512 k Sources of the Mpeg 1,2 layer 1,2
💻 H
📖 第 1 页 / 共 2 页
字号:
extern void 	   II_scale_factor_calc1 (double (*sb_sample)[3][12][SBLIMIT], unsigned int (*scalar)[3][SBLIMIT],					int sblimit, int dim);extern void        pick_scale (unsigned int (*scalar)[3][SBLIMIT], frame_params *fr_ps, double (*max_sc)[SBLIMIT],					int cha_sw, int aug_cha_sw, int aiff);extern void        put_scale (unsigned int (*scalar)[3][SBLIMIT], frame_params *fr_ps, double (*max_sc)[SBLIMIT]);extern void        II_transmission_pattern (unsigned int (*scalar)[3][SBLIMIT], unsigned int (*scfsi)[SBLIMIT],					frame_params *fr_ps);extern void II_encode_scale (unsigned int (*bit_alloc)[SBLIMIT],			     unsigned int (*scfsi)[SBLIMIT],			     unsigned int (*scalar)[3][SBLIMIT],			     unsigned int lfe_alloc, 			     unsigned int lfe_scalar, 			     frame_params *fr_ps,			     Bit_stream_struc *bs,			     int *l,			     int *z);extern void        I_encode_scale (unsigned int (*scalar)[3][SBLIMIT], unsigned int (*bit_alloc)[SBLIMIT],				    frame_params *fr_ps, Bit_stream_struc *bs);extern int         II_bits_for_nonoise (double (*perm_smr)[SBLIMIT], unsigned int (*scfsi)[SBLIMIT],				    frame_params *fr_ps, int a, int b, int *aiff);extern void	   II_main_bit_allocation (double (*perm_smr)[SBLIMIT],					   double (*ltmin)[SBLIMIT],					   unsigned int (*scfsi)[SBLIMIT],					   unsigned int (*bit_alloc)[SBLIMIT],					   int *adb,					   frame_params *fr_ps,					   int *aiff,					   double (*sb_sample)[3][12][SBLIMIT],					   unsigned int (*scalar)[3][SBLIMIT],					   double (*max_sc)[SBLIMIT],					   double (*buffer)[1152],					   double (*spiki)[SBLIMIT],					   double (*joint_sample)[3][12][SBLIMIT],					   unsigned int (*j_scale)[3][SBLIMIT], 					   int dyn_cr, 					   int aug_dyn_cr, 					   unsigned int (*scfsi_dyn)[SBLIMIT], 					   unsigned int (*scalar_dyn)[3][SBLIMIT]);extern int         II_a_bit_allocation (double (*perm_smr)[SBLIMIT],					unsigned int (*scfsi)[SBLIMIT],					unsigned int (*bit_alloc)[SBLIMIT],					int *adb,					frame_params *fr_ps,					int *aiff);extern int         I_bits_for_nonoise (double (*perm_smr)[SBLIMIT], frame_params *fr_ps);extern void        I_main_bit_allocation (double (*perm_smr)[SBLIMIT], unsigned int (*bit_alloc)[SBLIMIT],					  int *adb, frame_params *fr_ps);extern int         I_a_bit_allocation (double (*perm_smr)[SBLIMIT], unsigned int (*bit_alloc)[SBLIMIT],				       int *adb, frame_params *fr_ps);extern void        I_subband_quantization (unsigned int (*scalar)[3][SBLIMIT],					   double (*sb_samples)[3][12][SBLIMIT],					   unsigned int (*j_scale)[3][SBLIMIT],					   double (*j_samps)[3][12][SBLIMIT],					   unsigned int (*bit_alloc)[SBLIMIT],					   unsigned int (*sbband)[3][12][SBLIMIT],					   frame_params *fr_ps);extern void        II_subband_quantization (unsigned int (*scalar)[3][SBLIMIT],					    double (*sb_samples)[3][12][SBLIMIT],					    unsigned int (*j_scale)[3][SBLIMIT],					    double (*j_samps)[3][12][SBLIMIT],					    unsigned int (*bit_alloc)[SBLIMIT],					    unsigned int (*sbband)[3][12][SBLIMIT],					    frame_params *fr_ps);extern void        II_subband_quantization_mc (unsigned int (*scalar)[3][SBLIMIT],					       double (*sb_samples)[3][12][SBLIMIT],					       unsigned int (*j_scale)[3][SBLIMIT],					       double (*j_samps)[3][12][SBLIMIT],					       unsigned int (*bit_alloc)[SBLIMIT],					       unsigned int (*sbband)[3][12][SBLIMIT],					       frame_params *fr_ps);#ifdef Augmentation_7chextern void        II_subband_quantization_aug (unsigned int (*scalar)[3][SBLIMIT],						double (*sb_samples)[3][12][SBLIMIT],						unsigned int (*j_scale)[3][SBLIMIT],						double (*j_samps)[3][12][SBLIMIT],						unsigned int (*bit_alloc)[SBLIMIT],						unsigned int (*sbband)[3][12][SBLIMIT],						frame_params *fr_ps);#endifextern void        I_encode_bit_alloc (unsigned int (*bit_alloc)[SBLIMIT], frame_params *fr_ps, Bit_stream_struc *bs);extern void        II_encode_bit_alloc (unsigned int (*bit_alloc)[SBLIMIT], frame_params *fr_ps, Bit_stream_struc *bs);extern void        II_encode_bit_alloc_mc (unsigned int (*bit_alloc)[SBLIMIT], frame_params *fr_ps, Bit_stream_struc *bs);#ifdef Augmentation_7chextern void        II_encode_bit_alloc_aug (unsigned int (*bit_alloc)[SBLIMIT], frame_params *fr_ps, Bit_stream_struc *bs);#endifextern void        I_sample_encoding (unsigned int (*sbband)[3][12][SBLIMIT],				      unsigned int (*bit_alloc)[SBLIMIT],				      frame_params *fr_ps,				      Bit_stream_struc *bs);extern void        II_sample_encoding (unsigned int (*sbband)[3][12][SBLIMIT],				       unsigned int (*bit_alloc)[SBLIMIT],				       frame_params *fr_ps,				       Bit_stream_struc *bs);extern void        II_sample_encoding_mc (unsigned int (*sbband)[3][12][SBLIMIT],					  unsigned int lfe_sbband[12],					  unsigned int (*bit_alloc)[SBLIMIT],					  unsigned int lfe_alloc,					  frame_params *fr_ps,					  Bit_stream_struc *bs);#ifdef Augmentation_7chextern void        II_sample_encoding_aug (unsigned int (*sbband)[3][12][SBLIMIT],					   unsigned int (*bit_alloc)[SBLIMIT],					   frame_params *fr_ps,					   Bit_stream_struc *bs);#endifextern void        encode_CRC (unsigned int crc, Bit_stream_struc *bs);extern void	   ancillary_encode (frame_params*,Bit_stream_struc*,int);extern void	   matricing_fft (double (*buffer)[1152], double (*buffer_matr)[1152], frame_params *fr_ps);#ifdef Augmentation_7chextern void	   matricing_aug_fft (double (*buffer)[1152], double (*buffer_matr)[1152], frame_params *fr_ps);#endifextern void        tc_alloc (frame_params *fr_ps, double (*max_sc)[SBLIMIT]);extern int         II_bits_for_indi (double (*perm_smr)[SBLIMIT], unsigned int (*scfsi)[SBLIMIT], frame_params *fr_ps, int *a, int *b, int *aiff);extern int         required_bits ();extern int         max_alloc (); /* The following functions are in the file "tonal.c" */extern void        read_cbound(int lay, int freq, int crit_band, int *cbound);extern void        read_freq_band(int *sub_size, g_ptr *ltg, int lay, int freq);extern void        make_map(int sub_size, mask *power, g_thres *ltg);extern double      add_db(double a, double b);extern void        II_f_f_t(double *sample, mask *power);extern void        II_hann_win(double *sample);extern void        II_pick_max(mask *power, double *spike);extern void        II_tonal_label(mask *power, int *tone);extern void        noise_label(int crit_band, int *cbound, mask *power, int *noise, g_thres *ltg);extern void        subsampling(mask *power, g_thres *ltg, int *tone, int *noise);extern void        threshold(int sub_size, mask *power, g_thres *ltg, int *tone, int *noise, int bit_rate);extern void        II_minimum_mask(int sub_size, g_thres *ltg, double *ltmin, int sblimit);extern void        II_smr(double *ltmin, double *smr, double *spike, double *scale, int sblimit, int l, int m);extern void        II_Psycho_One(double (*buffer)[1152], double (*scale)[SBLIMIT], double (*ltmin)[SBLIMIT], frame_params *fr_ps, double (*smr)[SBLIMIT], double (*spiki)[SBLIMIT], int aiff);extern void        I_f_f_t(double *sample, mask *power);extern void        I_hann_win(double *sample);extern void        I_pick_max(mask *power, double *spike);extern void        I_tonal_label(mask *power, int *tone);extern void        I_minimum_mask(int sub_size, g_thres *ltg, double *ltmin);extern void        I_smr(double *ltmin, double *spike, double *scale);extern void        I_Psycho_One(double (*buffer)[1152], double (*scale)[SBLIMIT], double (*ltmin)[SBLIMIT], frame_params *fr_ps);extern double      non_lin_add(double a, double b, double c);/* The following functions are in the file "psy.c" */extern void        psycho_anal(double *buffer, short int *savebuf, int chn, int lay, float *snrSBLIMIT, double sfreq);extern void        read_absthr(float *absthr, long int table);/* The following functions are in the file "subs.c" */extern void        fft(float *x_real, float *x_imag, float *energy, float *phi);/* The following functions are in the file "predisto.c" */void matri (	double (*sbs_sample)[3][12][SBLIMIT],	frame_params *fr_ps,	double (*sb_sample)[3][12][SBLIMIT],	unsigned int (*scalar)[3][SBLIMIT],	int sblimit,	unsigned int (*scfsi)[SBLIMIT],	unsigned int (*scfsi_dyn)[SBLIMIT],	unsigned int (*bit_alloc)[SBLIMIT],	unsigned int (*subband)[3][12][SBLIMIT]);void trans_pattern (	unsigned int (*scalar)[3][SBLIMIT],	unsigned int (*scfsi)[SBLIMIT],	frame_params *fr_ps,	unsigned int (*scfsi_dyn)[SBLIMIT]);void pre_quant (	double (*sbs_sample)[3][12][SBLIMIT],	int l,	int m,	double (*sb_sample)[3][12][SBLIMIT],	unsigned int (*scalar)[3][SBLIMIT],	unsigned int (*bit_alloc)[SBLIMIT],	unsigned int (*subband)[3][12][SBLIMIT],	frame_params *fr_ps);void II_dequantize_sample (	unsigned int (*sample)[3][SBLIMIT],	unsigned int (*bit_alloc)[SBLIMIT],	double (*fraction)[3][12][SBLIMIT],	frame_params *fr_ps,	int l,	int m,	int z);void II_denormalize_sample (	double (*fraction)[3][12][SBLIMIT],	unsigned int (*scale_index)[3][SBLIMIT],	frame_params *fr_ps,	int x,	int l,	int m,	int z);void scale_factor_calc (	unsigned int (*scalar)[3][SBLIMIT],	int sblimit,	int l,	int m,	int z,	double (*sb_sample)[3][12][SBLIMIT]);void predistortion (		    double (*sb_sample)[3][12][32], 		    unsigned int (*scalar)[3][32], 		    unsigned int (*bit_alloc)[32], 		    unsigned int (*subband)[3][12][32], 		    frame_params *fr_ps, 		    double (*perm_smr)[32], 		    unsigned int (*scfsi)[32], 		    int *adb, 		    unsigned int (*scfsi_dyn)[32]		    );/* The following functions are in the file "dyn_cross.c" */void take_dyn_cross (	int		dyn_cr,		frame_params	*fr_ps,  		    	double		sb_sample_sum[5][3][SCALE_BLOCK][SBLIMIT], 	        	unsigned int	scalar_sum[][3][SBLIMIT], 				unsigned int	scfsi_sum[][SBLIMIT],  					unsigned int	scfsi_dyn[][SBLIMIT],  					double		sb_sample[CHANMAX3][3][SCALE_BLOCK][SBLIMIT],		unsigned int	scalar[][3][SBLIMIT], 					unsigned int	scfsi[][SBLIMIT]	);	#ifdef Augmentation_7chvoid take_dyn_cross_aug (	int		aug_dyn_cr,		frame_params	*fr_ps,  		    	double		sb_sample_sum[5][3][SCALE_BLOCK][SBLIMIT], 	        	unsigned int	scalar_sum[][3][SBLIMIT], 				unsigned int	scfsi_sum[][SBLIMIT],  					unsigned int	scfsi_dyn[][SBLIMIT],  					double		sb_sample[CHANMAX3][3][SCALE_BLOCK][SBLIMIT],		unsigned int	scalar[][3][SBLIMIT], 					unsigned int	scfsi[][SBLIMIT]	);#endif	void trans_chan (frame_params *fr_ps);#ifdef Augmentation_7chvoid trans_chan_aug (frame_params *fr_ps);#endif	 				void combine (frame_params *fr_ps, double sb_sample[CHANMAX3][3][SCALE_BLOCK][SBLIMIT],	      double sb_sample_sum[5][3][SCALE_BLOCK][SBLIMIT]);#ifdef Augmentation_7chvoid combine_aug (frame_params *fr_ps, double sb_sample[CHANMAX3][3][SCALE_BLOCK][SBLIMIT],		  double sb_sample_sum[5][3][SCALE_BLOCK][SBLIMIT]);#endif	void dyn_bal (	unsigned int	scfsi[CHANMAX3][SBLIMIT],  	int		sbgr,			    	frame_params	*fr_ps,	int		min_ch,			    	int		min_sb,			   	int		*seli,			    	int		*scale	);	#ifdef Augmentation_7chvoid dyn_bal_aug (	unsigned int	scfsi[CHANMAX3][SBLIMIT],  	int		sbgr,			    	frame_params	*fr_ps,	int		min_ch,			    	int		min_sb,			   	int		*seli,			    	int		*scale	);#endifvoid choose_dyn (	frame_params	*fr_ps, 	int		min_ch,					int		min_sb,					int		sbgr, 					unsigned int	bit_alloc[CHANMAX3][SBLIMIT]	);					    #ifdef Augmentation_7chvoid choose_dyn_aug (	frame_params	*fr_ps, 	int		min_ch,					int		min_sb,					int		sbgr, 					unsigned int	bit_alloc[CHANMAX3][SBLIMIT]	);	#endif			    void scfsi_calc_dyn (	unsigned int	scalar_dyn[][3][SBLIMIT],   	int		ch, 			    	int		sblimit,		    	unsigned int	scfsi_dyn[][SBLIMIT]	);	 	    void scfsi_calc (	unsigned int	scalar[][3][SBLIMIT], 		int		ch, 				int		sblimit,			unsigned int	scfsi[][SBLIMIT]	);	 	void scf_calc (	double		sample[][3][SCALE_BLOCK][SBLIMIT], 	int		sblimit,			int		ch,				unsigned int	scf[][3][SBLIMIT]	);	/* The following functions are in the file "lfe.c" */extern void        lfe_filter(double**,double[12]);extern void        lf_scalefactor(double[12],unsigned int*);extern void        II_encode_lfe_scale(unsigned int, Bit_stream_struc*);extern void        lfe_allocation(unsigned int*,int*);extern void        II_lfe_quantisation(unsigned int,double[12],                                       unsigned int, unsigned int[12],                                       frame_params*);extern void        II_encode_lfe_alloc(unsigned int, frame_params*, Bit_stream_struc*);extern void        II_lfe_sample_encoding(unsigned int[12],                                       unsigned int, frame_params*,                                       Bit_stream_struc*);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -