capture_op.h 1.3 KB

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