Hi Hans,
On Thu, Jun 12, 2014 at 01:52:36PM +0200, Hans Verkuil wrote:
> From: Hans Verkuil <[email protected]>
>
> Add a new struct and ioctl to extend the amount of information you can
> get for a control.
>
> The range is now a s64 type, and array dimensions and element size can be
> reported through nr_of_dims/dims/elems/elem_size.
>
> Signed-off-by: Hans Verkuil <[email protected]>
> ---
> include/uapi/linux/videodev2.h | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
> index 438c4a6..7d94adc 100644
> --- a/include/uapi/linux/videodev2.h
> +++ b/include/uapi/linux/videodev2.h
> @@ -1269,6 +1269,7 @@ struct v4l2_ext_controls {
> #define V4L2_CTRL_ID_MASK (0x0fffffff)
> #define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL)
> #define V4L2_CTRL_DRIVER_PRIV(id) (((id) & 0xffff) >= 0x1000)
> +#define V4L2_CTRL_MAX_DIMS (8)
>
> enum v4l2_ctrl_type {
> V4L2_CTRL_TYPE_INTEGER = 1,
> @@ -1298,6 +1299,23 @@ struct v4l2_queryctrl {
> __u32 reserved[2];
> };
>
> +/* Used in the VIDIOC_QUERY_EXT_CTRL ioctl for querying extended controls */
> +struct v4l2_query_ext_ctrl {
> + __u32 id;
> + __u32 type;
> + char name[32];
> + __s64 minimum;
> + __s64 maximum;
> + __u64 step;
> + __s64 default_value;
> + __u32 flags;
> + __u32 elem_size;
> + __u32 elems;
> + __u32 nr_of_dims;
> + __u32 dims[V4L2_CTRL_MAX_DIMS];
> + __u32 reserved[16];
Considering that units are going to be added (probably 16 or even 32 bytes),
I might add even more. Something to be discussed is fractional parts which
is a related topic.
As you have already 34 patches in your set, perhaps it'd be good to postpone
these.
> +};
> +
> /* Used in the VIDIOC_QUERYMENU ioctl for querying menu items */
> struct v4l2_querymenu {
> __u32 id;
> @@ -2011,6 +2029,8 @@ struct v4l2_create_buffers {
> Never use these in applications! */
> #define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info)
>
> +#define VIDIOC_QUERY_EXT_CTRL _IOWR('V', 103, struct
> v4l2_query_ext_ctrl)
> +
> /* Reminder: when adding new ioctls please add support for them to
> drivers/media/video/v4l2-compat-ioctl32.c as well! */
>
--
Regards,
Sakari Ailus
e-mail: [email protected] XMPP: [email protected]
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html