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

📄 xvid_enc_dec.h

📁 视频监控vc源代码.对于做视频系统的朋友们很有帮助
💻 H
字号:
#pragma once
#include "xvid.h"
#include "sync.h"
#include "common.h"

#pragma comment(lib, "xvid.lib")

#define NULL 0

static int const motion_presets[7] = {
	0,                                                       
	PMV_EARLYSTOP16,                                       
	PMV_EARLYSTOP16,                                       
	PMV_EARLYSTOP16 | PMV_HALFPELREFINE16,                 
	PMV_EARLYSTOP16 | PMV_HALFPELREFINE16,                   
	PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EARLYSTOP8 | 
	PMV_HALFPELREFINE8,
	PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EXTSEARCH16 |
	PMV_USESQUARES16 | PMV_EARLYSTOP8 | PMV_HALFPELREFINE8
};

static int const general_presets[7] = {
	XVID_H263QUANT,	                              
	XVID_MPEGQUANT,                              
	XVID_H263QUANT,                             
	XVID_H263QUANT | XVID_HALFPEL,               
	XVID_H263QUANT | XVID_HALFPEL | XVID_INTER4V, 
	XVID_H263QUANT | XVID_HALFPEL | XVID_INTER4V,
	XVID_H263QUANT | XVID_HALFPEL | XVID_INTER4V  
};

static int const greyscale_presets[7] = {
	XVID_H263QUANT | XVID_GREYSCALE,	                            
	XVID_MPEGQUANT | XVID_GREYSCALE,                               
	XVID_H263QUANT | XVID_GREYSCALE,                             
	XVID_H263QUANT | XVID_HALFPEL,               
	XVID_H263QUANT | XVID_HALFPEL | XVID_INTER4V | XVID_GREYSCALE, 
	XVID_H263QUANT | XVID_HALFPEL | XVID_INTER4V | XVID_GREYSCALE, 
	XVID_H263QUANT | XVID_HALFPEL | XVID_INTER4V | XVID_GREYSCALE  
};

static int   ARG_QUALITY = 6;
static int   ARG_MINQUANT = 1;
static int   ARG_MAXQUANT = 31;

#define FRAMERATE_INCR 1001
#define SMALL_EPS 1e-10

class xvid_enc{
private:
	CriticalSection m_Lock;
	void *m_enchandle;
	int m_xdim;
	int m_ydim;
	float m_framerate;
	int m_bitrate;
	int m_keyrate;
	void enc_init();
public:
	xvid_enc(int x_dim,int y_dim,float framerate,int bitrate,int keyrate);
	~xvid_enc();
	int enc_main(unsigned char *image, unsigned char* bitstream,int *streamlength,int *frametype,int quant = 0,unsigned colorspace = XVID_CSP_RGB24,bool greyscale = false);
};
class xvid_dec{
private:
	CriticalSection m_Lock;
	void *m_dechandle;
	int m_stride;
	int m_xdim;
	int m_ydim;
	void dec_init();
public:
	xvid_dec(int x_dim,int y_dim);
	~xvid_dec();
	int dec_main(unsigned char *bitstream,int streamlength,unsigned char *image,unsigned colorspace = XVID_CSP_RGB24 | XVID_CSP_VFLIP);
};

⌨️ 快捷键说明

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