summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libcamera/include/v4l2_device.h23
-rw-r--r--src/libcamera/v4l2_device.cpp6
2 files changed, 25 insertions, 4 deletions
diff --git a/src/libcamera/include/v4l2_device.h b/src/libcamera/include/v4l2_device.h
index cb3601ca..413bb7fd 100644
--- a/src/libcamera/include/v4l2_device.h
+++ b/src/libcamera/include/v4l2_device.h
@@ -32,10 +32,25 @@ struct V4L2Capability final : v4l2_capability {
? v4l2_capability::device_caps
: v4l2_capability::capabilities;
}
-
- bool isCapture() const { return device_caps() & V4L2_CAP_VIDEO_CAPTURE; }
- bool isOutput() const { return device_caps() & V4L2_CAP_VIDEO_OUTPUT; }
- bool hasStreaming() const { return device_caps() & V4L2_CAP_STREAMING; }
+ bool isMultiplanar() const
+ {
+ return device_caps() & (V4L2_CAP_VIDEO_CAPTURE_MPLANE |
+ V4L2_CAP_VIDEO_OUTPUT_MPLANE);
+ }
+ bool isCapture() const
+ {
+ return device_caps() & (V4L2_CAP_VIDEO_CAPTURE |
+ V4L2_CAP_VIDEO_CAPTURE_MPLANE);
+ }
+ bool isOutput() const
+ {
+ return device_caps() & (V4L2_CAP_VIDEO_OUTPUT |
+ V4L2_CAP_VIDEO_OUTPUT_MPLANE);
+ }
+ bool hasStreaming() const
+ {
+ return device_caps() & V4L2_CAP_STREAMING;
+ }
};
class MediaEntity;
diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp
index 0ce2b187..9cb504d2 100644
--- a/src/libcamera/v4l2_device.cpp
+++ b/src/libcamera/v4l2_device.cpp
@@ -57,6 +57,12 @@ LOG_DEFINE_CATEGORY(V4L2)
*/
/**
+ * \fn bool V4L2Capability::isMultiplanar()
+ * \brief Identify if the device implement V4L2 multiplanar APIs
+ * \return True if the device supports multiplanar APIs
+ */
+
+/**
* \fn bool V4L2Capability::isCapture()
* \brief Identify if the device is capable of capturing video
* \return True if the device can capture video frames