Go to the documentation of this file.
37 #include <sys/ioctl.h>
38 #include <linux/usb/video.h>
39 #include <linux/uvcvideo.h>
40 #include <linux/videodev2.h>
45 #ifdef V4L2_META_FMT_UVC
48 #pragma message ( "\nLibrealsense notification: V4L2_META_FMT_UVC was not defined, adding metadata constructs")
54 #define V4L2_META_FMT_UVC v4l2_fourcc('U', 'V', 'C', 'H')
56 #ifndef V4L2_CAP_META_CAPTURE
57 #define V4L2_CAP_META_CAPTURE 0x00800000
58 #endif // V4L2_CAP_META_CAPTURE
60 #endif // V4L2_META_FMT_UVC
62 #ifndef V4L2_META_FMT_D4XX
63 #define V4L2_META_FMT_D4XX v4l2_fourcc('D', '4', 'X', 'X')
68 #define LOG_DEBUG_V4L(...) do { CLOG(DEBUG ,LIBREALSENSE_ELPP_ID) << __VA_ARGS__; } while(false)
70 #define LOG_DEBUG_V4L(...)
115 static std::map<std::string, std::recursive_mutex>
_dev_mutex;
120 static int xioctl(
int fh,
unsigned long request,
void *arg);
214 v4l2_buffer
buf= v4l2_buffer(),
215 std::shared_ptr<platform::buffer> data_buf=
nullptr);
226 std::array<kernel_buf_guard, e_max_kernel_buf_type>&
get_buffers()
235 std::array<kernel_buf_guard, e_max_kernel_buf_type>
buffers;
277 bool pull_video_with_metadata(std::shared_ptr<v4l2_buffer>& video_buffer, std::shared_ptr<v4l2_buffer>& md_buffer,
int& video_fd,
int& md_fd);
368 std::vector<stream_profile>
get_profiles()
const override;
370 void lock()
const override;
371 void unlock()
const override;
385 virtual void streamon()
const override;
424 struct v4l2_capability
cap;
GLsizei const GLchar *const * string
constexpr auto LOCAL_V4L2_BUF_TYPE_META_CAPTURE
const std::string control
rs2_option
Defines general configuration controls. These can generally be mapped to camera UVC controls,...
GLuint const GLchar * name
#define LOG_DEBUG_V4L(...)
constexpr bool metadata_node
GLbitfield GLuint64 timeout
GLenum GLuint GLenum GLsizei const GLchar * buf
librealsense2
Author(s): LibRealSense ROS Team
autogenerated on Fri Aug 2 2024 08:30:01