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

📄 ds40xxsdk.h

📁 linux下开发的基于pc的DVR系统
💻 H
📖 第 1 页 / 共 2 页
字号:
	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);

typedef void(*STREAM_READ_CALLBACK)(int cahnnelNum, char *pBuf, int frameType,int length);
typedef void* (*IMAGE_STREAM_CALLBACK)(UINT channelNumber, void* context);
typedef void (*MOTION_DETECTION_CALLBACK)(ULONG channelNumber,int bMotionDetected,void *context);
typedef void (*DECODER_VIDEO_CAPTURE_CALLBACK)(UINT nChannelNumber,void *DataBuf,UINT width,UINT height,
					   UINT nFrameNum,UINT nFrameTime,SYSTEMTIME *pFrameAbsoluteTime,void *context);
//****************************************//
// The Function list					  //
//****************************************//
			int GetLastErrorNum();
			int InitDSPs();
			int DeInitDSPs();

			int ChannelOpen(UINT channelNum, STREAM_READ_CALLBACK streamReadCallback);
			int ChannelClose(UINT hChannelHandle);

			int GetTotalChannels();
			int GetTotalDSPs();
			int	GetBoardCount();
			int GetBoardDetail(UINT boardNum, DS_BOARD_DETAIL *BoardDetail);
			int GetDspDetail(UINT dspNum,DSP_DETAIL *DspDetail);
			int GetEncodeChannelCount();
			int GetDecodeChannelCount();
			int GetDisplayChannelCount();			
			int GetBoardInfo(int hChannelHandle,UINT *boardType, char *serialNo);
			int GetCapability(int hChannelHandle, CHANNEL_CAPABILITY *capability);

			int StopVideoPreview(int hChannelHandle);						
			int StartVideoPreview(int hChannelHandle, PREVIEWCONFIG* pPreviewConf, UINT useSyncSem);
                        int StartVideoPreviewEx(int hChannelHandle, PREVIEWCONFIG* pPreviewConf, UINT useSyncSem, UINT mode);

			int SetVideoPara(int hChannelHandle, int brightness,int contrast, int saturation, int hue);
			int GetVideoPara(int hChannelHandle, VideoStandard_t *videoStandard, int *brightness,int *contrast, int *saturation, int *hue);
			void GetSDKVersion(PVERSION_INFO versionInfo);
			int SetStreamType(int hChannelHandle, int type);
			int GetStreamType(int hChannelHandle, int *streamType);
			int SetSubStreamType(int hChannelHandle, int type);
			int GetSubStreamType(int hChannelHandle, int *streamType);

			int StartVideoCapture(int hChannelHandle);
			int StartSubVideoCapture(int hChannelHandle);
			int StopVideoCapture(int hChannelHandle);
			int StopSubVideoCapture(int hChannelHandle);

			int SetIBPMode(int hChannelHandle, int KeyFrameIntervals, int BFrames, int PFrames,int FrameRate);
			int SetDefaultQuant(int hChannelHandle, int IQuantVal, int PQuantVal, int BQuantVal);			

			int SetEncoderPictureFormat(int hChannelHandle, PictureFormat_t pictureFormat);
			int SetSubEncoderPictureFormat(int hChannelHandle, PictureFormat_t pictureFormat);

			int SetupBitrateControl(int hChannelHandle, ULONG maxbps);
			int SetBitrateControlMode(int hChannelHandle, BitrateControlType_t brc);

			int SetVideoStandard(int hChannelHandle, VideoStandard_t videoStandard);
			int SetDefaultVideoStandard(VideoStandard_t VideoStandard);
			int SetVideoDetectPrecision(int hChannelHandle,unsigned int value);
			int GetVideoSignal(int hChannelHandle);
			int SetInputVideoPosition(int hChannelHandle, unsigned int x, unsigned int y);

			int SetOsdDisplayMode(int hChannelHandle, int brightness, int translucent, int twinkInterval,unsigned short *format1, unsigned short *format2);
			int SetOsd(int hChannelHandle, int enable);
			int SetupDateTime(int hChannelHandle, SYSTEMTIME *now);//now is invalid for Ver4.0
			int SetOsdDisplayModeEx(int hChannelHandle,int color,int Translucent,int param,int nLineCount,unsigned short **Format);

			int LoadYUVFromBmpFile(char *FileName, unsigned char *yuv, int BufLen, int *Width, int *Height);
			int SetLogoDisplayMode(int hChannelHandle, unsigned short ColorKeyR, unsigned short ColorKeyG,
				unsigned short ColorKeyB, unsigned short bTranslucent, int TwinkleInterval);
			int SetLogo(int hChannelHandle, int x, int y, int w, int h, unsigned char *yuv);
			int StopLogo(int hChannelHandle);
			int SetupMask(int hChannelHandle, RECT *rectList, int iAreas);
			int StopMask(int hChannelHandle);

			int AdjustMotionDetectPrecision(int hChannelHandle,int iGrade, int iFastMotionDetectFps, int iSlowMotionDetectFps);
			int SetupMotionDetection(int hChannelHandle, RECT *RectList, int iAreas);						
			int StartMotionDetection(int hChannelHandle);
			int StopMotionDetection(int hChannelHandle);
			int MotionAnalyzer(int hChannelHandle, char *MotionData, int iThreshold, int *iResult);
			int SetupMotionDetectionEx(int hChannelHandle,int iGrade,int iFastMotionDetectFps,int iSlowMotionDetectFps,
					UINT delay,RECT *RectList, int iAreas,MOTION_DETECTION_CALLBACK MotionDetectionCallback,int reserved);

			int SetAudioPreview(int hChannelHandle, int bEnable);
			int GetSoundLevel(int hChannelHandle);

			int RegisterImageStreamCallback(IMAGE_STREAM_CALLBACK pFunc, void* context);
			int SetImageStream(int hChannelHandle, int bStart, unsigned int fps, unsigned width, unsigned height, unsigned char* imageBuf);

			int GetOriginalImage(int hChannelHandle, unsigned char *imageBuf, int *size);			
			int SaveYUVToBmpFile(char *FileName, unsigned char *yuv, int Width, int Height);
			int GetJpegImage(int hChannelHandle,unsigned char *ImageBuf,unsigned long *Size,unsigned int nQuality);

			int SetupSubChannel(int hChannelHandle, int iSubChannel);
			int GetSubChannelStreamType(void *dataBuf, int frameType);

			int GetFramesStatistics(int hChannelHandle, PFRAMES_STATISTICS framesStatistics);
			int CaptureIFrame(int hChannelHandle);

			int SetDeInterlace(int hChannelHandle,UINT mode,UINT level);
			int ResetDSP(int hChannelHandle);
			
			typedef void (*COVER_DETECTION_CALLBACK)(ULONG channelNumber,int bCoverDetected,void *context);
			int SetCoverDetection(int hChannelHandle,int bEnable,int iGrade,int delay,
								COVER_DETECTION_CALLBACK CoverDetectionCallback);
			int SetupMosaic(int hChannelHandle,int iAreas,RECT *rectList,int reserved);
			int SetWatchDog(unsigned int boardNumber,int bEnable);	//just use in ds4016hcs
			typedef void (*ALARM_IN_CALLBACK)(UINT boardNumber,UINT alarmInFlag,UINT alarmInStatus,void *context);
			int SetAlarmIn(unsigned int boardNumber,unsigned int alarmInEnableFlag,unsigned int alarmInParam,
							ALARM_IN_CALLBACK pCallbackFunc,int reserved); //just use in ds4016hcs
			int SetAlarmOut(unsigned int boardNumber,unsigned int alarmOutFlag,unsigned int alarmOutValue,int reserved);//just use in ds4016hcs

			/* modified at 2007.7.14 */
			int SetFaceDetectionDemo(int hChannelHandle,int bEnable,
						 UINT nFrameInterval,FACE_DETECTION_DEMO_CALLBACK pFunc,
						 int bCompress,UINT nCompressQuality,int bLocateEyePos);
			//////////////////////////////////////////////////////////////////////////////////////////
			//					The api list for DS400xMD											//
			//////////////////////////////////////////////////////////////////////////////////////////

			int HW_InitDecDevice(long *pDeviceTotal);
			int HW_ReleaseDecDevice();
			int HW_ChannelOpen(long ChannelNum,int* phChannel);
			int HW_ChannelClose(int hChannel);

			int HW_OpenStream(int hChannel, char* pFileHeadBuf,int nSize);
			int HW_CloseStream(int hChannel);
			int HW_InputData(int hChannel,char* pBuf,int nSize);

			int HW_OpenFile(int hChannel,char* sFileName);
			int HW_CloseFile(int hChannel);

			int HW_Play(int hChannel);
			int HW_Stop(int hChannel);
			int HW_Pause(int hChannel,ULONG bPause);

			int HW_PlaySound(int hChannel);
			int HW_StopSound(int hChannel);
			int HW_SetVolume(int hChannel,ULONG nVolume);

			int HW_StartCapFile(int hChannel,char* sFileName);
			int HW_StopCapFile(int hChannel);

			int HW_GetPictureSize(int hChannel,ULONG* pWidth, ULONG* pHeight);
			int HW_GetYV12Image(int hChannel, char* pBuffer, ULONG nSize);
			int HW_ConvertToBmpFile(char* pBuf,ULONG nSize,ULONG nWidth,ULONG nHeight,char *sFileName,ULONG nReserved);
			int HW_GetSpeed(int hChannel,long *pSpeed);
			int HW_SetSpeed(int hChannel,long nSpeed);
			int HW_SetPlayPos(int hChannel,ULONG nPos);
			int HW_GetPlayPos(int hChannel,ULONG* pPos);
			int HW_SetJumpInterval(int hChannel,ULONG nSecond);
			int HW_Jump(int hChannel,ULONG nDirection);

			int HW_GetVersion(PHW_VERSION pVersion);
			int HW_GetCurrentFrameRate(int hChannel,ULONG* pFrameRate);
			int HW_GetCurrentFrameNum(int hChannel,ULONG* pFrameNum);
			int HW_GetFileTotalFrames(int hChannel,ULONG* pTotalFrames);
			int HW_GetFileTime(int hChannel, ULONG* pFileTime);
			int HW_GetCurrentFrameTime(int hChannel,ULONG* pFrameTime);
			int HW_GetPlayedFrames(int hChannel,ULONG *pDecVFrames);
			int HW_SetFileEndMsg(int hChannel, sem_t* nMsg);
			int HW_SetStreamOpenMode(int hChannel,ULONG nMode);
			int HW_GetStreamOpenMode(int hChannel,ULONG *pMode);			
			int HW_SetAudioPreview(int hChannel, UINT bEnable);
			
			int HW_StartDecVgaDisplay(int hChannel,PREVIEWCONFIG* pPreviewConf, UINT useSyncSem);
			int HW_StopDecChanVgaDisplay(int hChannel);

			int SetDisplayStandard(UINT nDisplayChan,VideoStandard_t VideoStandard);
			int SetDisplayRegion(UINT nDisplayChannel,UINT nRegionCount,REGION_PARAM *pInit,UINT nReserved);			
			int ClearDisplayRegion(UINT nDisplayChannel,UINT flgRegion);
			int SetDisplayRegionPosition(UINT nDisplayChan,UINT region,UINT x,UINT y);
			int FillDisplayRegion(UINT nDisplayChan,UINT region,unsigned char *pImage);
			int SetDecoderAudioOutput(UINT nDecodeChannel,UINT bEnable,UINT nOutputChannel);
			int SetDecoderVideoOutput(UINT nDecodeChannel,UINT nPort,UINT bOpen,UINT nDisplayChannel,UINT nDisplayRegion,UINT nReserved);
			int SetDecoderVideoExtOutput(UINT nDecodeChannel,UINT nPort,UINT bOpen,UINT nDisplayChannel,UINT nDisplayRegion,UINT nReserved);

			int SetEncoderVideoExtOutput(UINT nEncodeChannel,UINT nPort,UINT bOpen,UINT nDisplayChannel,UINT nDisplayRegion,UINT nReserved);
			/* V4.1 add */
			typedef void (*FILE_REF_DONE_CALLBACK)(UINT nChannel,UINT nSize);
			int HW_SetFileRef(int hChannel,UINT bEnable,FILE_REF_DONE_CALLBACK FileRefDoneCallback);
			int HW_GetFileAbsoluteTime(int hChannel,SYSTEMTIME *pStartTime,SYSTEMTIME *pEndTime);
			int HW_GetCurrentAbsoluteTime(int hChannel,SYSTEMTIME *pTime);
			int HW_LocateByAbsoluteTime(int hChannel,SYSTEMTIME time);
			int HW_LocateByFrameNumber(int hChannel,UINT frmNum);
			/* V4.1.5 add at 2006.1.19 */
			int HW_ExportFileRef(int hChannel,char *pBuffer,UINT nSize);
			int HW_ImportFileRef(int hChannel,char *pBuffer,UINT nSize);
			int SetDisplayVideoCapture(UINT chan,UINT bStart,UINT fps,UINT width,UINT height,unsigned char *imageBuffer);
			int RegisterDisplayVideoCaptureCallback(IMAGE_STREAM_CALLBACK pFunc,void *context);
			/* add at 2006.3.21 */
			int SetDisplayVideoBrightness(int hChannel,int Brightness);

			/* add at 2006.3.29 */
			int HW_ResetStream(int hChannel);
			/* add at 2006.4.6 */
			int HW_InputDataByFrame(int hChannel,char* pBuf,int nSize);
			/* add at 2006.4.25 */
			int SetChannelStreamCRC(int hChannelHandle, int bEnable);
			int SetSubChannelStreamCRC(int hChannelHandle, int bEnable);
			/* add at 2006.6.29 */
			int HW_SetDecoderPostProcess(int hChannel, UINT param);		
			/* add at 2006.10.19 */
		
			int RegisterDecoderVideoCaptureCallback(DECODER_VIDEO_CAPTURE_CALLBACK DecoderVideoCaptureCallback,void *context);
			int HW_SetDecoderVideoCapture(int hChannel,int bStart,UINT param);
			
			/* add at 2007.07.14*/
			int SetSystemParameters(unsigned int *param);
			
#ifdef __cplusplus
        }
#endif

#endif

⌨️ 快捷键说明

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