新添加SV4000E视频卡。
This commit is contained in:
@@ -0,0 +1,307 @@
|
||||
|
||||
#ifndef __DATA_ACQ_2011__
|
||||
#define __DATA_ACQ_2011__
|
||||
|
||||
#include <mmreg.h>
|
||||
|
||||
#include "DXMediaCap.h"
|
||||
|
||||
/*
|
||||
描述:
|
||||
获取指定区域的原始视频帧数据到缓冲区
|
||||
参数:
|
||||
device - [in] 设备句柄
|
||||
buffer - [in] 指向缓冲区。NULL - 后续参数返回相应的数据,比如,所需缓冲区的大小、颜色空间、视频尺寸
|
||||
bufferLen - [in] 指向的缓冲区的大小(单位:字节)
|
||||
gotBufferLen - [out] 实际获取的数据的大小(单位:字节)
|
||||
colorSpace - [out] 获取的原始数据的色彩空间类型
|
||||
width - [out] 获取的原始数据的像素宽度
|
||||
height - [out] 获取的原始数据的像素高度
|
||||
bytesWidth - [out] 获取的原始数据的字节宽度
|
||||
rect - [in] 指定获取数据的区域
|
||||
返回值:
|
||||
0 - 成功;失败则返回错误代码
|
||||
// */
|
||||
unsigned __stdcall DXGetFrameBuffer(device_handle device, unsigned char* buffer, unsigned bufferLen, unsigned* gotBufferLen = NULL,
|
||||
unsigned* colorSpace = NULL, unsigned* width = NULL, unsigned* height = NULL, unsigned* bytesWidth = NULL,
|
||||
PRECT rect = NULL);
|
||||
|
||||
/*
|
||||
描述:
|
||||
保存原始视频帧数据到 BMP文件
|
||||
参数:
|
||||
szFileName - [in] BMP文件路径
|
||||
buffer - [in] 指向缓冲区
|
||||
bufferLen - [in] 指向的缓冲区的大小(单位:字节)
|
||||
colorSpace - [in] 获取的原始数据的色彩空间类型
|
||||
width - [in] 获取的原始数据的像素宽度
|
||||
height - [in] 获取的原始数据的像素高度
|
||||
bytesWidth - [in] 获取的原始数据的字节宽度
|
||||
返回值:
|
||||
0 - 成功;失败则返回错误代码
|
||||
// */
|
||||
unsigned __stdcall DXSaveBMPFile(TCHAR* szFileName, unsigned char* buffer, unsigned bufferLen,
|
||||
unsigned colorSpace, unsigned width, unsigned height, unsigned bytesWidth);
|
||||
|
||||
/*
|
||||
描述:
|
||||
保存原始视频帧数据到 JPG文件
|
||||
参数:
|
||||
szFileName - [in] JPG文件路径
|
||||
buffer - [in] 指向缓冲区
|
||||
bufferLen - [in] 指向的缓冲区的大小(单位:字节)
|
||||
colorSpace - [in] 获取的原始数据的色彩空间类型
|
||||
width - [in] 获取的原始数据的像素宽度
|
||||
height - [in] 获取的原始数据的像素高度
|
||||
bytesWidth - [in] 获取的原始数据的字节宽度
|
||||
quality - [in] JPG文件的画面质量
|
||||
返回值:
|
||||
0 - 成功;失败则返回错误代码
|
||||
// */
|
||||
unsigned __stdcall DXSaveJPGFile(TCHAR* szFileName, unsigned char* buffer, unsigned bufferLen,
|
||||
unsigned colorSpace, unsigned width, unsigned height, unsigned bytesWidth, unsigned quality);
|
||||
|
||||
/*
|
||||
描述:
|
||||
直接抓取原始视频帧数据到 BMP文件
|
||||
参数:
|
||||
device - [in] 设备句柄
|
||||
szFileName - [in] BMP文件路径
|
||||
rect - [in] 指定获取数据的区域
|
||||
返回值:
|
||||
0 - 成功;失败则返回错误代码
|
||||
// */
|
||||
unsigned __stdcall DXSnapToBMPFile(device_handle device, TCHAR* szFileName, PRECT rect = NULL);
|
||||
|
||||
/*
|
||||
描述:
|
||||
直接抓取原始视频帧数据到 BMP文件
|
||||
参数:
|
||||
device - [in] 设备句柄
|
||||
szFileName - [in] BMP文件路径
|
||||
buffer - [in] 指向缓冲区
|
||||
bufferLen - [in] 指向的缓冲区的大小(单位:字节)
|
||||
colorSpace - [in] 获取的原始数据的色彩空间类型
|
||||
width - [in] 获取的原始数据的像素宽度
|
||||
height - [in] 获取的原始数据的像素高度
|
||||
bytesWidth - [in] 获取的原始数据的字节宽度
|
||||
rect - [in] 指定获取数据的区域
|
||||
返回值:
|
||||
0 - 成功;失败则返回错误代码
|
||||
// */
|
||||
unsigned __stdcall DXSnapToJPGFile(device_handle device, TCHAR* szFileName, unsigned quality, PRECT rect = NULL);
|
||||
|
||||
/*
|
||||
描述:
|
||||
原始视频数据回调的函数原型
|
||||
参数:
|
||||
buffer - [in] 缓冲区指针
|
||||
colorSpace - [in] 获取的原始数据的色彩空间类型
|
||||
width - [in] 获取的原始数据的像素宽度
|
||||
height - [in] 获取的原始数据的像素高度
|
||||
bytesWidth - [in] 获取的原始数据的字节宽度
|
||||
context - [in] 回调函数的上下文
|
||||
返回值:
|
||||
0 - 成功;失败则返回错误代码
|
||||
// */
|
||||
typedef unsigned (__stdcall *fnRawVideoCallback)(unsigned char* buffer, unsigned colorSpace,
|
||||
unsigned width, unsigned height, unsigned bytesWidth, void* context);
|
||||
|
||||
/*
|
||||
描述:
|
||||
设置原始视频数据回调的函数
|
||||
参数:
|
||||
device - [in] 设备句柄
|
||||
fn - [in] 回调函数指针,NULL - 停止回调
|
||||
context - [in] 回调函数的上下文
|
||||
返回值:
|
||||
0 - 成功;失败则返回错误代码
|
||||
// */
|
||||
unsigned __stdcall DXSetRawVideoCallback(device_handle device, fnRawVideoCallback fn, void* context);
|
||||
|
||||
/*
|
||||
描述:
|
||||
开始原始视频数据回调的函数
|
||||
参数:
|
||||
device - [in] 设备句柄
|
||||
fn - [in] 回调函数指针,NULL - 停止回调
|
||||
context - [in] 回调函数的上下文
|
||||
返回值:
|
||||
0 - 成功;失败则返回错误代码
|
||||
// */
|
||||
unsigned __stdcall DXStartRawVideoCallback(device_handle device, fnRawVideoCallback fn, void* context);
|
||||
|
||||
/*
|
||||
描述:
|
||||
停止原始视频数据回调的函数
|
||||
参数:
|
||||
device - [in] 设备句柄
|
||||
返回值:
|
||||
0 - 成功;失败则返回错误代码
|
||||
// */
|
||||
unsigned __stdcall DXStopRawVideoCallback(device_handle device);
|
||||
|
||||
/*
|
||||
描述:
|
||||
原始音频数据回调的函数原型
|
||||
参数:
|
||||
buffer - [in] 缓冲区指针
|
||||
bufferLen - [in] 指向的缓冲区的大小(单位:字节)
|
||||
wfx - [in] 音频数据格式
|
||||
context - [in] 回调函数的上下文
|
||||
返回值:
|
||||
0 - 成功;失败则返回错误代码
|
||||
// */
|
||||
typedef unsigned (__stdcall *fnRawAudioCallback)(unsigned char* buffer, unsigned bufferLen, WAVEFORMATEX* wfx, void* context);
|
||||
|
||||
/*
|
||||
描述:
|
||||
设置原始音频数据回调的函数
|
||||
参数:
|
||||
device - [in] 设备句柄
|
||||
fn - [in] 回调函数指针,NULL - 停止回调
|
||||
context - [in] 回调函数的上下文
|
||||
返回值:
|
||||
0 - 成功;失败则返回错误代码
|
||||
// */
|
||||
unsigned __stdcall DXSetRawAudioCallback(device_handle device, fnRawAudioCallback fn, void* context);
|
||||
|
||||
|
||||
/*
|
||||
描述:
|
||||
原始视频数据叠加回调的函数原型
|
||||
参数:
|
||||
hdc - [in] 视频叠加的HDC
|
||||
width - [in] 能够叠加的宽度(单位:像素)
|
||||
height - [in] 能够叠加的高度(单位:像素)
|
||||
context - [in] 回调函数的上下文
|
||||
返回值:
|
||||
0 - 成功;失败则返回错误代码
|
||||
// */
|
||||
typedef unsigned (__stdcall *fnOSDCallback)(HDC hdc, unsigned width, unsigned height, void* context);
|
||||
|
||||
/*
|
||||
描述:
|
||||
设置视频数据叠加回调的函数
|
||||
参数:
|
||||
device - [in] 设备句柄
|
||||
fn - [in] 回调函数指针,NULL - 停止回调
|
||||
context - [in] 回调函数的上下文
|
||||
返回值:
|
||||
0 - 成功;失败则返回错误代码
|
||||
// */
|
||||
unsigned __stdcall DXSetOSDCallback(device_handle device, fnOSDCallback fn, void* context);
|
||||
|
||||
enum {osd_text, osd_time, osd_image};
|
||||
#define MAX_OSD_TEXT_LEN 16
|
||||
/*
|
||||
描述:
|
||||
设置原始视频帧数据的OSD
|
||||
参数:
|
||||
device - [in] 设备句柄
|
||||
osdType - [in] OSD的类型
|
||||
x - [in] 指定OSD的左上角横坐标
|
||||
x - [in] 指定OSD的左上角竖坐标
|
||||
osdData - [in] OSD的数据,NULL - 取消OSD
|
||||
osdType = osd_text,最大MAX_OSD_TEXT_LEN个字符
|
||||
osdType = osd_time,指定时间格式
|
||||
osdType = osd_image,指定图片路径
|
||||
pointSize - [in] 字体大小
|
||||
faceName - [in] 字体名称
|
||||
color - [in] 针对 osd_text, osd_time 两种类型的OSD的前景色,默认值:白色(RGB(255, 255, 255))
|
||||
bgcolor - [in] OSD的背景色,默认值:黑色(RGB(0, 0, 0))
|
||||
opaque - [in] OSD的背景色是否不透明,默认值:是。当选择透明时,则以 bgcolor 进行透明处理
|
||||
alpha - [in] alpha运算值。取值[0 ~ 255],0 - OSD透明,255 - OSD不透明,中间值 - OSD与视频数据进行alpha运算
|
||||
返回值:
|
||||
0 - 成功;失败则返回错误代码
|
||||
// */
|
||||
unsigned __stdcall DXSetOSD(device_handle device, unsigned osdType, int x, int y, char* osdData, int pointSize = 120, LPCTSTR faceName = TEXT("Arial"),
|
||||
COLORREF color = RGB(255, 255, 255), COLORREF bgcolor = RGB(0, 0, 0), BOOL opaque = TRUE,
|
||||
unsigned char alpha = 255);
|
||||
|
||||
/*
|
||||
描述:
|
||||
启用/禁用原始视频帧数据的OSD
|
||||
参数:
|
||||
device - [in] 设备句柄
|
||||
osdType - [in] OSD的类型
|
||||
enable - [in] TRUE - 启用OSD,FALSE - 禁用OSD
|
||||
返回值:
|
||||
0 - 成功;失败则返回错误代码
|
||||
// */
|
||||
unsigned __stdcall DXEnableOSD(device_handle device, unsigned osdType, BOOL enable);
|
||||
|
||||
/*
|
||||
描述:
|
||||
由图片缓冲创建预览对象
|
||||
参数:
|
||||
imgbuffer - [in] 图片缓冲区
|
||||
buffersize - [in] 图片缓冲区的大小(单位:字节)
|
||||
colorspace - [in] 图片缓冲的数据的色彩空间
|
||||
width - [in] 图片的宽度(单位:像素)
|
||||
height - [in] 图片的高度(单位:像素)
|
||||
err - [out] 返回错误代码
|
||||
返回值:
|
||||
成功则返回图像句柄,否则返回 NULL。可通过 err 获得错误代码
|
||||
// */
|
||||
image_handle __stdcall DXCreateBufferImg(unsigned char* imgbuffer, unsigned buffersize,
|
||||
unsigned colorspace, unsigned width, unsigned height,
|
||||
unsigned* err);
|
||||
|
||||
/*
|
||||
描述:
|
||||
由图片文件创建预览对象
|
||||
参数:
|
||||
szImgFile - [in] 图片文件全路径
|
||||
err - [out] 返回错误代码
|
||||
返回值:
|
||||
成功则返回图像句柄,否则返回 NULL。可通过 err 获得错误代码
|
||||
// */
|
||||
image_handle __stdcall DXCreateFileImg(TCHAR* szImgFile, unsigned* err);
|
||||
|
||||
/*
|
||||
描述:
|
||||
由更新预览对象到指定的窗体的相应区域
|
||||
参数:
|
||||
img - [in] 预览对象
|
||||
hPrevWnd - [in] 预览的窗体
|
||||
rect - [in] 预览的区域
|
||||
返回值:
|
||||
0 - 成功;失败则返回错误代码
|
||||
// */
|
||||
unsigned __stdcall DXUpdateImg(image_handle img, HWND hPrevWnd, RECT* rect);
|
||||
|
||||
/*
|
||||
描述:
|
||||
删除预览对象
|
||||
参数:
|
||||
img - [in] 预览对象
|
||||
返回值:
|
||||
无
|
||||
// */
|
||||
void __stdcall DXDestroyImg(image_handle img);
|
||||
|
||||
/*
|
||||
描述:
|
||||
翻转视频
|
||||
参数:
|
||||
device - [in] 设备句柄
|
||||
flip - [in] TRUE - 启用翻转,FALSE - 禁用翻转
|
||||
返回值:
|
||||
0 - 成功;失败则返回错误代码
|
||||
// */
|
||||
unsigned __stdcall DXFlipVideo(device_handle device, BOOL flip);
|
||||
|
||||
/*
|
||||
描述:
|
||||
镜像视频
|
||||
参数:
|
||||
device - [in] 设备句柄
|
||||
mirror - [in] TRUE - 启用镜像,FALSE - 禁用镜像
|
||||
返回值:
|
||||
0 - 成功;失败则返回错误代码
|
||||
// */
|
||||
unsigned __stdcall DXMirrorVideo(device_handle device, BOOL mirror);
|
||||
|
||||
|
||||
#endif // __DATA_ACQ_2011__
|
||||
Reference in New Issue
Block a user