新增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_textMAX_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:
*********************************************************************/