WT_VideoDecode.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. #ifndef __WT_VIDEO_DECODE_H_
  2. #define __WT_VIDEO_DECODE_H_
  3. #include "WT_H264.h"
  4. #if !defined(WIN32) && !defined(__stdcall)
  5. #define __stdcall
  6. #endif
  7. #if !defined(WIN32) && !defined(HWND)
  8. #define HWND void*
  9. #endif
  10. /*
  11. JPEG图像的存储结构
  12. */
  13. typedef struct
  14. {
  15. WT_H264HANDLE handle;
  16. void * user_ptr;
  17. unsigned uWidth; /**<宽度*/
  18. unsigned uHeight; /**<高度*/
  19. unsigned char *pBuffer;
  20. unsigned size;
  21. char device_ip[20]; //设备IP地址
  22. char reserved[100];
  23. }WT_JPEGInfo_t;
  24. /* **********************************************************************
  25. 接口名称:
  26. WT_Stream_Start
  27. 接口功能:
  28. 打开视频流,并解码显示。
  29. 参数:
  30. device_ip[in]:相机IP地址
  31. window_hwnd[in]:显示窗口的句柄,不使用的时候传NULL linux传入空
  32. pixel_format[in]:解码后的像素格式,参照像素格式枚举定义
  33. show_enable[in]:设置解码后是否主动显示到控件上 1:显示 0:不显示 linux不支持显示需要传入0
  34. decode_type[in]:设置视频流类型,0:H.264流 1:JPEG流 2:H.265流
  35. user_prt 用户自定义指针
  36. 返回值
  37. 0:失败
  38. >0:返回句柄
  39. ****************************************************************************/
  40. WT_H264HANDLE __stdcall WT_Stream_Start(char *device_ip, HWND window_hwnd, enum WT_PixelFormat_t pixel_format, int show_enable,int decode_type,void *user_prt) ;
  41. /* *************************************************
  42. 说明:
  43. 获取JPEg数据的回调函数定义
  44. 参数:
  45. jpeg_image[in]:JPEG数据
  46. ******************************************************/
  47. typedef void (*WT_JPEGCallback)(WT_JPEGInfo_t *jpeg_image);
  48. /******************************************************
  49. 函数名称:
  50. WT_RegJPEGEvent
  51. 函数功能:
  52. 注册JPEG回调函数
  53. 参数:
  54. jpeg_call_back[in]:指向JPEG回调函数的指针
  55. 返回值:1
  56. *********************************************************/
  57. int __stdcall WT_RegJPEGEvent(WT_JPEGCallback jpeg_call_back);
  58. /****************************************************
  59. 函数名称:
  60. WT_RegH264DecodeEvent_EX
  61. 函数功能:
  62. 为已经打开的H.264解码器,单独传入回调函数
  63. 参数:
  64. h264_decode_callback[in]:H.264解码回调函数
  65. h264_decode_handle[in]:解码器句柄
  66. 返回值:
  67. -1失败
  68. 1成功
  69. ****************************************************/
  70. int __stdcall WT_RegH264DecodeEvent_EX(WT_H264DecodeCallback h264_decode_callback,WT_H264HANDLE h264_decode_handle);
  71. /******************************************************
  72. 函数名称:
  73. WT_RegJPEGEvent_EX
  74. 函数功能:
  75. 注册单路JPEG回调函数
  76. 参数:
  77. jpeg_call_back[in]:指向JPEG回调函数的指针
  78. decode_handle[in]:解码器句柄
  79. 返回值:1
  80. *********************************************************/
  81. int __stdcall WT_RegJPEGEvent_EX(WT_JPEGCallback jpeg_call_back,WT_H264HANDLE decode_handle);
  82. /***************************************************************
  83. 函数名称:
  84. WT_H264Start_EX
  85. 函数功能
  86. 指定RTSP端口打开H.264流,并解码显示
  87. 参数
  88. device_ip[in]:要连接的设备IP地址
  89. show_window_hwnd[in]:要显示的控件句柄linux传入空
  90. pixelFormat[in]:设置H264解码后的像素格式参照像素格式定义
  91. show_enable[in]:设置解码后是否主动显示到控件上 1:显示0:不显示linux不支持显示需要传入0
  92. port[in]:RTSP端口
  93. 返回值
  94. 成功:返回H264句柄
  95. 失败:0
  96. *****************************************************************/
  97. WT_H264HANDLE __stdcall WT_H264Start_EX(char *device_ip, HWND show_window_hwnd, enum WT_PixelFormat_t pixelFormat, int show_enable,int port);
  98. /* **********************************************************************
  99. 接口名称:
  100. WT_Stream_Start_EX
  101. 接口功能:
  102. 指定RTSP端口打开视频流,并解码显示。
  103. 参数:
  104. device_ip[in]:相机IP地址
  105. window_hwnd[in]:显示窗口的句柄,不使用的时候传NULLlinux传入空
  106. pixel_format[in]:解码后的像素格式,参照像素格式枚举定义
  107. show_enable[in]:设置解码后是否主动显示到控件上 1:显示 0:不显示linux不支持显示需要传入0
  108. decode_type[in]:设置视频流类型,0:H.264流 1:JPEG流 2:H.265流
  109. user_prt 用户自定义指针
  110. port [in]:RTSP端口
  111. 返回值
  112. 0:失败
  113. >0:返回句柄
  114. ****************************************************************************/
  115. WT_H264HANDLE __stdcall WT_Stream_Start_EX(char *device_ip, HWND window_hwnd, enum WT_PixelFormat_t pixel_format, int show_enable, int decode_type, void *user_prt, int port);
  116. #endif