Initial
This commit is contained in:
88
codec/VIDC.HPP
Normal file
88
codec/VIDC.HPP
Normal file
@@ -0,0 +1,88 @@
|
||||
#ifndef _AVIFILE_VIDEOCODEC_HPP_
|
||||
#define _AVIFILE_VIDEOCODEC_HPP_
|
||||
#ifndef _COMMON_PROFILE_HPP_
|
||||
#include <common/profile.hpp>
|
||||
#endif
|
||||
#ifndef _AVIFILE_AVIDEFS_HPP_
|
||||
#include <avifile/avidefs.hpp>
|
||||
#endif
|
||||
#ifndef _AVIFILE_DRIVERNAME_HPP_
|
||||
#include <avifile/drvname.hpp>
|
||||
#endif
|
||||
#ifndef _AVIFILE_ICMOPEN_HPP_
|
||||
#include <avifile/icmopen.hpp>
|
||||
#endif
|
||||
#ifndef _AVIFILE_ICMINFO_HPP_
|
||||
#include <avifile/icminfo.hpp>
|
||||
#endif
|
||||
#ifndef _AVIFILE_ICMDECOMPRESS_HPP_
|
||||
#include <avifile/icmdcprs.hpp>
|
||||
#endif
|
||||
#ifndef _AVIFILE_ICMCOMPRESS_HPP_
|
||||
#include <avifile/icmcprs.hpp>
|
||||
#endif
|
||||
#ifndef _AVIFILE_FOURCC_HPP_
|
||||
#include <avifile/fourcc.hpp>
|
||||
#endif
|
||||
#ifndef _AVIFILE_AVIBITMAP_HPP_
|
||||
#include <avifile/avibmp.hpp>
|
||||
#endif
|
||||
|
||||
class VideoCodec
|
||||
{
|
||||
public:
|
||||
enum ReturnCode{OkResult=ICERR_OK,FailResult=ICERR_UNSUPPORTED,BadFormatResult=ICERR_BADFORMAT};
|
||||
typedef LRESULT (FAR PASCAL *LPFNDRIVERPROC)(DWORD dwID,HDRVR hdrvr,UINT uMsg,LONG lParam1,LONG lParam2);
|
||||
VideoCodec(void);
|
||||
virtual ~VideoCodec();
|
||||
void closeDriver(void);
|
||||
static WORD enumerateDrivers(Block<DriverName> &driverStrings);
|
||||
WORD locateDriver(DWORD fccType,DriverName &driverName);
|
||||
ReturnCode openDriver(DWORD fccType);
|
||||
ReturnCode openDriver(const String &driverName);
|
||||
ReturnCode openDriver(const DriverName &driverName);
|
||||
ReturnCode driverLoad(void);
|
||||
ReturnCode driverEnable(void);
|
||||
|
||||
ReturnCode canCompress(BitmapInfo &srcBitmapInfo,BitmapInfo &dstBitmapInfo);
|
||||
ReturnCode canCompress(BitmapInfo &srcBitmapInfo);
|
||||
ReturnCode canDecompress(BitmapInfo &someBitmapInfo);
|
||||
ReturnCode canDecompress(BitmapInfo &srcBitmapInfo,BitmapInfo &dstBitmapInfo);
|
||||
ReturnCode getCompressFormat(BitmapInfo &srcBitmapInfo);
|
||||
ReturnCode getCompressFormat(BitmapInfo &srcBitmapInfo,BitmapInfo &dstBitmapInfo);
|
||||
ReturnCode getFormat(BitmapInfo &srcBitmapInfo);
|
||||
ReturnCode getFormat(BitmapInfo &srcBitmapInfo,BitmapInfo &dstBitmapInfo);
|
||||
|
||||
ReturnCode getPalette(BitmapInfo &srcBitmapInfo,BitmapInfo &dstBitmapInfo);
|
||||
ReturnCode driverProc(ICMOpen &someICMOpen);
|
||||
ReturnCode driverProc(ICMInfo &someICMInfo);
|
||||
ReturnCode decompressFrame(BitmapInfo &srcBitmapInfo,BitmapInfo &dstBitmapInfo,MovieData &srcMovieData,MovieData &dstMovieData);
|
||||
ReturnCode decompressFrame(BitmapInfo &srcBitmapInfo,MovieData &srcMovieData,MovieData &dstMovieData);
|
||||
ReturnCode compressFrame(BitmapInfo &srcBitmapInfo,BitmapInfo &dstBitmapInfo,MovieData &srcMovieData,MovieData &dstMovieData);
|
||||
ReturnCode icmConfigure(HWND hDisplayWindow);
|
||||
private:
|
||||
enum {DriverID=0x01,DriverHandle=0x01};
|
||||
ReturnCode icmDecompressBegin(BitmapInfo &srcBitmapInfo,BitmapInfo &dstBitmapInfo);
|
||||
ReturnCode icmDecompress(BitmapInfo &srcBitmapInfo,BitmapInfo &dstBitmapInfo,MovieData &srcMovieData,MovieData &dstMovieData);
|
||||
ReturnCode icmDecompressEnd(void);
|
||||
ReturnCode icmCompressBegin(BitmapInfo &srcBitmapInfo,BitmapInfo &dstBitmapInfo);
|
||||
ReturnCode icmCompressEnd(void);
|
||||
ReturnCode icmCompress(BitmapInfo &srcBitmapInfo,BitmapInfo &dstBitmapInfo,MovieData &srcMovieData,MovieData &dstMovieData);
|
||||
|
||||
DWORD mDriverID;
|
||||
HINSTANCE mhVideoCodec;
|
||||
LPFNDRIVERPROC mlpfnDriverProc;
|
||||
};
|
||||
|
||||
inline
|
||||
VideoCodec::VideoCodec(void)
|
||||
: mhVideoCodec(0), mlpfnDriverProc(0), mDriverID(0)
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
VideoCodec::~VideoCodec()
|
||||
{
|
||||
closeDriver();
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user