Commit 680a5139 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab

[media] DocBook media: update control section

Document the support for compound types in controls.
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Reviewed-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent 48e393a2
...@@ -660,16 +660,29 @@ supported.</para> ...@@ -660,16 +660,29 @@ supported.</para>
&v4l2-control;, except for the fact that it also allows for 64-bit &v4l2-control;, except for the fact that it also allows for 64-bit
values and pointers to be passed.</para> values and pointers to be passed.</para>
<para>Since the &v4l2-ext-control; supports pointers it is now
also possible to have controls with compound types such as N-dimensional arrays
and/or structures. You need to specify the <constant>V4L2_CTRL_FLAG_NEXT_COMPOUND</constant>
when enumerating controls to actually be able to see such compound controls.
In other words, these controls with compound types should only be used
programmatically.</para>
<para>Since such compound controls need to expose more information
about themselves than is possible with &VIDIOC-QUERYCTRL; the
&VIDIOC-QUERY-EXT-CTRL; ioctl was added. In particular, this ioctl gives
the dimensions of the N-dimensional array if this control consists of more than
one element.</para>
<para>It is important to realize that due to the flexibility of <para>It is important to realize that due to the flexibility of
controls it is necessary to check whether the control you want to set controls it is necessary to check whether the control you want to set
actually is supported in the driver and what the valid range of values actually is supported in the driver and what the valid range of values
is. So use the &VIDIOC-QUERYCTRL; and &VIDIOC-QUERYMENU; ioctls to is. So use the &VIDIOC-QUERYCTRL; (or &VIDIOC-QUERY-EXT-CTRL;) and
check this. Also note that it is possible that some of the menu &VIDIOC-QUERYMENU; ioctls to check this. Also note that it is possible
indices in a control of type <constant>V4L2_CTRL_TYPE_MENU</constant> that some of the menu indices in a control of type
may not be supported (<constant>VIDIOC_QUERYMENU</constant> will <constant>V4L2_CTRL_TYPE_MENU</constant> may not be supported
return an error). A good example is the list of supported MPEG audio (<constant>VIDIOC_QUERYMENU</constant> will return an error). A good
bitrates. Some drivers only support one or two bitrates, others example is the list of supported MPEG audio bitrates. Some drivers only
support a wider range.</para> support one or two bitrates, others support a wider range.</para>
<para> <para>
All controls use machine endianness. All controls use machine endianness.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment