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

📄 mvmb.h

📁 优化过的xvid1.1.2源代码
💻 H
字号:
#ifndef __MVMB_H__
#define __MVMB_H__

/* extracted from Mbprediction.c 
*wuhaibin 20070122*/
int __inline rescale(int predict_quant,	int current_quant, int coeff)
{
	return (coeff != 0)? DIV_DIV((coeff)*(predict_quant), (current_quant)) : 0;
}

/* extracted from MbCoding.h 
*wuhaibin 20070122*/
int get_mcbpc_intra(Bitstream * bs);
int get_mcbpc_inter(Bitstream * bs);

/* extracted from MbCoding.c 
*wuhaibin 20070122*/
int get_cbpy(Bitstream * bs, int intra);

int32_t get_mbtype(Bitstream * bs);

int get_dc_size_lum(Bitstream * bs);
int get_dc_size_chrom(Bitstream * bs);

/* extracted from MbCoding.h 
*wuhaibin 20070122*/
int get_dc_dif(Bitstream * bs, uint32_t dc_size);

/* extracted from Mbprediction.c 
*wuhaibin 20070122*/
void predict_acdc(MACROBLOCK * pMBs,
					 uint32_t x,
					 uint32_t y,
					 uint32_t mb_width,
					 uint32_t block,
					 int16_t qcoeff[64],
					 uint32_t current_quant,
					 int32_t iDcScaler,
					 int16_t predictors[8],
					 const int bound);

void add_acdc(MACROBLOCK * pMB, uint32_t block,
		 					int16_t dct_codes[64], uint32_t iDcScaler,
		 					int16_t predictors[8], const int bsversion);

/* extracted from decoder.c 
*wuhaibin 20070122*/
void decoder_mbintra(DECODER * dec,
							        MACROBLOCK * pMB,
							        const uint32_t x_pos,
							        const uint32_t y_pos,
							        const uint32_t acpred_flag,
							        const uint32_t cbp,
							        Bitstream * bs,
							        const uint32_t quant,
							        const uint32_t intra_dc_threshold,
							        const unsigned int bound);

void decoder_mbinter(DECODER * dec,
							        const MACROBLOCK * pMB,
							        const uint32_t x_pos,
							        const uint32_t y_pos,
							        const uint32_t cbp,
							        Bitstream * bs,
							        const uint32_t rounding,
							        const int ref,
											const int bvop);
																		        
void  decoder_mb_decode(DECODER * dec,
								        const uint32_t cbp,
								        Bitstream * bs,
								        uint8_t * pY_Cur,
								        uint8_t * pU_Cur,
								        uint8_t * pV_Cur,
								        const MACROBLOCK * pMB);

void decoder_mbinter_field(DECODER * dec,
										        const MACROBLOCK * pMB,
										        const uint32_t x_pos,
										        const uint32_t y_pos,
										        const uint32_t cbp,
										        Bitstream * bs,
										        const uint32_t rounding,
										        const int ref,
														const int bvop);
																						        
void decoder_mbgmc(DECODER * dec,
						        MACROBLOCK * const pMB,
						        const uint32_t x_pos,
						        const uint32_t y_pos,
						        const uint32_t fcode,
						        const uint32_t cbp,
						        Bitstream * bs,
						        const uint32_t rounding);

void decoder_bf_interpolate_mbinter(DECODER * dec,
									IMAGE forward,
									IMAGE backward,
									MACROBLOCK * pMB,
									const uint32_t x_pos,
									const uint32_t y_pos,
									Bitstream * bs,
									const int direct);

#endif

⌨️ 快捷键说明

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