Files
EF3-Interface/PcDmis/Base/Interfac/Msi/Hsi/Videocard/SV4000E/dataAcq.h
T

192 lines
5.2 KiB
C

#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] 缓冲区指针
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);
/*
描述:
由图片缓冲创建预览对象
参数:
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__