⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hikvisionsdk.h

📁 QEMU是一套由Fabrice Bellard所编写的模拟操作系统的自由软件。它与Bochs
💻 H
📖 第 1 页 / 共 2 页
字号:
	设置视频输入位置:
		(x,y)为系统所处理图像的左上角在摄像机输入的原始图像中的坐标。
		x必须为2的整数倍。
		(x,y)坐标的参数范围和摄像机的型号有关,如果指定的值和摄像机的输入不匹配,
	可能会导致图像静止或水平、垂直方向滚动。
*/
DLLEXPORT_API int __stdcall SetInputVideoPosition(HANDLE hChannel,UINT x,UINT y);
DLLEXPORT_API int __stdcall StopRegisterDrawFun(DWORD nport);

/*
	3.0
*/
#define SERIAL_NUMBER_LENGTH	12	//板卡序列号长度
typedef struct
{
	BOARD_TYPE_DS type;					//板卡类型
	BYTE sn[16];						//序列号
	UINT dspCount;						//板卡包含的DSP个数
	UINT firstDspIndex;					//板卡上第一个DSP的索引
	UINT encodeChannelCount;			//板卡包含的编码通道个数
	UINT firstEncodeChannelIndex;		//板卡上第一个编码通道的索引
	UINT decodeChannelCount;			//板卡包含的解码通道个数
	UINT firstDecodeChannelIndex;		//板卡上第一个解码通道的索引
	UINT displayChannelCount;			//板卡包含的视频输出通道个数
	UINT firstDisplayChannelIndex;		//板卡上第一个视频输出通道的索引
	UINT reserved1;
	UINT reserved2;
	UINT reserved3;
	UINT version;						//硬件版本,format:major.minor.build,major:bit 16-19,minor: bit 8-15,build: bit 0-7
}DS_BOARD_DETAIL;
typedef struct
{
	UINT encodeChannelCount;			//板卡包含的编码通道个数
	UINT firstEncodeChannelIndex;		//板卡上第一个编码通道的索引
	UINT decodeChannelCount;			//板卡包含的解码通道个数
	UINT firstDecodeChannelIndex;		//板卡上第一个解码通道的索引
	UINT displayChannelCount;			//板卡包含的视频输出通道个数
	UINT firstDisplayChannelIndex;		//板卡上第一个视频输出通道的索引
	UINT reserved1;
	UINT reserved2;
	UINT reserved3;
	UINT reserved4;
}DSP_DETAIL;
DLLEXPORT_API unsigned int __stdcall GetBoardCount();
DLLEXPORT_API int __stdcall GetBoardDetail(UINT boardNum,DS_BOARD_DETAIL *pBoardDetail);
DLLEXPORT_API unsigned int __stdcall GetDspCount();
DLLEXPORT_API int __stdcall GetDspDetail(UINT dspNum,DSP_DETAIL *pDspDetail);
DLLEXPORT_API unsigned int __stdcall GetEncodeChannelCount();
DLLEXPORT_API unsigned int __stdcall GetDecodeChannelCount();
DLLEXPORT_API unsigned int __stdcall GetDisplayChannelCount();
DLLEXPORT_API int __stdcall SetDefaultVideoStandard(VideoStandard_t VideoStandard);
DLLEXPORT_API int __stdcall SetVideoDetectPrecision(HANDLE hChannel,unsigned int value);
DLLEXPORT_API int __stdcall SetSubStreamType(HANDLE hChannelHandle, USHORT Type);
DLLEXPORT_API int __stdcall GetSubStreamType(HANDLE hChannelHandle, USHORT *StreamType);

#define MAX_DISPLAY_REGION		16
typedef struct
{
	UINT left;
	UINT top;
	UINT width;
	UINT height;
	COLORREF color;
	UINT param;
}REGION_PARAM;
DLLEXPORT_API int __stdcall SetDisplayStandard(UINT nDisplayChannel,VideoStandard_t VideoStandard);
DLLEXPORT_API int __stdcall SetDisplayRegion(UINT nDisplayChannel,UINT nRegionCount,REGION_PARAM *pParam,UINT nReserved);
DLLEXPORT_API int __stdcall ClearDisplayRegion(UINT nDisplayChannel,UINT nRegionFlag);
DLLEXPORT_API int __stdcall SetDisplayRegionPosition(UINT nDisplayChannel,UINT nRegion,UINT nLeft,UINT nTop);
DLLEXPORT_API int __stdcall FillDisplayRegion(UINT nDisplayChannel,UINT nRegion,unsigned char *pImage);
DLLEXPORT_API int __stdcall SetEncoderVideoExtOutput(UINT nEncodeChannel,UINT nPort,BOOL bOpen,UINT nDisplayChannel,UINT nDisplayRegion,UINT nFrameRate);
DLLEXPORT_API int __stdcall SetDecoderVideoExtOutput(UINT nDecodeChannel,UINT nPort,BOOL bOpen,UINT nDisplayChannel,UINT nDisplayRegion,UINT nReserved);
DLLEXPORT_API int __stdcall SetDecoderVideoOutput(UINT nDecodeChannel,UINT nPort,BOOL bOpen,UINT nDisplayChannel,UINT nDisplayRegion,UINT nReserved);
DLLEXPORT_API int __stdcall SetDecoderAudioOutput(UINT nDecodeChannel,BOOL bOpen,UINT nOutputChannel);
//3.1
DLLEXPORT_API int __stdcall SetDeInterlace(HANDLE hChannelHandle,UINT mode,UINT level);
DLLEXPORT_API int __stdcall SetPreviewOverlayMode(BOOL bTrue);

//DECODE functions for MD card
typedef struct{
	long bToScreen;
	long bToVideoOut;
	long nLeft;
	long nTop;
	long nWidth;
	long nHeight;
	long nReserved;
}DISPLAY_PARA,*PDISPLAY_PARA;
//Version info
typedef struct {
	ULONG DspVersion, DspBuildNum;
	ULONG DriverVersion, DriverBuildNum;
	ULONG SDKVersion, SDKBuildNum;
}HW_VERSION, *PHW_VERSION;

//init part
DLLEXPORT_API int __stdcall HW_InitDirectDraw(HWND hParent,COLORREF colorKey);
DLLEXPORT_API int __stdcall HW_ReleaseDirectDraw();
DLLEXPORT_API int __stdcall HW_InitDecDevice(long *pDeviceTotal);
DLLEXPORT_API int __stdcall HW_ReleaseDecDevice();
DLLEXPORT_API int __stdcall HW_ChannelOpen(long nChannelNum,HANDLE* phChannel);
DLLEXPORT_API int __stdcall HW_ChannelClose(HANDLE hChannel);
//open part

DLLEXPORT_API int __stdcall HW_OpenStream(HANDLE hChannel,PBYTE pFileHeadBuf,DWORD nSize);
DLLEXPORT_API int __stdcall HW_ResetStream(HANDLE hChannel);
DLLEXPORT_API int __stdcall HW_CloseStream(HANDLE hChannel);
DLLEXPORT_API int __stdcall HW_InputData(HANDLE hChannel,PBYTE pBuf,DWORD nSize);
DLLEXPORT_API int __stdcall HW_OpenFile(HANDLE hChannel,LPTSTR sFileName);
DLLEXPORT_API int __stdcall HW_CloseFile(HANDLE hChannel);

//play part
DLLEXPORT_API int __stdcall HW_SetDisplayPara(HANDLE hChannel,DISPLAY_PARA *pPara);
DLLEXPORT_API int __stdcall HW_Play(HANDLE hChannel);
DLLEXPORT_API int __stdcall HW_Stop(HANDLE hChannel);
DLLEXPORT_API int __stdcall HW_Pause(HANDLE hChannel,ULONG bPause);

//sound part
DLLEXPORT_API int __stdcall HW_PlaySound(HANDLE hChannel);
DLLEXPORT_API int __stdcall HW_StopSound(HANDLE hChannel);
DLLEXPORT_API int __stdcall HW_SetVolume(HANDLE hChannel,ULONG nVolume);
//overlay part
DLLEXPORT_API int __stdcall HW_RefreshSurface();
DLLEXPORT_API int __stdcall HW_RestoreSurface();
DLLEXPORT_API int __stdcall HW_ClearSurface();
DLLEXPORT_API int __stdcall HW_ZoomOverlay(RECT* pSrcClientRect, RECT* pDecScreenRect);
//cut file
DLLEXPORT_API int __stdcall HW_StartCapFile(HANDLE hChannel,LPTSTR sFileName);
DLLEXPORT_API int __stdcall HW_StopCapFile(HANDLE hChannel);
//capture picture
DLLEXPORT_API int __stdcall HW_GetYV12Image(HANDLE hChannel, PBYTE pBuffer, ULONG nSize);
DLLEXPORT_API int __stdcall HW_GetPictureSize(HANDLE hChannel,ULONG* pWidth, ULONG* pHeight);
DLLEXPORT_API int __stdcall HW_ConvertToBmpFile(BYTE * pBuf,ULONG nSize,ULONG nWidth,ULONG nHeight,char *sFileName,ULONG nReserved);
//setting and getting  part
DLLEXPORT_API int __stdcall HW_Jump(HANDLE hChannel,ULONG nDirection);
DLLEXPORT_API int __stdcall HW_SetJumpInterval(HANDLE hChannel,ULONG nSecond);
DLLEXPORT_API int __stdcall HW_GetSpeed(HANDLE hChannel,long *pSpeed);
DLLEXPORT_API int __stdcall HW_SetSpeed(HANDLE hChannel,long nSpeed);
DLLEXPORT_API int __stdcall HW_SetPlayPos(HANDLE hChannel,ULONG nPos);
DLLEXPORT_API int __stdcall HW_GetPlayPos(HANDLE hChannel,ULONG* pPos);
DLLEXPORT_API int __stdcall HW_GetVersion(PHW_VERSION pVersion);
DLLEXPORT_API int __stdcall HW_GetCurrentFrameRate(HANDLE hChannel,ULONG* pFrameRate);
DLLEXPORT_API int __stdcall HW_GetCurrentFrameNum(HANDLE hChannel,ULONG* pFrameNum);
DLLEXPORT_API int __stdcall HW_GetFileTotalFrames(HANDLE hChannel,ULONG* pTotalFrames);
DLLEXPORT_API int __stdcall HW_GetFileTime(HANDLE hChannel, ULONG* pFileTime);
DLLEXPORT_API int __stdcall HW_GetCurrentFrameTime(HANDLE hChannel,ULONG* pFrameTime);
DLLEXPORT_API int __stdcall HW_GetPlayedFrames(HANDLE hChannel,ULONG *pDecVFrames);
DLLEXPORT_API int __stdcall HW_GetDeviceSerialNo(HANDLE hChannel,ULONG *pDeviceSerialNo);
DLLEXPORT_API int __stdcall HW_SetFileEndMsg(HANDLE hChannel,HWND hWnd,UINT nMsg);
DLLEXPORT_API int __stdcall HW_SetStreamOpenMode(HANDLE hChannel,ULONG nMode);
DLLEXPORT_API int __stdcall HW_GetStreamOpenMode(HANDLE hChannel,ULONG *pMode);
DLLEXPORT_API int __stdcall HW_SetVideoOutStandard(HANDLE hChannel,ULONG nStandard);
DLLEXPORT_API int __stdcall HW_SetDspDeadlockMsg(HWND hWnd,UINT nMsg);
DLLEXPORT_API int __stdcall HW_GetChannelNum(long nDspNum,long *pChannelNum,ULONG nNumsToGet,ULONG * pNumsGotten);
DLLEXPORT_API int __stdcall HW_ResetDsp(long nDspNum);
DLLEXPORT_API int __stdcall HW_SetAudioPreview(HANDLE hChannel, BOOL bEnable);
//////////////////////////////////////////////

DLLEXPORT_API int __stdcall HW_OpenStreamEx(HANDLE hChannel,PBYTE pFileHeadBuf,DWORD nSize);
DLLEXPORT_API int __stdcall HW_CloseStreamEx(HANDLE hChannel);
DLLEXPORT_API int __stdcall HW_InputVideoData(HANDLE hChannel,PBYTE pBuf,DWORD nSize);
DLLEXPORT_API int __stdcall HW_InputAudioData(HANDLE hChannel,PBYTE pBuf,DWORD nSize);

//4.0
DLLEXPORT_API int __stdcall SetOsdDisplayModeEx(HANDLE hChannelHandle,int color,BOOL Translucent,int param,int nLineCount,USHORT **Format);
typedef void (*MOTION_DETECTION_CALLBACK)(ULONG channelNumber,BOOL bMotionDetected,void *context);
DLLEXPORT_API int __stdcall SetupMotionDetectionEx(HANDLE hChannelHandle,int iGrade,int iFastMotionDetectFps,
												   int iSlowMotionDetectFps,UINT delay,RECT *RectList, int iAreas,
												   MOTION_DETECTION_CALLBACK MotionDetectionCallback,int reserved);
DLLEXPORT_API int __stdcall GetJpegImage(HANDLE hChannelHandle,UCHAR *ImageBuf,ULONG *Size,UINT nQuality);
//WatchDog
DLLEXPORT_API int __stdcall SetWatchDog(UINT boardNumber,BOOL bEnable);
//4.1
typedef void (*FILE_REF_DONE_CALLBACK)(UINT nChannel,UINT nSize);
DLLEXPORT_API int __stdcall HW_SetFileRef(HANDLE hChannel,BOOL bEnable,FILE_REF_DONE_CALLBACK FileRefDoneCallback);
DLLEXPORT_API int __stdcall HW_LocateByAbsoluteTime(HANDLE hChannel,SYSTEMTIME time);
DLLEXPORT_API int __stdcall HW_LocateByFrameNumber(HANDLE hChannel,UINT frmNum);
DLLEXPORT_API int __stdcall HW_GetCurrentAbsoluteTime(HANDLE hChannel,SYSTEMTIME *pTime);
DLLEXPORT_API int __stdcall HW_GetFileAbsoluteTime(HANDLE hChannel,SYSTEMTIME *pStartTime,SYSTEMTIME *pEndTime);
//4.2
DLLEXPORT_API int __stdcall HW_ImportFileRef(HANDLE hChannel,char *pBuffer,UINT nSize);
DLLEXPORT_API int __stdcall HW_ExportFileRef(HANDLE hChannel,char *pBuffer,UINT nSize);
DLLEXPORT_API int __stdcall SetDisplayVideoCapture(UINT nDisplayChannel,BOOL bStart,UINT fps,UINT width,UINT height,unsigned char *imageBuffer);
DLLEXPORT_API int __stdcall RegisterDisplayVideoCaptureCallback(IMAGE_STREAM_CALLBACK DisplayVideoCaptureCallback,void *context);
DLLEXPORT_API int __stdcall SetDisplayVideoBrightness(UINT chan,int Brightness);
DLLEXPORT_API int __stdcall SetChannelStreamCRC(HANDLE hChannel,BOOL bEnable);
DLLEXPORT_API int __stdcall SetSubChannelStreamCRC(HANDLE hChannel,BOOL bEnable);
DLLEXPORT_API int __stdcall HW_SetDecoderPostProcess(HANDLE hChannel,UINT param);
//
typedef void (*DECODER_VIDEO_CAPTURE_CALLBACK)(UINT nChannelNumber,void *DataBuf,UINT width,UINT height,UINT nFrameNum,UINT nFrameTime,SYSTEMTIME *pFrameAbsoluteTime,void *context);
DLLEXPORT_API int __stdcall RegisterDecoderVideoCaptureCallback(DECODER_VIDEO_CAPTURE_CALLBACK DecoderVideoCaptureCallback,void *context);
DLLEXPORT_API int __stdcall HW_SetDecoderVideoCapture(HANDLE hChannel,BOOL bStart,UINT param);
DLLEXPORT_API int __stdcall HW_InputDataByFrame(HANDLE hChannel,PBYTE pBuf,DWORD nSize);
/*
人脸检测接口:仅供测试、评估,以后可能会做修改。
*/
typedef struct
{
	short x,y,width,height;
}FACE_AREA_DEMO;
typedef struct
{
	FACE_AREA_DEMO faceArea;
	FACE_AREA_DEMO leftEyeArea;
	FACE_AREA_DEMO rightEyeArea;
	FACE_AREA_DEMO leftPupilArea;
	FACE_AREA_DEMO rightPupilArea;
	FACE_AREA_DEMO noseArea;
	FACE_AREA_DEMO mouthArea;
}FACE_INFO_DEMO;
typedef void (*FACE_DETECTION_DEMO_CALLBACK)(UINT nChannel,UINT nFaceCount,FACE_INFO_DEMO *pFaceInfo,
										char *pData,UINT nDataSize,UINT nImageWidth,UINT nImageHeight);

DLLEXPORT_API int __stdcall SetFaceDetectionDemo(HANDLE hChannelHandle,BOOL bEnable,
											 UINT nFrameInterval,FACE_DETECTION_DEMO_CALLBACK pFunc,
											 BOOL bCompress,UINT nCompressQuality,BOOL bLocateEyePos);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -