[libcamera-devel] [PATCH v3 02/14] libcamera: v4l2_controls: Add min and max to V4L2ControlInfo

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Jul 1 01:38:05 CEST 2019


Add min() and max() methods to V4L2ControlInfo to report the control's
minimum and maximum value respectively.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 src/libcamera/include/v4l2_controls.h |  6 ++++++
 src/libcamera/v4l2_controls.cpp       | 14 ++++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/src/libcamera/include/v4l2_controls.h b/src/libcamera/include/v4l2_controls.h
index 2c8cb9003f25..0047efab11fa 100644
--- a/src/libcamera/include/v4l2_controls.h
+++ b/src/libcamera/include/v4l2_controls.h
@@ -28,11 +28,17 @@ public:
 	size_t size() const { return size_; }
 	const std::string &name() const { return name_; }
 
+	int64_t min() const { return min_; }
+	int64_t max() const { return max_; }
+
 private:
 	unsigned int id_;
 	unsigned int type_;
 	size_t size_;
 	std::string name_;
+
+	int64_t min_;
+	int64_t max_;
 };
 
 class V4L2Control
diff --git a/src/libcamera/v4l2_controls.cpp b/src/libcamera/v4l2_controls.cpp
index 78888de29642..af017bce48ba 100644
--- a/src/libcamera/v4l2_controls.cpp
+++ b/src/libcamera/v4l2_controls.cpp
@@ -74,6 +74,8 @@ V4L2ControlInfo::V4L2ControlInfo(const struct v4l2_query_ext_ctrl &ctrl)
 	type_ = ctrl.type;
 	name_ = static_cast<const char *>(ctrl.name);
 	size_ = ctrl.elem_size * ctrl.elems;
+	min_ = ctrl.minimum;
+	max_ = ctrl.maximum;
 }
 
 /**
@@ -100,6 +102,18 @@ V4L2ControlInfo::V4L2ControlInfo(const struct v4l2_query_ext_ctrl &ctrl)
  * \return The V4L2 control user readable name
  */
 
+/**
+ * \fn V4L2ControlInfo::min()
+ * \brief Retrieve the control minimum value
+ * \return The V4L2 control minimum value
+ */
+
+/**
+ * \fn V4L2ControlInfo::max()
+ * \brief Retrieve the control maximum value
+ * \return The V4L2 control maximum value
+ */
+
 /**
  * \class V4L2Control
  * \brief A V4L2 control value
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list