新增SV4000E视频卡的降噪功能,以及so7_config.ini降噪参数的设置。

This commit is contained in:
TAO Cheng
2014-03-07 15:51:13 +08:00
parent 7379e48b67
commit 4a66a20928
16 changed files with 528 additions and 186 deletions
@@ -256,7 +256,7 @@ unsigned __stdcall DXGetDeviceState(device_handle device, unsigned& state);
device - [in] 设备句柄
hWnd - [in] 显示视频的窗体句柄。NULL - 停止显示视频
rect - [in] 视频显示的矩形区域。NULL - 占用整个窗体
vmrtype - [in] 该保留参数。(准备做指定显示过滤器只用)
vvmrtype - [in] 视频显示模式,0为OVERLAY显示,1为离屏显示
返回值:
0 - 成功;失败则返回错误代码
// */
@@ -444,7 +444,8 @@ unsigned __stdcall DXDetachIspTask(device_handle device, IispTask* ispTask);
返回值:
0 - 成功;失败则返回错误代码
// */
typedef unsigned (__stdcall *fnEncVideoCallback)(unsigned fourcc, unsigned char* buffer, unsigned bufferSize, void* context);
typedef unsigned (__stdcall *fnEncVideoCallback)(unsigned fourcc, unsigned char* buffer,
unsigned bufferSize, void* context);
/*
描述:
@@ -485,7 +486,10 @@ unsigned __stdcall DXStopEncVideoCallback(device_handle device);
使能去隔行功能
参数:
device - [in] 设备句柄
deinterlace - [in] 去隔行的算法类型
deinterlace - [in] 去隔行化方法:0 -- SimpleBob
// 1 -- TomsMoComp
// 2 -- YADIF
// 其他值表示自动取消隔行功能
返回值:
0 - 成功;失败则返回错误代码
// */
@@ -496,11 +500,22 @@ unsigned __stdcall DXEnableDeinterlace(device_handle device, unsigned deinterlac
使能去噪功能
参数:
device - [in] 设备句柄
denoise - [in] 去噪的算法类型
denoise - [in] 降噪标准 (5 - 100),其他值表示自动取消去噪功能
返回值:
0 - 成功;失败则返回错误代码
// */
unsigned __stdcall DXEnableDenoise(device_handle device, unsigned denoise);
unsigned __stdcall DXEnableDenoise(device_handle device, unsigned denoise = 35);
/*
描述:
锐化处理功能
参数:
device - [in] 设备句柄
deSharpness - [in] 锐化标准(0 - 255),其它值表示自动取消锐化功能
返回值:
0 - 成功;失败则返回错误代码
// */
unsigned __stdcall DXEnableSharpen(device_handle device, unsigned deSharpness = 128);
/*
描述:
@@ -521,4 +536,221 @@ unsigned __stdcall DXConvertYUVtoRGB(device_handle device, void* pYUVBuf,
BOOL bInverted,
BOOL bInvertColor);
/*
描述:
音频原始数据回调的函数原型
参数:
buffer - [in] 缓冲区指针
bufferSize - [out] 获取的编码数据的缓冲区大小(单位:字节)
context - [in] 回调函数的上下文
返回值:
0 - 成功;失败则返回错误代码
// */
typedef unsigned (__stdcall *fnAudDataCallback)(unsigned char* buffer, unsigned bufferSize, void* context);
/*
描述:
设置音频原始数据回调的函数
参数:
device - [in] 设备句柄
fn - [in] 回调函数指针,NULL - 停止回调
context - [in] 回调函数的上下文
返回值:
0 - 成功;失败则返回错误代码
// */
unsigned __stdcall DXSetAudDataCallback(device_handle device, fnAudDataCallback fn, void* context);
/*
描述:
开始音频原始数据回调的函数
参数:
device - [in] 设备句柄
fn - [in] 回调函数指针,NULL - 停止回调
context - [in] 回调函数的上下文
返回值:
0 - 成功;失败则返回错误代码
// */
unsigned __stdcall DXStartAudDataCallback(device_handle device, fnAudDataCallback fn, void* context);
/*
描述:
停止音频原始数据回调的函数
参数:
device - [in] 设备句柄
返回值:
0 - 成功;失败则返回错误代码
// */
unsigned __stdcall DXStopAudDataCallback(device_handle device);
/*
描述:
设置时间OSD参数的函数
参数:
device - [in] 设备句柄
x,y - [in]时间OSD的位置坐标
返回值:
0 - 成功;失败则返回错误代码
// */
unsigned __stdcall DXSetTimeOSD
(
/*in*/ device_handle device,
/*in*/ int x,
/*in*/ int y,
/*in*/ int pointSize,
/*in*/ LPCTSTR faceName = TEXT("Arial"),
/*in*/ COLORREF color = RGB(0,0,255),
/*in*/ COLORREF bgcolor = RGB(0, 0, 0),
/*in*/ BOOL transparent = TRUE
);
/*
描述:
设置文本OSD参数的函数
参数:
device - [in] 设备句柄
x,y - [in]时间OSD的位置坐标
返回值:
0 - 成功;失败则返回错误代码
// */
unsigned __stdcall DXSetTextOSD
(
/*in*/ device_handle device,
/*in*/ int x,
/*in*/ int y,
/*in*/ int TextNO,
/*in*/ LPCTSTR osdText,
/*in*/ int pointSize,
/*in*/ LPCTSTR faceName = TEXT("Arial"),
/*in*/ COLORREF color = RGB(0,0,255),
/*in*/ COLORREF bgcolor = RGB(0, 0, 0),
/*in*/ BOOL transparent = TRUE
);
/*
描述:
设置图片OSD参数的函数
参数:
device - [in] 设备句柄
x,y - [in]时间OSD的位置坐标
返回值:
0 - 成功;失败则返回错误代码
// */
unsigned __stdcall DXSetPictureOSD
(
/*in*/ device_handle device,
/*in*/ int x,
/*in*/ int y,
/*in*/ int PicNO,
/*in*/ LPCTSTR picFileName,
/*in*/ BOOL transparent = TRUE,
/*in*/ unsigned char alpha = 255
);
/*
描述:
设置图片OSD参数的函数
参数:
device - [in] 设备句柄
osdType - [in]叠加类型
返回值:
0 - 成功;失败则返回错误代码
// */
unsigned __stdcall DXEnOSDDisp
(
/*in*/ device_handle device,
/*in*/ unsigned osdType, //0表示时间叠加,1表示文本叠加,2表示图片叠加
/*in*/ int number, /* 叠加编号,当number = -1时为全部 */
/*in*/ BOOL enable
);
/*
描述:
从加密芯片用户区读取数据的函数
参数:
device - [in] 设备句柄
chPassWord - [in]密码
chData------[out]读取数据空间
chLen-------[out]读取数据长度,不超过0x20
返回值:
0 - 成功;失败则返回错误代码
// */
unsigned __stdcall DXReadDeviceSerial(device_handle device,unsigned char * chPassWord,
unsigned char * chData, unsigned char& chLen);
//从加密芯片用户区读出数据
/*
描述:
向加密芯片用户区写入数据的函数
参数:
device - [in] 设备句柄
chPassWord - [in]密码
chData------[in]写入数据空间
chLen-------[in]写入数据长度,不超过0x20
返回值:
0 - 成功;失败则返回错误代码
// */
unsigned __stdcall DXWriteDeviceSerial(device_handle device,unsigned char * chPassWord,
unsigned char * chData, unsigned char chLen);
/*
描述:
原始视频数据回调的函数原型
参数:
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);
/*
描述:
暂停原始视频数据回调的函数
参数:
device - [in] 设备句柄
bPause---[in] true:暂停原始流回调;false:重新开始原始流回调
返回值:
0 - 成功;失败则返回错误代码
// */
unsigned __stdcall DXPauseRawVideoCallback(device_handle device, bool bPause);
#endif // __DXMEDIACAP_2011__
@@ -91,56 +91,6 @@ unsigned __stdcall DXSnapToBMPFile(device_handle device, TCHAR* szFileName, PREC
// */
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);
/*
描述:
原始音频数据回调的函数原型
@@ -166,71 +116,6 @@ typedef unsigned (__stdcall *fnRawAudioCallback)(unsigned char* buffer, unsigned
// */
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 - 启用OSDFALSE - 禁用OSD
返回值:
0 - 成功;失败则返回错误代码
// */
unsigned __stdcall DXEnableOSD(device_handle device, unsigned osdType, BOOL enable);
/*
描述:
由图片缓冲创建预览对象
@@ -1,12 +1,8 @@
/********************************************************************
created: 2011/08/05
created: 5:8:2011 9:31
filename: .\libDXCap\datastru.h
file path: .\libDXCap
file base: datastru
file ext: h
author: 34973832@qq.com
purpose:
*********************************************************************/