summaryrefslogtreecommitdiff
path: root/src/libcamera/include
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo@jmondi.org>2019-02-19 17:10:52 +0100
committerJacopo Mondi <jacopo@jmondi.org>2019-03-02 18:32:00 +0100
commit3e94f9d7a247376edeacbfc97c7944515c2e147e (patch)
tree533fcd73be2c22d194e4c4111655ae1f5adc9299 /src/libcamera/include
parent00889796830bb46a9dbf2029a059dda90287e3db (diff)
libcamera: v4l2_device: Add support for META_CAPTURE devices
Add support for devices that provide video meta-data to v4l2_device.cpp and re-arrange bufferType handling in open() method. Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Diffstat (limited to 'src/libcamera/include')
-rw-r--r--src/libcamera/include/v4l2_device.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/libcamera/include/v4l2_device.h b/src/libcamera/include/v4l2_device.h
index 622c9722..5c379fac 100644
--- a/src/libcamera/include/v4l2_device.h
+++ b/src/libcamera/include/v4l2_device.h
@@ -51,13 +51,37 @@ struct V4L2Capability final : v4l2_capability {
bool isCapture() const
{
return device_caps() & (V4L2_CAP_VIDEO_CAPTURE |
- V4L2_CAP_VIDEO_CAPTURE_MPLANE);
+ V4L2_CAP_VIDEO_CAPTURE_MPLANE |
+ V4L2_CAP_META_CAPTURE);
}
bool isOutput() const
{
return device_caps() & (V4L2_CAP_VIDEO_OUTPUT |
V4L2_CAP_VIDEO_OUTPUT_MPLANE);
}
+ bool isVideo() const
+ {
+ return device_caps() & (V4L2_CAP_VIDEO_CAPTURE |
+ V4L2_CAP_VIDEO_CAPTURE_MPLANE |
+ V4L2_CAP_VIDEO_OUTPUT |
+ V4L2_CAP_VIDEO_OUTPUT_MPLANE);
+ }
+ bool isMeta() const
+ {
+ return device_caps() & V4L2_CAP_META_CAPTURE;
+ }
+ bool isVideoCapture() const
+ {
+ return isVideo() && isCapture();
+ }
+ bool isVideoOutput() const
+ {
+ return isVideo() && isOutput();
+ }
+ bool isMetaCapture() const
+ {
+ return isMeta() && isCapture();
+ }
bool hasStreaming() const
{
return device_caps() & V4L2_CAP_STREAMING;