capture_op.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. #pragma once
  2. #include "../include/api.h"
  3. // #include "NvBufSurface.h"
  4. // #include <opencv2/core.hpp>
  5. // #include <opencv2/imgproc.hpp>
  6. // #include <opencv2/highgui.hpp>
  7. typedef struct
  8. {
  9. /* User accessible pointer */
  10. unsigned char * start;
  11. /* Buffer length */
  12. unsigned int size;
  13. /* File descriptor of NvBuffer */
  14. int dmabuff_fd;
  15. } nv_buffer;
  16. // typedef struct
  17. // {
  18. // /* Camera v4l2 context */
  19. // // char cam_dev[16];
  20. // int cam_fd;
  21. // // int cam_fd1;
  22. // // int fd_r;
  23. // unsigned int cam_pixfmt;
  24. // unsigned int cam_w;
  25. // unsigned int cam_h;
  26. // // unsigned int frame;
  27. // // cv::Mat frame_mat;
  28. // /* Global buffer ptr */
  29. // nv_buffer * g_buff;
  30. // bool capture_dmabuf;
  31. // /* EGL renderer
  32. // NvEglRenderer *renderer; */
  33. // // int render_dmabuf_fd;
  34. // int fps;
  35. // /* CUDA processing
  36. // bool enable_cuda;
  37. // EGLDisplay egl_display;
  38. // EGLImageKHR egl_image;*/
  39. // /* MJPEG decoding
  40. // NvJPEGDecoder *jpegdec;*/
  41. // /* Verbose option */
  42. // bool enable_verbose;
  43. // } context_t;
  44. typedef struct
  45. {
  46. /* Camera v4l2 context */
  47. const char * cam_devname;
  48. char cam_file[16];
  49. int cam_fd;
  50. unsigned int cam_pixfmt;
  51. unsigned int cam_w;
  52. unsigned int cam_h;
  53. unsigned int frame;
  54. unsigned int save_n_frame;
  55. /* Global buffer ptr */
  56. nv_buffer * g_buff;
  57. bool capture_dmabuf;
  58. /* EGL renderer */
  59. // NvEglRenderer *renderer;
  60. int render_dmabuf_fd;
  61. int fps;
  62. /* CUDA processing */
  63. bool enable_cuda;
  64. // EGLDisplay egl_display;
  65. // EGLImageKHR egl_image;
  66. /* MJPEG decoding */
  67. // NvJPEGDecoder *jpegdec;
  68. //
  69. /* Verbose option */
  70. bool enable_verbose;
  71. } context_t;
  72. class CaptureOp
  73. {
  74. public:
  75. CaptureOp(RenderPosition type,int32_t index);
  76. RenderPosition GetType();
  77. int32_t GetIndex();
  78. bool IsForward();
  79. void SetForward(bool b);
  80. context_t* _ctx0=nullptr;
  81. context_t* _ctx1=nullptr;
  82. private:
  83. RenderPosition _type;
  84. bool _forward;
  85. int32_t _index;
  86. };