[media] videodev2.h: Extend struct v4l2_ext_controls
authorRicardo Ribalda <ricardo.ribalda@gmail.com>
Thu, 29 Oct 2015 10:10:27 +0000 (08:10 -0200)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Tue, 17 Nov 2015 16:42:42 +0000 (14:42 -0200)
So it can be used to get the default value of a control.

Without this change it is not possible to get the
default value of array controls.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
include/uapi/linux/videodev2.h

index a0e87d16b72672d4f7e688a319a08a455824094d..4d88ee2d268ef49d129af75564e950e140482ea1 100644 (file)
@@ -1476,7 +1476,10 @@ struct v4l2_ext_control {
 } __attribute__ ((packed));
 
 struct v4l2_ext_controls {
-       __u32 ctrl_class;
+       union {
+               __u32 ctrl_class;
+               __u32 which;
+       };
        __u32 count;
        __u32 error_idx;
        __u32 reserved[2];
@@ -1487,6 +1490,8 @@ struct v4l2_ext_controls {
 #define V4L2_CTRL_ID2CLASS(id)    ((id) & 0x0fff0000UL)
 #define V4L2_CTRL_DRIVER_PRIV(id) (((id) & 0xffff) >= 0x1000)
 #define V4L2_CTRL_MAX_DIMS       (4)
+#define V4L2_CTRL_WHICH_CUR_VAL   0
+#define V4L2_CTRL_WHICH_DEF_VAL   0x0f000000
 
 enum v4l2_ctrl_type {
        V4L2_CTRL_TYPE_INTEGER       = 1,