--- zzzz-none-000/linux-3.10.107/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml 2017-06-27 09:49:32.000000000 +0000
+++ scorpion-7490-727/linux-3.10.107/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml 2021-02-04 17:41:59.000000000 +0000
@@ -72,23 +72,30 @@
size and reserved2 fields
of each &v4l2-ext-control; and call the
VIDIOC_G_EXT_CTRLS ioctl. String controls controls
-must also set the string field.
+must also set the string field. Controls
+of compound types (V4L2_CTRL_FLAG_HAS_PAYLOAD is set)
+must set the ptr field.
If the size is too small to
receive the control result (only relevant for pointer-type controls
like strings), then the driver will set size
to a valid value and return an &ENOSPC;. You should re-allocate the
-string memory to this new size and try again. It is possible that the
-same issue occurs again if the string has grown in the meantime. It is
+memory to this new size and try again. For the string type it is possible that
+the same issue occurs again if the string has grown in the meantime. It is
recommended to call &VIDIOC-QUERYCTRL; first and use
maximum+1 as the new size
value. It is guaranteed that that is sufficient memory.
+ N-dimensional arrays are set and retrieved row-by-row. You cannot set a partial
+array, all elements have to be set or retrieved. The total size is calculated
+as elems * elem_size.
+These values can be obtained by calling &VIDIOC-QUERY-EXT-CTRL;.
+
To change the value of a set of controls applications
initialize the id, size,
reserved2 and
-value/string fields of each &v4l2-ext-control; and
+value/value64/string/ptr fields of each &v4l2-ext-control; and
call the VIDIOC_S_EXT_CTRLS ioctl. The controls
will only be set if all control values are
valid.
@@ -96,7 +103,7 @@
To check if a set of controls have correct values applications
initialize the id, size,
reserved2 and
-value/string fields of each &v4l2-ext-control; and
+value/value64/string/ptr fields of each &v4l2-ext-control; and
call the VIDIOC_TRY_EXT_CTRLS ioctl. It is up to
the driver whether wrong values are automatically adjusted to a valid
value or if an error is returned.
@@ -158,19 +165,54 @@
__s32
value
- New value or current value.
+ New value or current value. Valid if this control is not of
+type V4L2_CTRL_TYPE_INTEGER64 and
+V4L2_CTRL_FLAG_HAS_PAYLOAD is not set.
__s64
value64
- New value or current value.
+ New value or current value. Valid if this control is of
+type V4L2_CTRL_TYPE_INTEGER64 and
+V4L2_CTRL_FLAG_HAS_PAYLOAD is not set.
char *
string
- A pointer to a string.
+ A pointer to a string. Valid if this control is of
+type V4L2_CTRL_TYPE_STRING.
+
+
+
+ __u8 *
+ p_u8
+ A pointer to a matrix control of unsigned 8-bit values.
+Valid if this control is of type V4L2_CTRL_TYPE_U8.
+
+
+
+ __u16 *
+ p_u16
+ A pointer to a matrix control of unsigned 16-bit values.
+Valid if this control is of type V4L2_CTRL_TYPE_U16.
+
+
+
+ __u32 *
+ p_u32
+ A pointer to a matrix control of unsigned 32-bit values.
+Valid if this control is of type V4L2_CTRL_TYPE_U32.
+
+
+
+ void *
+ ptr
+ A pointer to a compound type which can be an N-dimensional array and/or a
+compound type (the control's type is >= V4L2_CTRL_COMPOUND_TYPES).
+Valid if V4L2_CTRL_FLAG_HAS_PAYLOAD is set for this control.
+
@@ -327,7 +369,12 @@
These controls are described in .
-
+
+ V4L2_CTRL_CLASS_RF_TUNER
+ 0xa20000
+ The class containing RF tuner controls.
+These controls are described in .
+