[libcamera-devel] [PATCH 06/12] libcamera: controls: Remove ControlInfo::id

Jacopo Mondi jacopo at jmondi.org
Sun Sep 29 12:02:34 CEST 2019


Hi Laurent,
   knowing this will help unifying with V4L2ControlInfo:

Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>

Thanks
   j
On Sat, Sep 28, 2019 at 06:22:32PM +0300, Laurent Pinchart wrote:
> The ControlInfo id member is only used in the toString() method of the
> class, and nowhere else externally. The same way that ControlValue
> doesn't store a ControlId, ControlInfo shouldn't. Remove it.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
>  include/libcamera/controls.h        |  4 +---
>  src/libcamera/controls.cpp          | 13 +++----------
>  src/libcamera/pipeline/uvcvideo.cpp |  2 +-
>  src/libcamera/pipeline/vimc.cpp     |  2 +-
>  test/controls/control_info.cpp      | 18 ++----------------
>  5 files changed, 8 insertions(+), 31 deletions(-)
>
> diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h
> index d4a74ada1b6a..854ea3b84267 100644
> --- a/include/libcamera/controls.h
> +++ b/include/libcamera/controls.h
> @@ -98,17 +98,15 @@ private:
>  class ControlInfo
>  {
>  public:
> -	explicit ControlInfo(const ControlId &id, const ControlValue &min = 0,
> +	explicit ControlInfo(const ControlValue &min = 0,
>  			     const ControlValue &max = 0);
>
> -	const ControlId &id() const { return id_; }
>  	const ControlValue &min() const { return min_; }
>  	const ControlValue &max() const { return max_; }
>
>  	std::string toString() const;
>
>  private:
> -	const ControlId &id_;
>  	ControlValue min_;
>  	ControlValue max_;
>  };
> diff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp
> index 62cb2ff822bb..6a3bb353792d 100644
> --- a/src/libcamera/controls.cpp
> +++ b/src/libcamera/controls.cpp
> @@ -323,22 +323,15 @@ Control<int64_t>::Control(unsigned int id, const char *name)
>
>  /**
>   * \brief Construct a ControlInfo with minimum and maximum range parameters
> - * \param[in] id The control ID
>   * \param[in] min The control minimum value
>   * \param[in] max The control maximum value
>   */
> -ControlInfo::ControlInfo(const ControlId &id, const ControlValue &min,
> +ControlInfo::ControlInfo(const ControlValue &min,
>  			 const ControlValue &max)
> -	: id_(id), min_(min), max_(max)
> +	: min_(min), max_(max)
>  {
>  }
>
> -/**
> - * \fn ControlInfo::id()
> - * \brief Retrieve the control ID
> - * \return The control ID
> - */
> -
>  /**
>   * \fn ControlInfo::min()
>   * \brief Retrieve the minimum value of the control
> @@ -358,7 +351,7 @@ std::string ControlInfo::toString() const
>  {
>  	std::stringstream ss;
>
> -	ss << id_.name() << "[" << min_.toString() << ".." << max_.toString() << "]";
> +	ss << "[" << min_.toString() << ".." << max_.toString() << "]";
>
>  	return ss.str();
>  }
> diff --git a/src/libcamera/pipeline/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo.cpp
> index 44e19f40f1b9..3635ea83a7b1 100644
> --- a/src/libcamera/pipeline/uvcvideo.cpp
> +++ b/src/libcamera/pipeline/uvcvideo.cpp
> @@ -364,7 +364,7 @@ int UVCCameraData::init(MediaEntity *entity)
>
>  		controlInfo_.emplace(std::piecewise_construct,
>  				     std::forward_as_tuple(id),
> -				     std::forward_as_tuple(*id, info.min(), info.max()));
> +				     std::forward_as_tuple(info.min(), info.max()));
>  	}
>
>  	return 0;
> diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp
> index a48febf2172e..d9dd031e173c 100644
> --- a/src/libcamera/pipeline/vimc.cpp
> +++ b/src/libcamera/pipeline/vimc.cpp
> @@ -437,7 +437,7 @@ int VimcCameraData::init(MediaDevice *media)
>
>  		controlInfo_.emplace(std::piecewise_construct,
>  				     std::forward_as_tuple(id),
> -				     std::forward_as_tuple(*id, info.min(), info.max()));
> +				     std::forward_as_tuple(info.min(), info.max()));
>  	}
>
>  	return 0;
> diff --git a/test/controls/control_info.cpp b/test/controls/control_info.cpp
> index dbc43df8e3d3..9cf59185e459 100644
> --- a/test/controls/control_info.cpp
> +++ b/test/controls/control_info.cpp
> @@ -24,14 +24,7 @@ protected:
>  		 * Test information retrieval from a control with no minimum
>  		 * and maximum.
>  		 */
> -		ControlInfo brightness(controls::Brightness);
> -
> -		if (brightness.id() != controls::Brightness ||
> -		    brightness.id().type() != ControlTypeInteger32 ||
> -		    brightness.id().name() != std::string("Brightness")) {
> -			cout << "Invalid control identification for Brightness" << endl;
> -			return TestFail;
> -		}
> +		ControlInfo brightness;
>
>  		if (brightness.min().get<int32_t>() != 0 ||
>  		    brightness.max().get<int32_t>() != 0) {
> @@ -43,14 +36,7 @@ protected:
>  		 * Test information retrieval from a control with a minimum and
>  		 * a maximum value.
>  		 */
> -		ControlInfo contrast(controls::Contrast, 10, 200);
> -
> -		if (contrast.id() != controls::Contrast ||
> -		    contrast.id().type() != ControlTypeInteger32 ||
> -		    contrast.id().name() != std::string("Contrast")) {
> -			cout << "Invalid control identification for Contrast" << endl;
> -			return TestFail;
> -		}
> +		ControlInfo contrast(10, 200);
>
>  		if (contrast.min().get<int32_t>() != 10 ||
>  		    contrast.max().get<int32_t>() != 200) {
> --
> Regards,
>
> Laurent Pinchart
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.libcamera.org/pipermail/libcamera-devel/attachments/20190929/46697f2c/attachment.sig>


More information about the libcamera-devel mailing list