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

📄 mvcommon.h

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

#include "MVGlobal.h"
/* these functions is common in decoder, they include 
*  dequantity, find vol vop header and so on */

/* find vol & vop header in bitstream,
*  return vol or vop header value VIDOBJLAY_START_CODE 
*  and VOP_START_CODE 20070122 wuhaibin 
*/
int 			mavrix_fine_start_code(Bitstream * bs);

/* extracted from the bitstream.c file, the older version 
*  the function is static ,now I modified it 
* 20070122 wuhaibin
*/
uint32_t        log2bin(uint32_t value);

/* these functions is relate to dequant, they extracted from
* the quant_matrix.c file 
* 20070122 wuhaibin
*/
const 		uint16_t *get_intra_matrix(const uint16_t * mpeg_quant_matrices);
const 		uint16_t *get_inter_matrix(const uint16_t * mpeg_quant_matrices);

const 		uint8_t  *get_default_intra_matrix(void);
const 		uint8_t  *get_default_inter_matrix(void);

void 		set_intra_matrix(uint16_t * mpeg_quant_matrices, const uint8_t * matrix);
void 		set_inter_matrix(uint16_t * mpeg_quant_matrices, const uint8_t * matrix);

/*from the MbCoding.c wuhaibin 20070122*/
int 		bs_get_spritetrajectory(Bitstream * bs);

/*from the MbCoding.h wuhaibin 20070122*/
int 		check_resync_marker(Bitstream * bs, int addbits);

/*from the global.h wuhaibin 20070122*/
uint32_t    get_dc_scaler(uint32_t quant, uint32_t lum);

/*from the dequant_h263.c, the convertion is 
* quant_h263_intra_c -> quant_h263_intra
* dequant_h263_intra_c -> dequant_h263_intra
*wuhaibin 20070122*/

  uint32_t     quant_h263_intra(int16_t * coeff,
						   const int16_t * data,
						   const uint32_t quant,
						   const uint32_t dcscalar,
						   const uint16_t * mpeg_quant_matrices);
						   
int 		dequant_h263_intra(int16_t * data,
								const int16_t * coeff,
								const uint32_t quant,
								const uint32_t dcscalar,
								const uint16_t * mpeg_quant_matrices);

/*from quant_mpeg.c the name is converted
* quant_mpeg_intra -> quant_mpeg_intra_c
* quant_mpeg_inter -> quant_mpeg_inter_c
* dequant_mpeg_intra_c ->dequant_mpeg_intra
* dequant_mpeg_inter_c->dequant_mpeg_inter*/

uint32_t    quant_mpeg_intra(int16_t * coeff,
						   const int16_t * data,
						   const uint32_t quant,
						   const uint32_t dcscalar,
						   const uint16_t * mpeg_quant_matrices);


uint32_t quant_mpeg_inter(int16_t * coeff,
						   const int16_t * data,
						   const uint32_t quant,
						   const uint16_t * mpeg_quant_matrices);

uint32_t dequant_mpeg_intra(int16_t * data,
							 const int16_t * coeff,
							 const uint32_t quant,
							 const uint32_t dcscalar,
							 const uint16_t * mpeg_quant_matrices);

uint32_t dequant_mpeg_inter(int16_t * data,
							 const int16_t * coeff,
							 const uint32_t quant,
							 const uint16_t * mpeg_quant_matrices);

/* from the quant_matrix.c*/ 
void	init_mpeg_matrix(uint16_t * mpeg_quant_matrices);

#endif

⌨️ 快捷键说明

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