Machine Interface Utility:VER1.0

This commit is contained in:
TAO Cheng
2013-05-09 20:29:54 +08:00
commit 036cdcb228
743 changed files with 104786 additions and 0 deletions
@@ -0,0 +1,284 @@
// sdk3000_7130.h : main header file for the SDK3000_7130 DLL
//
#if !defined(AFX_SDK3000_7130_H__37FDA63D_0A84_4797_9E52_320E37C41382__INCLUDED_)
#define AFX_SDK3000_7130_H__37FDA63D_0A84_4797_9E52_320E37C41382__INCLUDED_
static const ULONG BrightnessDefault = 0x80;
static const ULONG ContrastDefault = 0x44;
static const ULONG SaturationDefault = 0x40;
static const ULONG HueDefault = 0x00;
static const ULONG SharpnessDefault = 0x00;
#define MIN_VAMP_BRIGHTNESS_UNITS 0
#define MAX_VAMP_BRIGHTNESS_UNITS 255
#define MIN_VAMP_CONTRAST_UNITS -128
#define MAX_VAMP_CONTRAST_UNITS 127
#define MIN_VAMP_HUE_UNITS -128
#define MAX_VAMP_HUE_UNITS 127
#define MIN_VAMP_SATURATION_UNITS -128
#define MAX_VAMP_SATURATION_UNITS 127
#define MIN_VAMP_SHARPNESS_UNITS -8
#define MAX_VAMP_SHARPNESS_UNITS 7
//图像格式
typedef enum
{
IMAGE_BMP = 1, //BMP文件格式
IMAGE_JPG = 2 //JPG文件格式
}enImageType;
//输入视频源端口
typedef enum
{
VIDEO_IN_1 = 0, //AV视频源1
VIDEO_IN_2 = 1, //AV视频源2
VIDEO_IN_3 = 2, //AV视频源3
VIDEO_IN_4 = 3, //AV视频源4
SVIDEO_IN = 4 //SVIDEO视频源
}VIDEOSOURCE;
//视频处理属性
typedef enum tagVideoProcAmpProperty
{
VideoProcAmp_Brightness = 0,
VideoProcAmp_Contrast = VideoProcAmp_Brightness + 1,
VideoProcAmp_Hue = VideoProcAmp_Contrast + 1,
VideoProcAmp_Saturation = VideoProcAmp_Hue + 1,
VideoProcAmp_Sharpness = VideoProcAmp_Saturation + 1,
VideoProcAmp_Gamma = VideoProcAmp_Sharpness + 1,
VideoProcAmp_ColorEnable = VideoProcAmp_Gamma + 1,
VideoProcAmp_WhiteBalance = VideoProcAmp_ColorEnable + 1,
VideoProcAmp_BacklightCompensation = VideoProcAmp_WhiteBalance + 1,
VideoProcAmp_Gain = VideoProcAmp_BacklightCompensation + 1
}VideoProcAmpProperty;
//视频属性
typedef enum
{
VideoProperty_Brightness = VideoProcAmp_Brightness, //亮度
VideoProperty_Contrast = VideoProcAmp_Contrast, //对比度
VideoProperty_Hue = VideoProcAmp_Hue, //色度
VideoProperty_Saturation = VideoProcAmp_Saturation, //饱和度
VideoProperty_Gamma = VideoProcAmp_Gamma, //Gamma校验
VideoProperty_ColorEnable = VideoProcAmp_ColorEnable,
VideoProperty_WhiteBalance = VideoProcAmp_WhiteBalance, //白平衡
VideoProperty_BacklightCompensation = VideoProcAmp_BacklightCompensation,
VideoProperty_Sharpness = VideoProcAmp_Sharpness,
VideoProperty_Gain = VideoProcAmp_Gain,
} VideoProperty;
//SDK3000属性页
typedef enum
{
PropertyDlg_VideoCaptureFilter = 0,//SDK3000视频设备属性页
PropertyDlg_VideoCapturePin, //SDK3000视频设备输出引脚属性页
PropertyDlg_VideoCrossbar, //Video Crossbar属性页
PropertyDlg_DeinterlaceFilter, //Deinterlace设备属性页
PropertyDlg_DeinterlaceCapturePin, //Deinterlace设备捕获引脚属性页
PropertyDlg_DeinterlacePreviewPin //Deinterlace设备预览引脚属性页
} PropertyDialog;
//视频运行状态
typedef enum{
STATE_STOP = 0,
STATE_RUN,
STATE_PAUSE
}GRAPH_STATE;
//视频格式
//VideoSubType_YUY2格式支持SDK3000所有功能。
//视频制式除VideoSubType_YUY2外,只能支持视频原始回调方式。
typedef enum
{
VideoSubType_None = -1,
VideoSubType_RGB555 = 0,
VideoSubType_RGB24,
VideoSubType_YUY2,
VideoSubType_RGB8,
VideoSubType_RGB32
} VideoSubType;
//视频制式
typedef enum
{
VideoStandard_None = 0x00000000,
VideoStandard_NTSC_M = 0x00000001,
VideoStandard_NTSC_M_J = 0x00000002,
VideoStandard_NTSC_433 = 0x00000004,
VideoStandard_PAL_B = 0x00000010,
VideoStandard_PAL_D = 0x00000020,
VideoStandard_PAL_H = 0x00000080,
VideoStandard_PAL_I = 0x00000100,
VideoStandard_PAL_M = 0x00000200,
VideoStandard_PAL_N = 0x00000400,
VideoStandard_PAL_60 = 0x00000800,
VideoStandard_SECAM_B = 0x00001000,
VideoStandard_SECAM_D = 0x00002000,
VideoStandard_SECAM_G = 0x00004000,
VideoStandard_SECAM_H = 0x00008000,
VideoStandard_SECAM_K = 0x00010000,
VideoStandard_SECAM_K1 = 0x00020000,
VideoStandard_SECAM_L = 0x00040000,
VideoStandard_SECAM_L1 = 0x00080000,
} VideoStandard;
//场类型
typedef enum
{
Even_Field = 0, //偶场
Odd_Field, //奇场
Odd_Even_Field, //奇场、偶场
Interlaced_Field//复合场
}VideoFieldType;
//视频叠加参数
typedef struct
{
LONG cfHeight; //字符高度
LONG cfWidth; //字符宽度
LONG cfWeight; //字符粗细
LONG cfSpacing; //字符间距
BOOL cfItalic; //斜体
BOOL cfUnderline; //下划线
BOOL cfStrikeOut; //删除线
COLORREF cfBkColor; //背景色
COLORREF cfTextColor; //前景色
TCHAR cfFaceName[32]; //字体名
}OSDPARAM;
//视频属性范围
typedef struct
{
long nValue; //当前值
long nMin; //最小值
long nMax; //最大值
long nStepDelta; //最小步进值
long nDefault; //默认值
long nCapsFlags; //风格
} VIDEOPROPERTYRANGE;
//视频流信息
typedef struct
{
VideoSubType subtype; //视频格式
RECT rcSource; //视频源范围
RECT rcTarget; //目标视频范围
DWORD dwBitRate; //比特率
DWORD dwBitErrorRate; //比特错误率
LONGLONG AvgTimePerFrame;//帧率
BITMAPINFOHEADER bmiHeader; //宽、高、颜色位率等
} VIDEOSTREAMINFO;
//视频源输入频率
typedef enum
{ //@enum Field frequency
FIELD_FREQ_50HZ = 0, //@emem source is 50 Hz (PAL)
FIELD_FREQ_60HZ = 1, //@emem source is 60 Hz (NTSC)
FIELD_FREQ_0HZ = 2 //@emem source is 0 Hz (NO SIGNL)
}eFieldFrequency;
//动态检测回调
typedef void (CALLBACK *PrcCbMotionDetect)( long lnCardID, BOOL bMove, LPVOID lpContext );
//捕获原始流回调
typedef void (CALLBACK *PrcCapSourceStream)( long lnCardID, long pBuf, long lnWidth, long lnHeight, long lnBiCount );
//IO报警回调
typedef void (CALLBACK *PrcIoAlertCallBack)( long lnCardID );
typedef void (CALLBACK *PrcPicMessage)( long lnCardID, long pBuf, long lnWidth, long lnHeight);
//初始化SDK
HRESULT WINAPI VCAInitSdk();
//释放SDK资源
void WINAPI VCAUnInitSdk();
//得到SDK3000设备总数
HRESULT WINAPI VCAGetDevNum(int *pDevNum);
//连接设备
HRESULT WINAPI VCAConnectDevice(int nCards, BOOL bOverlay, HWND hParentWnd, SIZE& szVidSize, VIDEOSOURCE enVideoSource, int nFrameRate = 25, VideoSubType enVideoSubType = VideoSubType_YUY2);
//断开设备
HRESULT WINAPI VCADisConnectDevice(int nCards);
//设置捕获文件名
HRESULT WINAPI VCASetCaptureFile(int nCards, LPCTSTR szFileName);
//开始捕获
HRESULT WINAPI VCAStartCapture(int nCards);
//停止捕获
HRESULT WINAPI VCAStopCapture(int nCards);
//是否正在捕获
HRESULT WINAPI VCAIsCapturing(int nCards, BOOL* bIsCapturing);
//设置视频在显示窗口中的区域
HRESULT WINAPI VCASetWindowPos(int nCards, RECT rc);
//设置动态检测
HRESULT WINAPI VCAEnableMotionDetect(int nCards, BOOL bEnaDetect, BYTE *pAreaMap, LONG nSizeOfMap, LONG nPersistTime, LPVOID lpContext, PrcCbMotionDetect OnObjectMove);
//抓图
HRESULT WINAPI VCACapturePicture(int nCards, LPCTSTR szFileName, enImageType enImgType, RECT* rcImg, long nQuality, long nCapCount, BOOL bCapFast );
//切换视频源
HRESULT WINAPI VCASwitchVideoSource(int nCards, VIDEOSOURCE enVideoSource, BOOL bFast = TRUE );
//设置视频属性
HRESULT WINAPI VCASetVideoPropertyValue(int nCards, VideoProperty eVideoProperty, long value);
//得到视频属性
HRESULT WINAPI VCAGetVideoPropertyValue(int nCards, VideoProperty eVideoProperty, VIDEOPROPERTYRANGE* pVPR);
//IO输出
HRESULT WINAPI VCAIOAlertOut(int nCards, BOOL bHighLevel);
//初始化IO输入
HRESULT WINAPI VCAInitIOAlertIn(int nCards, PrcIoAlertCallBack ppCall);
//开始等待IO输入
HRESULT WINAPI VCAStartIOAlertIn(int nCards, BOOL bHigh);
//停止等待IO输入
HRESULT WINAPI VCAStopIOAlertIn(int nCards);
//设置文本叠加
HRESULT WINAPI VCASetTextOSD(int nCards, BOOL bEnableOSD, TCHAR* pText, POINT ptTopLeft, BOOL bTransparent, OSDPARAM* pOSD, HWND nWndMain);
//设置时间叠加
HRESULT WINAPI VCASetDateTimeOSD(int nCards, BOOL bEnableOSD, POINT ptTopLeft, BOOL bTransparent, OSDPARAM* pOSD, HWND nWndMain);
//显示属性页对话框
HRESULT WINAPI VCADisplayPropertyDialogs(int nCards, PropertyDialog id, HWND hParentWnd, LPCTSTR szCaption);
//运行视频流
HRESULT WINAPI VCARun(int nCards);
//暂停视频流
HRESULT WINAPI VCAPause(int nCards);
//停止视频流
HRESULT WINAPI VCAStop(int nCards);
//得到视频流状况
HRESULT WINAPI VCAGetStreamStatus(int nCards, GRAPH_STATE* pStatus);
//设置视频帧率
HRESULT WINAPI VCASetFrameRate(int nCards, int nFrameRate);
//得到视频信息
HRESULT WINAPI VCAGetVideoInfo(int nCards, VIDEOSTREAMINFO * pVSI);
//设置视频信息
HRESULT WINAPI VCASetVideoInfo(int nCards, VIDEOSTREAMINFO * pVSI);
//设置视频大小为全屏
HRESULT WINAPI VCASetFullScreen(int nCards, BOOL bFullSrc);
//是否视频为全屏模式
HRESULT WINAPI VCAIsFullSrcMode(int nCards, BOOL* pFullSrc);
//得到视频制式
HRESULT WINAPI VCAGetVideoStandard(int nCards, VideoStandard* pVideoStandard, long* pAvailable);
//设置视频制式
HRESULT WINAPI VCASetVideoStandard(int nCards, VideoStandard vs);
//枚举视频压缩格式
HRESULT WINAPI VCAEnumVideoCompressor(int nCards, char* arrCompDevName,int * pCompDevCount);
//得到视频当前压缩格式
HRESULT WINAPI VCAGetCurrentVideoCompressor(int nCards, LPSTR pCompDevName);
//枚举视频当前压缩格式
HRESULT WINAPI VCASetCurrentVideoCompressor(int nCards, LPCTSTR pCompDevName);
//设置视频原始回调格式
HRESULT WINAPI VCAEnableCapSourceStream(int nCards, BOOL bCapStream, VideoFieldType enVideoFieldType, PrcCapSourceStream pCapStream);
//
HRESULT WINAPI VCAEnablePicMessage(int nCards, BOOL bPicMessage, PrcPicMessage pPicMessage);
//读E2C
HRESULT WINAPI VCAReadE2C(int nCards, int iSubAddr, BYTE* pucData);
//写E2C
HRESULT WINAPI VCAWriteE2C(int nCards, int iSubAddr, BYTE ucData);
//得到视频源输入频率( 0HZ / 50HZ / 60HZ )对应( 无信号 / PAL制 / NTSC制 ), 参考枚举变量eFieldFrequency
HRESULT WINAPI VCAGetVideoFieldFrq(int nCards, eFieldFrequency* pFieldFrequency);
//枚举音频设备
HRESULT WINAPI VCAEnumAudioCaptureDev(int nCards, char* arrAudDevName,int * pAudDevCount);
//通过音频设备名设置音频采集,一个音频设备(声卡)仅供一路卡, strAudDevName 为"",表示取消音频采集
HRESULT WINAPI VCASetCurrentAudioCompressorName(int nCards, LPCTSTR strAudDevName);
//通过音频设备序号设置音频采集,一个音频设备(声卡)仅供一路卡, nCurrentAudDevice 为-1,表示取消音频采集
HRESULT WINAPI VCASetCurrentAudioCompressorNum(int nCards, int nCurrentAudDevice);
/////////////////////////////////////////////////////////////////////////////
#endif // !defined(AFX_SDK3000_7130_H__37FDA63D_0A84_4797_9E52_320E37C41382__INCLUDED_)
@@ -0,0 +1,328 @@
// sdk3000_7130.h : main header file for the SDK3000_7130 DLL
//
#if !defined(AFX_SDK3000_7130_H__37FDA63D_0A84_4797_9E52_320E37C41382__INCLUDED_)
#define AFX_SDK3000_7130_H__37FDA63D_0A84_4797_9E52_320E37C41382__INCLUDED_
#ifdef SDK3000_7130_EXPORTS
#define SDK_API extern "C" __declspec(dllexport)
#else
#define SDK_API extern "C" __declspec(dllimport)
#endif
static const ULONG BrightnessDefault = 0x87;
static const ULONG ContrastDefault = 0x44;
static const ULONG SaturationDefault = 0x00;
static const ULONG HueDefault = 0x40;
static const ULONG SharpnessDefault = 0x00;
#define MIN_VAMP_BRIGHTNESS_UNITS 0
#define MAX_VAMP_BRIGHTNESS_UNITS 255
#define MIN_VAMP_CONTRAST_UNITS -128
#define MAX_VAMP_CONTRAST_UNITS 127
#define MIN_VAMP_HUE_UNITS -128
#define MAX_VAMP_HUE_UNITS 127
#define MIN_VAMP_SATURATION_UNITS -128
#define MAX_VAMP_SATURATION_UNITS 127
#define MIN_VAMP_SHARPNESS_UNITS -8
#define MAX_VAMP_SHARPNESS_UNITS 7
//图像格式
typedef enum
{
IMAGE_BMP = 1, //BMP文件格式
IMAGE_JPG = 2 //JPG文件格式
}enImageType;
//输入视频源端口
typedef enum
{
VIDEO_IN_1 = 0, //AV视频源1
VIDEO_IN_2 = 1, //AV视频源2
VIDEO_IN_3 = 2, //AV视频源3
VIDEO_IN_4 = 3, //AV视频源4
SVIDEO_IN = 4 //SVIDEO视频源
}VIDEOSOURCE;
//视频处理属性
typedef enum tagVideoProcAmpProperty
{
VideoProcAmp_Brightness = 0,
VideoProcAmp_Contrast = VideoProcAmp_Brightness + 1,
VideoProcAmp_Hue = VideoProcAmp_Contrast + 1,
VideoProcAmp_Saturation = VideoProcAmp_Hue + 1,
VideoProcAmp_Sharpness = VideoProcAmp_Saturation + 1,
VideoProcAmp_Gamma = VideoProcAmp_Sharpness + 1,
VideoProcAmp_ColorEnable = VideoProcAmp_Gamma + 1,
VideoProcAmp_WhiteBalance = VideoProcAmp_ColorEnable + 1,
VideoProcAmp_BacklightCompensation = VideoProcAmp_WhiteBalance + 1,
VideoProcAmp_Gain = VideoProcAmp_BacklightCompensation + 1
}VideoProcAmpProperty;
//视频属性
typedef enum
{
VideoProperty_Brightness = VideoProcAmp_Brightness, //亮度
VideoProperty_Contrast = VideoProcAmp_Contrast, //对比度
VideoProperty_Hue = VideoProcAmp_Hue, //色度
VideoProperty_Saturation = VideoProcAmp_Saturation, //饱和度
VideoProperty_Gamma = VideoProcAmp_Gamma, //Gamma校验
VideoProperty_ColorEnable = VideoProcAmp_ColorEnable,
VideoProperty_WhiteBalance = VideoProcAmp_WhiteBalance, //白平衡
VideoProperty_BacklightCompensation = VideoProcAmp_BacklightCompensation,
VideoProperty_Sharpness = VideoProcAmp_Sharpness,
VideoProperty_Gain = VideoProcAmp_Gain,
} VideoProperty;
//SDK3000属性页
typedef enum
{
PropertyDlg_VideoCaptureFilter = 0,//SDK3000视频设备属性页
PropertyDlg_VideoCapturePin, //SDK3000视频设备输出引脚属性页
PropertyDlg_VideoCrossbar, //Video Crossbar属性页
PropertyDlg_DeinterlaceFilter, //Deinterlace设备属性页
PropertyDlg_DeinterlaceCapturePin, //Deinterlace设备捕获引脚属性页
PropertyDlg_DeinterlacePreviewPin //Deinterlace设备预览引脚属性页
} PropertyDialog;
//视频运行状态
typedef enum{
STATE_STOP = 0,
STATE_RUN,
STATE_PAUSE
}GRAPH_STATE;
//视频格式
//VideoSubType_YUY2格式支持SDK3000所有功能。
//视频制式除VideoSubType_YUY2外,只能支持视频原始回调方式。
typedef enum
{
VideoSubType_None = -1,
VideoSubType_RGB555 = 0,
VideoSubType_RGB24,
VideoSubType_YUY2,
VideoSubType_RGB8,
VideoSubType_RGB32
} VideoSubType;
//视频制式
typedef enum
{
VideoStandard_None = 0x00000000,
VideoStandard_NTSC_M = 0x00000001,
VideoStandard_NTSC_M_J = 0x00000002,
VideoStandard_NTSC_433 = 0x00000004,
VideoStandard_PAL_B = 0x00000010,
VideoStandard_PAL_D = 0x00000020,
VideoStandard_PAL_H = 0x00000080,
VideoStandard_PAL_I = 0x00000100,
VideoStandard_PAL_M = 0x00000200,
VideoStandard_PAL_N = 0x00000400,
VideoStandard_PAL_60 = 0x00000800,
VideoStandard_SECAM_B = 0x00001000,
VideoStandard_SECAM_D = 0x00002000,
VideoStandard_SECAM_G = 0x00004000,
VideoStandard_SECAM_H = 0x00008000,
VideoStandard_SECAM_K = 0x00010000,
VideoStandard_SECAM_K1 = 0x00020000,
VideoStandard_SECAM_L = 0x00040000,
VideoStandard_SECAM_L1 = 0x00080000,
} VideoStandard;
//场类型
typedef enum
{
Even_Field = 0, //偶场
Odd_Field, //奇场
Odd_Even_Field, //奇场、偶场
Interlaced_Field//复合场
}VideoFieldType;
#define MAX_FACENAME 32
//视频叠加参数
typedef struct
{
LONG cfHeight; //字符高度
LONG cfWidth; //字符宽度
LONG cfWeight; //字符粗细
LONG cfSpacing; //字符间距
BOOL cfItalic; //斜体
BOOL cfUnderline; //下划线
BOOL cfStrikeOut; //删除线
COLORREF cfBkColor; //背景色
COLORREF cfTextColor; //前景色
TCHAR cfFaceName[MAX_FACENAME]; //字体名
}OSDPARAM;
//视频属性范围
typedef struct
{
long nValue; //当前值
long nMin; //最小值
long nMax; //最大值
long nStepDelta; //最小步进值
long nDefault; //默认值
long nCapsFlags; //风格
} VIDEOPROPERTYRANGE;
//视频流信息
typedef struct
{
VideoSubType subtype; //视频格式
RECT rcSource; //视频源范围
RECT rcTarget; //目标视频范围
DWORD dwBitRate; //比特率
DWORD dwBitErrorRate; //比特错误率
LONGLONG AvgTimePerFrame;//帧率
BITMAPINFOHEADER bmiHeader; //宽、高、颜色位率等
} VIDEOSTREAMINFO;
//视频源输入频率
typedef enum
{ //@enum Field frequency
FIELD_FREQ_50HZ = 0, //@emem source is 50 Hz (PAL)
FIELD_FREQ_60HZ = 1, //@emem source is 60 Hz (NTSC)
FIELD_FREQ_0HZ = 2 //@emem source is 0 Hz (NO SIGNL)
}eFieldFrequency;
typedef enum
{
E_MPEG_MPEG1 = 0, // generic ISO/IEC 11172-1/2
E_MPEG_VCD, // MPEG-1 VideoCD
E_MPEG_MPEG2, // generic ISO/IEC 13818-1/2
E_MPEG_SVCD, // MPEG-2 SuperVCD
E_MPEG_DVD // MPEG-2 DVD-Video
}eVideoMpegType;
enum TVRecordFormat
{
TVRF_AVI = 0,
TVRF_MPEG1 = 1,
TVRF_MPEG2 = 2,
TVRF_MPEG4 = 3,
TVRF_VCD = 4,
TVRF_SVCD = 5,
TVRF_DVD = 6,
TVRF_HIDVD = 7,
TVRF_CUSTOM
};
//动态检测回调
typedef void (CALLBACK *PrcCbMotionDetect)( long lnCardID, BOOL bMove, LPVOID lpContext );
//捕获原始流回调
typedef void (CALLBACK *PrcCapSourceStream)( long lnCardID, long pBuf, long lnWidth, long lnHeight, long lnBiCount );
//IO报警回调
typedef void (CALLBACK *PrcIoAlertCallBack)( long lnCardID );
typedef void (CALLBACK *PrcPicMessage)( long lnCardID, long pBuf, long lnWidth, long lnHeight);
//初始化SDK
SDK_API HRESULT __stdcall VCAInitSdk();
//释放SDK资源
SDK_API void __stdcall VCAUnInitSdk();
//得到SDK3000设备总数
SDK_API HRESULT __stdcall VCAGetDevNum(int *pDevNum);
//连接设备
SDK_API HRESULT __stdcall VCAConnectDevice(int nCards, BOOL bOverlay, HWND hParentWnd, SIZE& szVidSize, VIDEOSOURCE enVideoSource, int nFrameRate = 25, VideoSubType enVideoSubType = VideoSubType_YUY2);
//断开设备
SDK_API HRESULT __stdcall VCADisConnectDevice(int nCards);
//设置捕获文件名
SDK_API HRESULT __stdcall VCASetCaptureFile(int nCards, char* szFileName);
//开始捕获
SDK_API HRESULT __stdcall VCAStartCapture(int nCards);
//停止捕获
SDK_API HRESULT __stdcall VCAStopCapture(int nCards);
//是否正在捕获
SDK_API HRESULT __stdcall VCAIsCapturing(int nCards, BOOL* bIsCapturing);
//设置视频在显示窗口中的区域
SDK_API HRESULT __stdcall VCASetWindowPos(int nCards, RECT rc);
//设置动态检测
SDK_API HRESULT __stdcall VCAEnableMotionDetect(int nCards, BOOL bEnaDetect, BYTE *pAreaMap, LONG nSizeOfMap, LONG nPersistTime, LPVOID lpContext, PrcCbMotionDetect OnObjectMove);
//抓图
SDK_API HRESULT __stdcall VCACapturePicture(int nCards, char* szFileName, enImageType enImgType, RECT* rcImg, long nQuality, long nCapCount, BOOL bCapFast );
//切换视频源
SDK_API HRESULT __stdcall VCASwitchVideoSource(int nCards, VIDEOSOURCE enVideoSource, BOOL bFast = TRUE );
//设置视频属性
SDK_API HRESULT __stdcall VCASetVideoPropertyValue(int nCards, VideoProperty eVideoProperty, long value);
//得到视频属性
SDK_API HRESULT __stdcall VCAGetVideoPropertyValue(int nCards, VideoProperty eVideoProperty, VIDEOPROPERTYRANGE* pVPR);
//IO输出
SDK_API HRESULT __stdcall VCAIOAlertOut(int nCards, BOOL bHighLevel);
//初始化IO输入
SDK_API HRESULT __stdcall VCAInitIOAlertIn(int nCards, PrcIoAlertCallBack ppCall);
//开始等待IO输入
SDK_API HRESULT __stdcall VCAStartIOAlertIn(int nCards, BOOL bHigh);
//停止等待IO输入
SDK_API HRESULT __stdcall VCAStopIOAlertIn(int nCards);
//设置文本叠加
SDK_API HRESULT __stdcall VCASetTextOSD(int nCards, BOOL bEnableOSD, TCHAR* pText, POINT ptTopLeft, BOOL bTransparent, OSDPARAM* pOSD, HWND nWndMain);
//设置时间叠加
SDK_API HRESULT __stdcall VCASetDateTimeOSD(int nCards, BOOL bEnableOSD, POINT ptTopLeft, BOOL bTransparent, OSDPARAM* pOSD, HWND nWndMain);
//显示属性页对话框
SDK_API HRESULT __stdcall VCADisplayPropertyDialogs(int nCards, PropertyDialog id, HWND hParentWnd, char* szCaption);
//运行视频流
SDK_API HRESULT __stdcall VCARun(int nCards);
//暂停视频流
SDK_API HRESULT __stdcall VCAPause(int nCards);
//停止视频流
SDK_API HRESULT __stdcall VCAStop(int nCards);
//得到视频流状况
SDK_API HRESULT __stdcall VCAGetStreamStatus(int nCards, GRAPH_STATE* pStatus);
//设置视频帧率
SDK_API HRESULT __stdcall VCASetFrameRate(int nCards, int nFrameRate);
//得到视频信息
SDK_API HRESULT __stdcall VCAGetVideoInfo(int nCards, VIDEOSTREAMINFO * pVSI);
//设置视频信息
SDK_API HRESULT __stdcall VCASetVideoInfo(int nCards, VIDEOSTREAMINFO * pVSI);
//设置视频大小为全屏
SDK_API HRESULT __stdcall VCASetFullScreen(int nCards, BOOL bFullSrc);
//是否视频为全屏模式
SDK_API HRESULT __stdcall VCAIsFullSrcMode(int nCards, BOOL* pFullSrc);
//得到视频制式
SDK_API HRESULT __stdcall VCAGetVideoStandard(int nCards, VideoStandard* pVideoStandard, long* pAvailable);
//设置视频制式
SDK_API HRESULT __stdcall VCASetVideoStandard(int nCards, VideoStandard vs);
//枚举视频压缩格式
SDK_API HRESULT __stdcall VCAEnumVideoCompressor(int nCards, char* arrCompDevName,int * pCompDevCount);
//得到视频当前压缩格式
SDK_API HRESULT __stdcall VCAGetCurrentVideoCompressor(int nCards, char* pCompDevName);
//枚举视频当前压缩格式
SDK_API HRESULT __stdcall VCASetCurrentVideoCompressor(int nCards, char* pCompDevName);
//设置视频原始回调格式
SDK_API HRESULT __stdcall VCAEnableCapSourceStream(int nCards, BOOL bCapStream, VideoFieldType enVideoFieldType, PrcCapSourceStream pCapStream);
//
SDK_API HRESULT __stdcall VCAEnablePicMessage(int nCards, BOOL bPicMessage, PrcPicMessage pPicMessage);
//读E2C
SDK_API HRESULT __stdcall VCAReadE2C(int nCards, int iSubAddr, BYTE* pucData);
//写E2C
SDK_API HRESULT __stdcall VCAWriteE2C(int nCards, int iSubAddr, BYTE ucData);
//得到视频源输入频率( 0HZ / 50HZ / 60HZ )对应( 无信号 / PAL制 / NTSC制 ), 参考枚举变量eFieldFrequency
SDK_API HRESULT __stdcall VCAGetVideoFieldFrq(int nCards, eFieldFrequency* pFieldFrequency);
//枚举音频设备
SDK_API HRESULT __stdcall VCAEnumAudioCaptureDev(int nCards, char* arrAudDevName,int * pAudDevCount);
//通过音频设备名设置音频采集,一个音频设备(声卡)仅供一路卡, strAudDevName 为"",表示取消音频采集
SDK_API HRESULT __stdcall VCASetCurrentAudioCompressorName(int nCards, char* strAudDevName);
//通过音频设备序号设置音频采集,一个音频设备(声卡)仅供一路卡, nCurrentAudDevice 为-1,表示取消音频采集
SDK_API HRESULT __stdcall VCASetCurrentAudioCompressorNum(int nCards, int nCurrentAudDevice);
//
SDK_API HRESULT __stdcall VCASetRecordMode(int nCards, TVRecordFormat tvRF);
/////////////////////////////////////////////////////////////////////////////
// 拷贝图像数据到剪贴板
SDK_API HRESULT __stdcall VCACopyToClipBoard(int nCards);
// 检测是否按Overlay方式显示
SDK_API HRESULT __stdcall VCAIsOverlay(int nCards, BOOL* bIsOverlay);
SDK_API HRESULT __stdcall VCASetVideoMpegType(int nCards, eVideoMpegType eType);
#endif