📄 ds40xxsdk.h
字号:
/** The api for DS40xxHC DS400HT DS400MD board* Last update time: 2005-7-18 */#ifndef _DS40XXSDK_H_#define _DS40XXSDK_H_#ifdef __cplusplus extern "C"{#endif//******************************//// error code list ////******************************//#define ErrorCodeSuccess 0x0000#define ErrorCodeDSPUninit 0x0001#define ErrorCodeDSPNotReady 0x0002#define ErrorCodeDSPLoadFail 0x0004#define ErrorCodeDSPSyncObjectFail 0x0005#define ErrorCodeDSPCountOverflow 0x0009#define ErrorCodeEncodeChannelOverflow 0x000a#define ErrorCodeDecodeChannelOverflow 0x000b#define ErrorCodeBoardOverflow 0x000c#define ErrorCodeDSPHexBlockLenOverflow 0x000d#define ErrorCodeDSPProgramCheckoutFail 0x000e#define ErrorCodeDSPInitRecheckFail 0x000f#define ErrorCodeDSPBusy 0x0010#define ErrorCodeNoCardInstalled 0x0102#define ErrorCodeIoctlFail 0x0103#define ErrorCodeMemLocateFail 0x0104#define ErrorCodeDuplicateSN 0x0105#define ErrorCodeCreateThreadFail 0x0106#define ErrorCodeDSPCmdInvalid 0x0107#define ErrorCodeHOSTCmdInvalid 0x0108#define ErrorCodeDSPRespondCmdFail 0x0109#define ErrorCodeOrderFail 0x010a#define ErrorCodeKernelFail 0x010b#define ErrorCodeStreamBufUnderflow 0x010c#define ErrorCodeChannelOutofRange 0x0200#define ErrorCodeInvalidEncodeChannel 0x0201#define ErrorCodeInvalidArgument 0x0202#define ErrorCodeNotSupport 0x0203#define ErrorCodeMmapFail 0x0204#define ErrorCodeFileInvalid 0x0301#define ErrorCodeOpenFileFail 0x0302#define ErrorCodeFileSizeZero 0x0303#define ErrorCodeBadFileFormat 0x0304#define ErrorCodeBadFileHeader 0x0305#define ErrorCodeParaOver 0x0306#define ErrorCodeCreateFileFail 0x0307#define ErrorCodeNoSpare 0x0308#define ErrorCodeInvalidDevice 0x0309#define ErrorCodeInsufficientMem 0x030a#define ErrorCodeCardSerialError 0x030b#define ErrorCodeInvalidDecodeChannel 0x030c#define ErrorCodeOutOfMemory 0x030d#define ErrorCodeSemCreateFail 0x030e//////////////////////////////////////////////////////////////////// type define ////////////////////////////////////////////////////////////////////#define STREAM_TYPE_VIDEO 1#define STREAM_TYPE_AUDIO 2#define STREAM_TYPE_AVSYNC 3#define HW_JUMP_FORWARD 309 #define HW_JUMP_BACKWARD 310typedef enum { DS400XM =0, //400XM DS400XH =1, //400XH DS4004HC =2, //4004HC DS4008HC =3, //4008HC DS4016HC =4, //4016HC DS4001HF =5, //4001HF DS4004HF =6, //4004HF DS4002MD =7, //4002MD DS4004MD =8, //4004MD DS4016HCS =9, //4016HCS DS4002HT =10, //4002HT DS4004HT =11, //4004HT DS4008HT =12, //4008HT DS4004HC_PLUS =13, //4004HC+ DS4008HC_PLUS =14, //4008HC+ DS4016HC_PLUS =15, //4016HC+ INVALID_BOARD_TYPE =0xffffffff,}BOARD_TYPE_DS;typedef struct{ BOARD_TYPE_DS type; //板卡类型 char 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; //the version for hardware: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;typedef struct tagChannelCapability{ UCHAR bAudioPreview; UCHAR bAlarmIO; UCHAR bWatchDog;}CHANNEL_CAPABILITY, *PCHANNEL_CAPABILITY;typedef enum { brCBR = 0, brVBR = 1,}BitrateControlType_t;typedef struct{ UINT year; UINT month; UINT day; UINT dayOfWeek; UINT hour; UINT minute; UINT second; UINT milliSecond;}SYSTEMTIME;typedef struct tagFramsStatistics{ ULONG VideoFrames; ULONG AudioFrames; ULONG FramesLost; ULONG QueueOverflow; ULONG CurBps;}FRAMES_STATISTICS, *PFRAMES_STATISTICS;typedef struct _Preview_Config{ ULONG imageSize; ULONG w; ULONG h; char* dataAddr; sem_t* SyncSem; //the semphore for have new image coming sem_t* ChangeSem; //the semphore for the image size changed}PREVIEWCONFIG, *PPREVIEWCONFIG;//Version infotypedef struct { ULONG DspVersion, DspBuildNum; ULONG DriverVersion, DriverBuildNum; ULONG SDKVersion, SDKBuildNum;}HW_VERSION, *PHW_VERSION;typedef struct{ long bToScreen; long bToVideoOut; long nLeft; long nTop; long nWidth; long nHeight; long nReserved;}DISPLAY_PARA,*PDISPLAY_PARA;#define MAX_DISPLAY_REGION 16typedef struct{ UINT left; UINT top; UINT width; UINT height; UINT r; UINT g; UINT b; UINT param;}REGION_PARAM;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -