[libcamera-devel] [PATCH 09/11] libcamera: v4l2_controls: Support U8 array controls

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri Mar 20 22:39:58 CET 2020


Hi Jacopo,

Thank you for the patch.

On Mon, Mar 09, 2020 at 05:24:12PM +0100, Jacopo Mondi wrote:
> Add support for array controls of type V4L2_CTRL_TYPE_U8.
> 
> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

> ---
>  src/libcamera/v4l2_controls.cpp | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/src/libcamera/v4l2_controls.cpp b/src/libcamera/v4l2_controls.cpp
> index 4861f9778df3..8e2415f2a6df 100644
> --- a/src/libcamera/v4l2_controls.cpp
> +++ b/src/libcamera/v4l2_controls.cpp
> @@ -60,6 +60,9 @@ std::string v4l2_ctrl_name(const struct v4l2_query_ext_ctrl &ctrl)
>  ControlType v4l2_ctrl_type(const struct v4l2_query_ext_ctrl &ctrl)
>  {
>  	switch (ctrl.type) {
> +	case V4L2_CTRL_TYPE_U8:
> +		return ControlTypeByte;
> +
>  	case V4L2_CTRL_TYPE_BOOLEAN:
>  		return ControlTypeBool;
>  
> @@ -119,6 +122,12 @@ V4L2ControlId::V4L2ControlId(const struct v4l2_query_ext_ctrl &ctrl)
>  V4L2ControlInfo::V4L2ControlInfo(const struct v4l2_query_ext_ctrl &ctrl)
>  {
>  	switch (ctrl.type) {
> +	case V4L2_CTRL_TYPE_U8:
> +		ControlInfo::operator=(ControlInfo(static_cast<uint8_t>(ctrl.minimum),
> +						   static_cast<uint8_t>(ctrl.maximum),
> +						   static_cast<uint8_t>(ctrl.default_value)));
> +		break;
> +
>  	case V4L2_CTRL_TYPE_BOOLEAN:
>  		ControlInfo::operator=(ControlInfo(static_cast<bool>(ctrl.minimum),
>  						   static_cast<bool>(ctrl.maximum),

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list