www.pudn.com > DalsaNetlink.rar > CyVideoCompressor.h


// CyVideoCompressor.h: interface for the CyVideoCompressor class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_CYVIDEOCOMPRESSOR_H__261F96FB_C264_42F2_9F59_B490CD406464__INCLUDED_) 
#define AFX_CYVIDEOCOMPRESSOR_H__261F96FB_C264_42F2_9F59_B490CD406464__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
#include  
using namespace std; 
 
#include  
 
#include  
#include  
 
class CyVideoCompressor : public CyErrorInterface 
{ 
// types 
public: 
 
 
// construction/destruction 
public: 
	CyVideoCompressor(); 
	virtual ~CyVideoCompressor(); 
 
// operations 
public: 
	static CyResult ChooseCompressor(COMPVARS *aCOMPVARS, HWND aParent = NULL ); 
	static CyResult GetCompressorName(COMPVARS *aCOMPVARS, string &aName); 
 
	CyResult ChooseCompressor( HWND aParent = NULL ); 
	CyResult GetCompressorName(string &aName); 
 
	CyResult Start(unsigned short aSizeX, unsigned short aSizeY, unsigned short aBPP, double aFPS = 30.0); 
	CyResult Compress(void *aBuffer); 
	CyResult Stop(); 
 
// Data 
public: 
	COMPVARS       mCOMPVARS; 
	string         mFilename; 
 
// Implementation data 
protected: 
	IAVIFile*      mAVIFile; 
	IAVIStream*    mAVIStream; 
	IAVIStream*    mAVICompressedStream; 
	unsigned char *mTempBuffer; 
	bool           mCompressing; 
	unsigned short mSizeX; 
	unsigned short mSizeY; 
	unsigned short mBPP; 
	unsigned long  mImageSize; 
	unsigned long  mLastSample; 
}; 
 
#endif // !defined(AFX_CYVIDEOCOMPRESSOR_H__261F96FB_C264_42F2_9F59_B490CD406464__INCLUDED_)