DataType.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. ///////////////////////////////////////////////////////////////////////////
  2. // DS-40xxHC/HF BOARD SYSTEM SDK //
  3. ///////////////////////////////////////////////////////////////////////////
  4. #ifndef DATA_TYPE_H
  5. #define DATA_TYPE_H
  6. #define FRAME_HEAD_MAGIC 0x03211546
  7. #define SYSTEM_SYNC_ID 2
  8. typedef struct tagFrameInfo{
  9. ULONG SyncId; /* 00000000000000000000000000010b */
  10. ULONG Magic;
  11. USHORT FrameType; /* I frames , P frames or BBP frames Audio frames or dsp status etc */
  12. ULONG Length; /*lenth include this header */
  13. ULONG FrameNumber; /* serial number of this frame */
  14. UCHAR Breakable; /* indicate if stream breakable, you could restart new file(with PktSysHeader) if true */
  15. /*ULONG Ack;*/
  16. ULONG PTS; /* system clock when this frames is processed */
  17. }TMFRAME_HEADER, *PTMFRAME_HEADER;
  18. typedef enum {
  19. StandardNone = 0x80000000,
  20. StandardNTSC = 0x00000001,
  21. StandardPAL = 0x00000002,
  22. StandardSECAM = 0x00000004,
  23. } VideoStandard_t;
  24. typedef enum {
  25. PktError = 0,
  26. PktIFrames = 0x0001,
  27. PktPFrames = 0x0002,
  28. PktBBPFrames = 0x0004,
  29. PktAudioFrames = 0x0008,
  30. PktMotionDetection = 0x00010,
  31. PktDspStatus = 0x00020,
  32. PktOrigImage = 0x00040,
  33. PktSysHeader = 0x00080,
  34. PktBPFrames = 0x00100,
  35. PktSFrames = 0x00200,
  36. PktSubIFrames = 0x00400,
  37. PktSubPFrames = 0x00800,
  38. PktSubBBPFrames = 0x01000,
  39. PktSubSysHeader = 0x02000
  40. }FrameType_t;
  41. typedef struct tagVersion{
  42. ULONG DspVersion, DspBuildNum;
  43. ULONG DriverVersion, DriverBuildNum;
  44. ULONG SDKVersion, SDKBuildNum;
  45. }VERSION_INFO, *PVERSION_INFO;
  46. typedef enum {
  47. ENC_CIF_FORMAT = 0,
  48. ENC_QCIF_FORMAT = 1,
  49. ENC_2CIF_FORMAT = 2,
  50. ENC_4CIF_FORMAT = 3,
  51. ENC_QQCIF_FORMAT = 4,
  52. ENC_CIFQCIF_FORMAT =5,
  53. ENC_CIFQQCIF_FORMAT =6,
  54. ENC_DCIF_FORMAT =7
  55. }PictureFormat_t;
  56. typedef struct tagMotionData{
  57. PictureFormat_t PicFormat;
  58. ULONG HorizeBlocks;
  59. ULONG VerticalBlocks;
  60. ULONG BlockSize;
  61. }MOTION_DATA_HEADER, *PMOTION_DATA_HEADER;
  62. #define _OSD_BASE 0x9000
  63. #define _OSD_YEAR4 _OSD_BASE+0
  64. #define _OSD_YEAR2 _OSD_BASE+1
  65. #define _OSD_MONTH3 _OSD_BASE+2
  66. #define _OSD_MONTH2 _OSD_BASE+3
  67. #define _OSD_DAY _OSD_BASE+4
  68. #define _OSD_WEEK3 _OSD_BASE+5
  69. #define _OSD_CWEEK1 _OSD_BASE+6
  70. #define _OSD_HOUR24 _OSD_BASE+7
  71. #define _OSD_HOUR12 _OSD_BASE+8
  72. #define _OSD_MINUTE _OSD_BASE+9
  73. #define _OSD_SECOND _OSD_BASE+10
  74. #endif