sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget` and call the ``VIDIOC_QUERYCTRL`` ioctl with a pointer to this structure. The driver fills the rest of the structure or returns an ``EINVAL`` error code when the ``id`` is invalid.h](h:To query the attributes of a control applications set the }(hjhhhNhNubj)}(h``id``h]hid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh field of a struct }(hjhhhNhNubh)}(h&:ref:`v4l2_queryctrl `h]hinline)}(hjh]hv4l2_queryctrl}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjv4l2-queryctrluh1hhhhK+hjubh and call the }(hjhhhNhNubj)}(h``VIDIOC_QUERYCTRL``h]hVIDIOC_QUERYCTRL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhb ioctl with a pointer to this structure. The driver fills the rest of the structure or returns an }(hjhhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh error code when the }(hjhhhNhNubj)}(h``id``h]hid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh is invalid.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK+hjhhubh)}(hXIt is possible to enumerate controls by calling ``VIDIOC_QUERYCTRL`` with successive ``id`` values starting from ``V4L2_CID_BASE`` up to and exclusive ``V4L2_CID_LASTP1``. Drivers may return ``EINVAL`` if a control in this range is not supported. Further applications can enumerate private controls, which are not defined in this specification, by starting at ``V4L2_CID_PRIVATE_BASE`` and incrementing ``id`` until the driver returns ``EINVAL``.h](h0It is possible to enumerate controls by calling }(hj*hhhNhNubj)}(h``VIDIOC_QUERYCTRL``h]hVIDIOC_QUERYCTRL}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubh with successive }(hj*hhhNhNubj)}(h``id``h]hid}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubh values starting from }(hj*hhhNhNubj)}(h``V4L2_CID_BASE``h]h V4L2_CID_BASE}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubh up to and exclusive }(hj*hhhNhNubj)}(h``V4L2_CID_LASTP1``h]hV4L2_CID_LASTP1}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubh. Drivers may return }(hj*hhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubh if a control in this range is not supported. Further applications can enumerate private controls, which are not defined in this specification, by starting at }(hj*hhhNhNubj)}(h``V4L2_CID_PRIVATE_BASE``h]hV4L2_CID_PRIVATE_BASE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubh and incrementing }(hj*hhhNhNubj)}(h``id``h]hid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubh until the driver returns }(hj*hhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubh.}(hj*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK1hjhhubh)}(hIn both cases, when the driver sets the ``V4L2_CTRL_FLAG_DISABLED`` flag in the ``flags`` field this control is permanently disabled and should be ignored by the application. [#f1]_h](h(In both cases, when the driver sets the }(hjhhhNhNubj)}(h``V4L2_CTRL_FLAG_DISABLED``h]hV4L2_CTRL_FLAG_DISABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh flag in the }(hjhhhNhNubj)}(h ``flags``h]hflags}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhV field this control is permanently disabled and should be ignored by the application. }(hjhhhNhNubhfootnote_reference)}(h[#f1]_h]h1}(hjhhhNhNubah}(h]id1ah ]h"]h$]h&]autoKhf1docnamejuh1jhjresolvedKubeh}(h]h ]h"]h$]h&]uh1hhhhK9hjhhubh)}(hX^When the application ORs ``id`` with ``V4L2_CTRL_FLAG_NEXT_CTRL`` the driver returns the next supported non-compound control, or ``EINVAL`` if there is none. In addition, the ``V4L2_CTRL_FLAG_NEXT_COMPOUND`` flag can be specified to enumerate all compound controls (i.e. controls with type ≥ ``V4L2_CTRL_COMPOUND_TYPES`` and/or array control, in other words controls that contain more than one value). Specify both ``V4L2_CTRL_FLAG_NEXT_CTRL`` and ``V4L2_CTRL_FLAG_NEXT_COMPOUND`` in order to enumerate all controls, compound or not. Drivers which do not support these flags yet always return ``EINVAL``.h](hWhen the application ORs }(hjhhhNhNubj)}(h``id``h]hid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh with }(hjhhhNhNubj)}(h``V4L2_CTRL_FLAG_NEXT_CTRL``h]hV4L2_CTRL_FLAG_NEXT_CTRL}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh@ the driver returns the next supported non-compound control, or }(hjhhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh$ if there is none. In addition, the }(hjhhhNhNubj)}(h ``V4L2_CTRL_FLAG_NEXT_COMPOUND``h]hV4L2_CTRL_FLAG_NEXT_COMPOUND}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhW flag can be specified to enumerate all compound controls (i.e. controls with type ≥ }(hjhhhNhNubj)}(h``V4L2_CTRL_COMPOUND_TYPES``h]hV4L2_CTRL_COMPOUND_TYPES}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh_ and/or array control, in other words controls that contain more than one value). Specify both }(hjhhhNhNubj)}(h``V4L2_CTRL_FLAG_NEXT_CTRL``h]hV4L2_CTRL_FLAG_NEXT_CTRL}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh and }(hjhhhNhNubj)}(h ``V4L2_CTRL_FLAG_NEXT_COMPOUND``h]hV4L2_CTRL_FLAG_NEXT_COMPOUND}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhq in order to enumerate all controls, compound or not. Drivers which do not support these flags yet always return }(hjhhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK=hjhhubh)}(hXThe ``VIDIOC_QUERY_EXT_CTRL`` ioctl was introduced in order to better support controls that can use compound types, and to expose additional control information that cannot be returned in struct :ref:`v4l2_queryctrl ` since that structure is full.h](hThe }(hjhhhNhNubj)}(h``VIDIOC_QUERY_EXT_CTRL``h]hVIDIOC_QUERY_EXT_CTRL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh ioctl was introduced in order to better support controls that can use compound types, and to expose additional control information that cannot be returned in struct }(hjhhhNhNubh)}(h&:ref:`v4l2_queryctrl `h]j)}(hjh]hv4l2_queryctrl}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjv4l2-queryctrluh1hhhhKGhjubh since that structure is full.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKGhjhhubh)}(h``VIDIOC_QUERY_EXT_CTRL`` is used in the same way as ``VIDIOC_QUERYCTRL``, except that the ``reserved`` array must be zeroed as well.h](j)}(h``VIDIOC_QUERY_EXT_CTRL``h]hVIDIOC_QUERY_EXT_CTRL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh is used in the same way as }(hjhhhNhNubj)}(h``VIDIOC_QUERYCTRL``h]hVIDIOC_QUERYCTRL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, except that the }(hjhhhNhNubj)}(h ``reserved``h]hreserved}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh array must be zeroed as well.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKLhjhhubh)}(hX9Additional information is required for menu controls: the names of the menu items. To query them applications set the ``id`` and ``index`` fields of struct :ref:`v4l2_querymenu ` and call the ``VIDIOC_QUERYMENU`` ioctl with a pointer to this structure. The driver fills the rest of the structure or returns an ``EINVAL`` error code when the ``id`` or ``index`` is invalid. Menu items are enumerated by calling ``VIDIOC_QUERYMENU`` with successive ``index`` values from struct :ref:`v4l2_queryctrl ` ``minimum`` to ``maximum``, inclusive.h](hvAdditional information is required for menu controls: the names of the menu items. To query them applications set the }(hj1hhhNhNubj)}(h``id``h]hid}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubh and }(hj1hhhNhNubj)}(h ``index``h]hindex}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubh fields of struct }(hj1hhhNhNubh)}(h&:ref:`v4l2_querymenu `h]j)}(hj_h]hv4l2_querymenu}(hjahhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj]ubah}(h]h ]h"]h$]h&]refdocj refdomainjkreftyperef refexplicitrefwarnjv4l2-querymenuuh1hhhhKPhj1ubh and call the }(hj1hhhNhNubj)}(h``VIDIOC_QUERYMENU``h]hVIDIOC_QUERYMENU}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubhb ioctl with a pointer to this structure. The driver fills the rest of the structure or returns an }(hj1hhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubh error code when the }(hj1hhhNhNubj)}(h``id``h]hid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubh or }(hj1hhhNhNubj)}(h ``index``h]hindex}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubh2 is invalid. Menu items are enumerated by calling }(hj1hhhNhNubj)}(h``VIDIOC_QUERYMENU``h]hVIDIOC_QUERYMENU}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubh with successive }(hj1hhhNhNubj)}(h ``index``h]hindex}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubh values from struct }(hj1hhhNhNubh)}(h&:ref:`v4l2_queryctrl `h]j)}(hjh]hv4l2_queryctrl}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjv4l2-queryctrluh1hhhhKPhj1ubh }(hj1hhhNhNubj)}(h ``minimum``h]hminimum}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubh to }(hj1hhhNhNubj)}(h ``maximum``h]hmaximum}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubh , inclusive.}(hj1hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKPhjhhubhnote)}(hXIt is possible for ``VIDIOC_QUERYMENU`` to return an ``EINVAL`` error code for some indices between ``minimum`` and ``maximum``. In that case that particular menu item is not supported by this driver. Also note that the ``minimum`` value is not necessarily 0.h]h)}(hXIt is possible for ``VIDIOC_QUERYMENU`` to return an ``EINVAL`` error code for some indices between ``minimum`` and ``maximum``. In that case that particular menu item is not supported by this driver. Also note that the ``minimum`` value is not necessarily 0.h](hIt is possible for }(hjAhhhNhNubj)}(h``VIDIOC_QUERYMENU``h]hVIDIOC_QUERYMENU}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubh to return an }(hjAhhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubh% error code for some indices between }(hjAhhhNhNubj)}(h ``minimum``h]hminimum}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubh and }(hjAhhhNhNubj)}(h ``maximum``h]hmaximum}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubh]. In that case that particular menu item is not supported by this driver. Also note that the }(hjAhhhNhNubj)}(h ``minimum``h]hminimum}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubh value is not necessarily 0.}(hjAhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK\hj=ubah}(h]h ]h"]h$]h&]uh1j;hjhhhhhNubh)}(h(See also the examples in :ref:`control`.h](hSee also the examples in }(hjhhhNhNubh)}(h:ref:`control`h]j)}(hjh]hcontrol}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjcontroluh1hhhhKahjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKahjhhubhtabular_col_spec)}(hhh]h}(h]h ]h"]h$]h&]spec|p{1.2cm}|p{3.6cm}|p{12.5cm}|uh1jhhhKchjhhubh)}(h.. _v4l2-queryctrl:h]h}(h]v4l2-queryctrlah ]h"]v4l2-queryctrlah$]h&]uh1hhKehjhhhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jV4L.v4l2_queryctrl (C struct)c.V4L.v4l2_queryctrlhNtauh1jhjhhhNhNubj#)}(hhh](j()}(hv4l2_queryctrlh]j.)}(hstruct v4l2_queryctrlh](hdesc_sig_keyword)}(hstructh]hstruct}(hjhhhNhNubah}(h]h ]kah"]h$]h&]uh1jhjhhhhhKgubhdesc_sig_space)}(h h]h }(hj&hhhNhNubah}(h]h ]wah"]h$]h&]uh1j$hjhhhhhKgubj4)}(hv4l2_queryctrlh]j:)}(hj h]hv4l2_queryctrl}(hj9hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j9hj5ubah}(h]h ](jLjMeh"]h$]h&]hhuh1j3hjhhhhhKgubeh}(h]h ]h"]h$]h&]hhjWuh1j-jXjYhj hhhhhKgubah}(h]jah ](j]j^eh"]h$]h&]jbjc)jdhuh1j'hhhKghjhhubjf)}(hhh]h}(h]h ]h"]h$]h&]uh1jehjhhhhhKgubeh}(h]h ](jsstructeh"]h$]h&]jxjsjyjdjzjdj{j|j}uh1j"hhhjhNhNubhtable)}(hhh](h)}(hstruct v4l2_queryctrlh]hstruct v4l2_queryctrl}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKkhjjubhtgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj}ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj}ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj}ubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKphjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``id``h]j)}(hjh]hid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKqhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hX)Identifies the control, set by the application. See :ref:`control-id` for predefined IDs. When the ID is ORed with V4L2_CTRL_FLAG_NEXT_CTRL the driver clears the flag and returns the first control with a higher ID. Drivers which do not support this flag yet always return an ``EINVAL`` error code.h](h4Identifies the control, set by the application. See }(hjhhhNhNubh)}(h:ref:`control-id`h]j)}(hjh]h control-id}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj control-iduh1hhhhKrhjubh for predefined IDs. When the ID is ORed with V4L2_CTRL_FLAG_NEXT_CTRL the driver clears the flag and returns the first control with a higher ID. Drivers which do not support this flag yet always return an }(hjhhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh error code.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKrhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hj< hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKwhj9 ubah}(h]h ]h"]h$]h&]uh1jhj6 ubj)}(hhh]h)}(h``type``h]j)}(hjU h]htype}(hjW hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjS ubah}(h]h ]h"]h$]h&]uh1hhhhKxhjP ubah}(h]h ]h"]h$]h&]uh1jhj6 ubj)}(hhh]h)}(h.Type of control, see :c:type:`v4l2_ctrl_type`.h](hType of control, see }(hjs hhhNhNubh)}(h:c:type:`v4l2_ctrl_type`h]j)}(hj} h]hv4l2_ctrl_type}(hj hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj{ ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_typeuh1hhhhKyhjs ubh.}(hjs hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKyhjp ubah}(h]h ]h"]h$]h&]uh1jhj6 ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u8h]h__u8}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKzhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h``name``\ [32]h](j)}(h``name``h]hname}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh [32]}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK{hj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h^Name of the control, a NUL-terminated ASCII string. This information is intended for the user.h]h^Name of the control, a NUL-terminated ASCII string. This information is intended for the user.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK|hj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__s32h]h__s32}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK~hj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h ``minimum``h]j)}(hj+ h]hminimum}(hj- hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj) ubah}(h]h ]h"]h$]h&]uh1hhhhKhj& ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hMinimum value, inclusive. This field gives a lower bound for the control. See enum :c:type:`v4l2_ctrl_type` how the minimum value is to be used for each possible control type. Note that this a signed 32-bit value.h](hSMinimum value, inclusive. This field gives a lower bound for the control. See enum }(hjI hhhNhNubh)}(h:c:type:`v4l2_ctrl_type`h]j)}(hjS h]hv4l2_ctrl_type}(hjU hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhjQ ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_typeuh1hhhhKhjI ubhj how the minimum value is to be used for each possible control type. Note that this a signed 32-bit value.}(hjI hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjF ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__s32h]h__s32}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h ``maximum``h]j)}(hj h]hmaximum}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hMaximum value, inclusive. This field gives an upper bound for the control. See enum :c:type:`v4l2_ctrl_type` how the maximum value is to be used for each possible control type. Note that this a signed 32-bit value.h](hTMaximum value, inclusive. This field gives an upper bound for the control. See enum }(hj hhhNhNubh)}(h:c:type:`v4l2_ctrl_type`h]j)}(hj h]hv4l2_ctrl_type}(hj hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_typeuh1hhhhKhj ubhj how the maximum value is to be used for each possible control type. Note that this a signed 32-bit value.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__s32h]h__s32}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h``step``h]j)}(hj h]hstep}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](h)}(hThis field gives a step size for the control. See enum :c:type:`v4l2_ctrl_type` how the step value is to be used for each possible control type. Note that this an unsigned 32-bit value.h](h7This field gives a step size for the control. See enum }(hj= hhhNhNubh)}(h:c:type:`v4l2_ctrl_type`h]j)}(hjG h]hv4l2_ctrl_type}(hjI hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhjE ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_typeuh1hhhhKhj= ubhj how the step value is to be used for each possible control type. Note that this an unsigned 32-bit value.}(hj= hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj: ubh)}(hXZGenerally drivers should not scale hardware control values. It may be necessary for example when the ``name`` or ``id`` imply a particular unit and the hardware actually accepts only multiples of said unit. If so, drivers must take care values are properly rounded when scaling, such that errors will not accumulate on repeated read-write cycles.h](heGenerally drivers should not scale hardware control values. It may be necessary for example when the }(hjn hhhNhNubj)}(h``name``h]hname}(hjv hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjn ubh or }(hjn hhhNhNubj)}(h``id``h]hid}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjn ubh imply a particular unit and the hardware actually accepts only multiples of said unit. If so, drivers must take care values are properly rounded when scaling, such that errors will not accumulate on repeated read-write cycles.}(hjn hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj: ubh)}(hX9This field gives the smallest change of an integer control actually affecting hardware. Often the information is needed when the user can change controls by keyboard or GUI buttons, rather than a slider. When for example a hardware register accepts values 0-511 and the driver reports 0-65535, step should be 128.h]hX9This field gives the smallest change of an integer control actually affecting hardware. Often the information is needed when the user can change controls by keyboard or GUI buttons, rather than a slider. When for example a hardware register accepts values 0-511 and the driver reports 0-65535, step should be 128.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj: ubh)}(hLNote that although signed, the step value is supposed to be always positive.h]hLNote that although signed, the step value is supposed to be always positive.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj: ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__s32h]h__s32}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h``default_value``h]j)}(hj h]h default_value}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](h)}(hThe default value of a ``V4L2_CTRL_TYPE_INTEGER``, ``_BOOLEAN``, ``_BITMASK``, ``_MENU`` or ``_INTEGER_MENU`` control. Not valid for other types of controls.h](hThe default value of a }(hj hhhNhNubj)}(h``V4L2_CTRL_TYPE_INTEGER``h]hV4L2_CTRL_TYPE_INTEGER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh, }(hj hhhNhNubj)}(h ``_BOOLEAN``h]h_BOOLEAN}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh, }(hj hhhNhNubj)}(h ``_BITMASK``h]h_BITMASK}(hj1 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh, }hj sbj)}(h ``_MENU``h]h_MENU}(hjC hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh or }(hj hhhNhNubj)}(h``_INTEGER_MENU``h]h _INTEGER_MENU}(hjU hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh0 control. Not valid for other types of controls.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubj<)}(heDrivers reset controls to their default value only when the driver is first loaded, never afterwards.h]h)}(heDrivers reset controls to their default value only when the driver is first loaded, never afterwards.h]heDrivers reset controls to their default value only when the driver is first loaded, never afterwards.}(hjq hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjm ubah}(h]h ]h"]h$]h&]uh1j;hj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h ``flags``h]j)}(hj h]hflags}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h(Control flags, see :ref:`control-flags`.h](hControl flags, see }(hj hhhNhNubh)}(h:ref:`control-flags`h]j)}(hj h]h control-flags}(hj hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]refdocj refdomainj reftyperef refexplicitrefwarnj control-flagsuh1hhhhKhj ubh.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h``reserved``\ [2]h](j)}(h ``reserved``h]hreserved}(hj- hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj) ubh [2]}(hj) hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj& ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hCReserved for future extensions. Drivers must set the array to zero.h]hCReserved for future extensions. Drivers must set the array to zero.}(hjN hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjK ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj}ubeh}(h]h ]h"]h$]h&]colsKuh1j{hjjubeh}(h]id2ah ] longtableah"]h$]h&]uh1jhhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]j|p{1.2cm}|p{5.5cm}|p{10.6cm}|uh1jhhhKhjhhubh)}(h.. _v4l2-query-ext-ctrl:h]h}(h]v4l2-query-ext-ctrlah ]h"]v4l2-query-ext-ctrlah$]h&]uh1hhKhjhhhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"V4L.v4l2_query_ext_ctrl (C struct)c.V4L.v4l2_query_ext_ctrlhNtauh1jhjhhhNhNubj#)}(hhh](j()}(hv4l2_query_ext_ctrlh]j.)}(hstruct v4l2_query_ext_ctrlh](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhj hhhhhKubj%)}(h h]h }(hj hhhNhNubah}(h]h ]j1ah"]h$]h&]uh1j$hj hhhhhKubj4)}(hv4l2_query_ext_ctrlh]j:)}(hj h]hv4l2_query_ext_ctrl}(hj hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j9hj ubah}(h]h ](jLjMeh"]h$]h&]hhuh1j3hj hhhhhKubeh}(h]h ]h"]h$]h&]hhjWuh1j-jXjYhj hhhhhKubah}(h]j ah ](j]j^eh"]h$]h&]jbjc)jdhuh1j'hhhKhj hhubjf)}(hhh]h}(h]h ]h"]h$]h&]uh1jehj hhhhhKubeh}(h]h ](jsstruct longtableeh"]h$]h&]jxjsjyj jzj j{j|j}uh1j"hhhjhNhNubji)}(hhh](h)}(hstruct v4l2_query_ext_ctrlh]hstruct v4l2_query_ext_ctrl}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubj|)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj3ubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(h``id``h]j)}(hjOh]hid}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjMubah}(h]h ]h"]h$]h&]uh1hhhhKhjJubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(hXIdentifies the control, set by the application. See :ref:`control-id` for predefined IDs. When the ID is ORed with ``V4L2_CTRL_FLAG_NEXT_CTRL`` the driver clears the flag and returns the first non-compound control with a higher ID. When the ID is ORed with ``V4L2_CTRL_FLAG_NEXT_COMPOUND`` the driver clears the flag and returns the first compound control with a higher ID. Set both to get the first control (compound or not) with a higher ID.h](h4Identifies the control, set by the application. See }(hjmhhhNhNubh)}(h:ref:`control-id`h]j)}(hjwh]h control-id}(hjyhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjuubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj control-iduh1hhhhKhjmubh. for predefined IDs. When the ID is ORed with }(hjmhhhNhNubj)}(h``V4L2_CTRL_FLAG_NEXT_CTRL``h]hV4L2_CTRL_FLAG_NEXT_CTRL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjmubhr the driver clears the flag and returns the first non-compound control with a higher ID. When the ID is ORed with }(hjmhhhNhNubj)}(h ``V4L2_CTRL_FLAG_NEXT_COMPOUND``h]hV4L2_CTRL_FLAG_NEXT_COMPOUND}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjmubh the driver clears the flag and returns the first compound control with a higher ID. Set both to get the first control (compound or not) with a higher ID.}(hjmhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjjubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``type``h]j)}(hjh]htype}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h.Type of control, see :c:type:`v4l2_ctrl_type`.h](hType of control, see }(hj hhhNhNubh)}(h:c:type:`v4l2_ctrl_type`h]j)}(hjh]hv4l2_ctrl_type}(hjhhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_typeuh1hhhhKhj ubh.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh](j)}(hhh]h)}(hcharh]hchar}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjLubah}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh]h)}(h``name``\ [32]h](j)}(h``name``h]hname}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjfubh [32]}(hjfhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjcubah}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh]h)}(h^Name of the control, a NUL-terminated ASCII string. This information is intended for the user.h]h^Name of the control, a NUL-terminated ASCII string. This information is intended for the user.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh](j)}(hhh]h)}(h__s64h]h__s64}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h ``minimum``h]j)}(hjh]hminimum}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hMinimum value, inclusive. This field gives a lower bound for the control. See enum :c:type:`v4l2_ctrl_type` how the minimum value is to be used for each possible control type. Note that this a signed 64-bit value.h](hSMinimum value, inclusive. This field gives a lower bound for the control. See enum }(hjhhhNhNubh)}(h:c:type:`v4l2_ctrl_type`h]j)}(hjh]hv4l2_ctrl_type}(hjhhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_typeuh1hhhhKhjubhj how the minimum value is to be used for each possible control type. Note that this a signed 64-bit value.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh](j)}(hhh]h)}(h__s64h]h__s64}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj"ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h ``maximum``h]j)}(hj>h]hmaximum}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]uh1hhhhKhj9ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hMaximum value, inclusive. This field gives an upper bound for the control. See enum :c:type:`v4l2_ctrl_type` how the maximum value is to be used for each possible control type. Note that this a signed 64-bit value.h](hTMaximum value, inclusive. This field gives an upper bound for the control. See enum }(hj\hhhNhNubh)}(h:c:type:`v4l2_ctrl_type`h]j)}(hjfh]hv4l2_ctrl_type}(hjhhhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhjdubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_typeuh1hhhhKhj\ubhj how the maximum value is to be used for each possible control type. Note that this a signed 64-bit value.}(hj\hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjYubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh](j)}(hhh]h)}(h__u64h]h__u64}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``step``h]j)}(hjh]hstep}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](h)}(hThis field gives a step size for the control. See enum :c:type:`v4l2_ctrl_type` how the step value is to be used for each possible control type. Note that this an unsigned 64-bit value.h](h7This field gives a step size for the control. See enum }(hjhhhNhNubh)}(h:c:type:`v4l2_ctrl_type`h]j)}(hjh]hv4l2_ctrl_type}(hjhhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_typeuh1hhhhKhjubhj how the step value is to be used for each possible control type. Note that this an unsigned 64-bit value.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(hXZGenerally drivers should not scale hardware control values. It may be necessary for example when the ``name`` or ``id`` imply a particular unit and the hardware actually accepts only multiples of said unit. If so, drivers must take care values are properly rounded when scaling, such that errors will not accumulate on repeated read-write cycles.h](heGenerally drivers should not scale hardware control values. It may be necessary for example when the }(hjhhhNhNubj)}(h``name``h]hname}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh or }(hjhhhNhNubj)}(h``id``h]hid}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh imply a particular unit and the hardware actually accepts only multiples of said unit. If so, drivers must take care values are properly rounded when scaling, such that errors will not accumulate on repeated read-write cycles.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(hX9This field gives the smallest change of an integer control actually affecting hardware. Often the information is needed when the user can change controls by keyboard or GUI buttons, rather than a slider. When for example a hardware register accepts values 0-511 and the driver reports 0-65535, step should be 128.h]hX9This field gives the smallest change of an integer control actually affecting hardware. Often the information is needed when the user can change controls by keyboard or GUI buttons, rather than a slider. When for example a hardware register accepts values 0-511 and the driver reports 0-65535, step should be 128.}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh](j)}(hhh]h)}(h__s64h]h__s64}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjVubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(h``default_value``h]j)}(hjrh]h default_value}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1jhjpubah}(h]h ]h"]h$]h&]uh1hhhhKhjmubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](h)}(hThe default value of a ``V4L2_CTRL_TYPE_INTEGER``, ``_INTEGER64``, ``_BOOLEAN``, ``_BITMASK``, ``_MENU``, ``_INTEGER_MENU``, ``_U8`` or ``_U16`` control. Not valid for other types of controls.h](hThe default value of a }(hjhhhNhNubj)}(h``V4L2_CTRL_TYPE_INTEGER``h]hV4L2_CTRL_TYPE_INTEGER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj)}(h``_INTEGER64``h]h _INTEGER64}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj)}(h ``_BOOLEAN``h]h_BOOLEAN}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h ``_BITMASK``h]h_BITMASK}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h ``_MENU``h]h_MENU}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``_INTEGER_MENU``h]h _INTEGER_MENU}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``_U8``h]h_U8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh or }(hjhhhNhNubj)}(h``_U16``h]h_U16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh0 control. Not valid for other types of controls.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubj<)}(heDrivers reset controls to their default value only when the driver is first loaded, never afterwards.h]h)}(heDrivers reset controls to their default value only when the driver is first loaded, never afterwards.h]heDrivers reset controls to their default value only when the driver is first loaded, never afterwards.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.ubah}(h]h ]h"]h$]h&]uh1j;hjubeh}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjUubah}(h]h ]h"]h$]h&]uh1jhjRubj)}(hhh]h)}(h ``flags``h]j)}(hjqh]hflags}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1jhjoubah}(h]h ]h"]h$]h&]uh1hhhhKhjlubah}(h]h ]h"]h$]h&]uh1jhjRubj)}(hhh]h)}(h(Control flags, see :ref:`control-flags`.h](hControl flags, see }(hjhhhNhNubh)}(h:ref:`control-flags`h]j)}(hjh]h control-flags}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj control-flagsuh1hhhhKhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h ``elem_size``h]j)}(hjh]h elem_size}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hX^The size in bytes of a single element of the array. Given a char pointer ``p`` to a 3-dimensional array you can find the position of cell ``(z, y, x)`` as follows: ``p + ((z * dims[1] + y) * dims[0] + x) * elem_size``. ``elem_size`` is always valid, also when the control isn't an array. For string controls ``elem_size`` is equal to ``maximum + 1``.h](hIThe size in bytes of a single element of the array. Given a char pointer }(hj hhhNhNubj)}(h``p``h]hp}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh< to a 3-dimensional array you can find the position of cell }(hj hhhNhNubj)}(h ``(z, y, x)``h]h (z, y, x)}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh as follows: }(hj hhhNhNubj)}(h5``p + ((z * dims[1] + y) * dims[0] + x) * elem_size``h]h1p + ((z * dims[1] + y) * dims[0] + x) * elem_size}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh. }(hj hhhNhNubj)}(h ``elem_size``h]h elem_size}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhN is always valid, also when the control isn’t an array. For string controls }(hj hhhNhNubj)}(h ``elem_size``h]h elem_size}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh is equal to }(hj hhhNhNubj)}(h``maximum + 1``h]h maximum + 1}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h ``elems``h]j)}(hjh]helems}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hThe number of elements in the N-dimensional array. If this control is not an array, then ``elems`` is 1. The ``elems`` field can never be 0.h](hYThe number of elements in the N-dimensional array. If this control is not an array, then }(hjhhhNhNubj)}(h ``elems``h]helems}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh is 1. The }(hjhhhNhNubj)}(h ``elems``h]helems}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh field can never be 0.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h``nr_of_dims``h]j)}(hj*h]h nr_of_dims}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]uh1hhhhM hj%ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hjThe number of dimension in the N-dimensional array. If this control is not an array, then this field is 0.h]hjThe number of dimension in the N-dimensional array. If this control is not an array, then this field is 0.}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjEubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjeubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]h)}(h``dims[V4L2_CTRL_MAX_DIMS]``h]j)}(hjh]hdims[V4L2_CTRL_MAX_DIMS]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhMhj|ubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]h)}(hThe size of each dimension. The first ``nr_of_dims`` elements of this array must be non-zero, all remaining elements must be zero.h](h&The size of each dimension. The first }(hjhhhNhNubj)}(h``nr_of_dims``h]h nr_of_dims}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhN elements of this array must be non-zero, all remaining elements must be zero.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjbubeh}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``reserved``\ [32]h](j)}(h ``reserved``h]hreserved}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh [32]}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hTReserved for future extensions. Applications and drivers must set the array to zero.h]hTReserved for future extensions. Applications and drivers must set the array to zero.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]colsKuh1j{hj ubeh}(h]id3ah ]h"]h$]h&]uh1jhhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]j|p{1.2cm}|p{3.0cm}|p{13.1cm}|uh1jhhhMhjhhubh)}(h.. _v4l2-querymenu:h]h}(h]v4l2-querymenuah ]h"]v4l2-querymenuah$]h&]uh1hhMhjhhhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jV4L.v4l2_querymenu (C struct)c.V4L.v4l2_querymenuhNtauh1jhjhhhNhNubj#)}(hhh](j()}(hv4l2_querymenuh]j.)}(hstruct v4l2_querymenuh](j)}(hjh]hstruct}(hjjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjfhhhhhMubj%)}(h h]h }(hjwhhhNhNubah}(h]h ]j1ah"]h$]h&]uh1j$hjfhhhhhMubj4)}(hv4l2_querymenuh]j:)}(hjdh]hv4l2_querymenu}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j9hjubah}(h]h ](jLjMeh"]h$]h&]hhuh1j3hjfhhhhhMubeh}(h]h ]h"]h$]h&]hhjWuh1j-jXjYhjbhhhhhMubah}(h]j]ah ](j]j^eh"]h$]h&]jbjc)jdhuh1j'hhhMhj_hhubjf)}(hhh]h}(h]h ]h"]h$]h&]uh1jehj_hhhhhMubeh}(h]h ](jsstructeh"]h$]h&]jxjsjyjjzjj{j|j}uh1j"hhhjhNhNubji)}(hhh](h)}(hstruct v4l2_querymenuh]hstruct v4l2_querymenu}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubj|)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``id``h]j)}(hj h]hid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhM%hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hxIdentifies the control, set by the application from the respective struct :ref:`v4l2_queryctrl ` ``id``.h](hJIdentifies the control, set by the application from the respective struct }(hj*hhhNhNubh)}(h&:ref:`v4l2_queryctrl `h]j)}(hj4h]hv4l2_queryctrl}(hj6hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]refdocj refdomainj@reftyperef refexplicitrefwarnjv4l2-queryctrluh1hhhhM&hj*ubh }(hj*hhhNhNubj)}(h``id``h]hid}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubh.}(hj*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM&hj'ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hj}ubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]h)}(h ``index``h]j)}(hjh]hindex}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhM)hjubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]h)}(hAIndex of the menu item, starting at zero, set by the application.h]hAIndex of the menu item, starting at zero, set by the application.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hjubah}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hunion {h]hunion {}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h (anonymous)h]h (anonymous)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u8h]h__u8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h``name``\ [32]h](j)}(h``name``h]hname}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&ubh [32]}(hj&hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM.hj#ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hName of the menu item, a NUL-terminated ASCII string. This information is intended for the user. This field is valid for ``V4L2_CTRL_TYPE_MENU`` type controls.h](hyName of the menu item, a NUL-terminated ASCII string. This information is intended for the user. This field is valid for }(hjKhhhNhNubj)}(h``V4L2_CTRL_TYPE_MENU``h]hV4L2_CTRL_TYPE_MENU}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1jhjKubh type controls.}(hjKhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM/hjHubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__s64h]h__s64}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hjzubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(h ``value``h]j)}(hjh]hvalue}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhM3hjubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(hfValue of the integer menu item. This field is valid for ``V4L2_CTRL_TYPE_INTEGER_MENU`` type controls.h](h8Value of the integer menu item. This field is valid for }(hjhhhNhNubj)}(h``V4L2_CTRL_TYPE_INTEGER_MENU``h]hV4L2_CTRL_TYPE_INTEGER_MENU}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh type controls.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1jhjwubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h}h]h}}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]morecolsKuh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h ``reserved``h]j)}(hj)h]hreserved}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'ubah}(h]h ]h"]h$]h&]uh1hhhhM9hj$ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hCReserved for future extensions. Drivers must set the array to zero.h]hCReserved for future extensions. Drivers must set the array to zero.}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM:hjDubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1j{hjubeh}(h]id4ah ]h"]h$]h&]uh1jhhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jV4L.v4l2_ctrl_type (C type)c.V4L.v4l2_ctrl_typehNtauh1jhjhhhNhNubj#)}(hhh](j()}(hv4l2_ctrl_typeh]j.)}(htype v4l2_ctrl_typeh](j)}(htypeh]htype}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjhhhhhM=ubj%)}(h h]h }(hjhhhNhNubah}(h]h ]j1ah"]h$]h&]uh1j$hjhhhhhM=ubj4)}(hv4l2_ctrl_typeh]j:)}(hjh]hv4l2_ctrl_type}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j9hjubah}(h]h ](jLjMeh"]h$]h&]hhuh1j3hjhhhhhM=ubeh}(h]h ]h"]h$]h&]hhjWuh1j-jXjYhjhhhhhM=ubah}(h]jah ](j]j^eh"]h$]h&]jbjc)jdhuh1j'hhhM=hjhhubjf)}(hhh]h}(h]h ]h"]h$]h&]uh1jehjhhhhhM=ubeh}(h]h ](jstypeeh"]h$]h&]jxjsjyjjzjj{j|j}uh1j"hhhjhNhNubhraw)}(h \footnotesizeh]h \footnotesize}hjsbah}(h]h ]h"]h$]h&]formatlatexhhuh1jhhhM?hjhhubj)}(hhh]h}(h]h ]h"]h$]h&]j.|p{6.5cm}|p{1.5cm}|p{1.1cm}|p{1.5cm}|p{6.8cm}|uh1jhhhMChjhhubji)}(hhh](h)}(henum v4l2_ctrl_typeh]henum v4l2_ctrl_type}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMGhjubj|)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK7uh1jhj ubhthead)}(hhh]j)}(hhh](j)}(hhh]h)}(hTypeh]hType}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjGubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(h ``minimum``h]j)}(hjch]hminimum}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1jhjaubah}(h]h ]h"]h$]h&]uh1hhhhMMhj^ubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(h``step``h]j)}(hjh]hstep}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhMNhj~ubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(h ``maximum``h]j)}(hjh]hmaximum}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhMOhjubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMPhjubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhjAubah}(h]h ]h"]h$]h&]uh1j?hj ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_INTEGER``h]j)}(hjh]hV4L2_CTRL_TYPE_INTEGER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhMQhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hanyh]hany}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hanyh]hany}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hanyh]hany}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThj5ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h{An integer-valued control ranging from minimum to maximum inclusive. The step value indicates the increment between values.h]h{An integer-valued control ranging from minimum to maximum inclusive. The step value indicates the increment between values.}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhjLubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_BOOLEAN``h]j)}(hjqh]hV4L2_CTRL_TYPE_BOOLEAN}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1jhjoubah}(h]h ]h"]h$]h&]uh1hhhhMWhjlubah}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh]h)}(h0h]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMXhjubah}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh]h)}(h1h]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhjubah}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh]h)}(hjh]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhjubah}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh]h)}(hRA boolean-valued control. Zero corresponds to "disabled", and one means "enabled".h]hZA boolean-valued control. Zero corresponds to “disabled”, and one means “enabled”.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM[hjubah}(h]h ]h"]h$]h&]uh1jhjiubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_MENU``h]j)}(hjh]hV4L2_CTRL_TYPE_MENU}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhM]hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h≥ 0h]h≥ 0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]h1}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hj'ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hN-1h]hN-1}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hj=ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hwThe control has a menu of N choices. The names of the menu items can be enumerated with the ``VIDIOC_QUERYMENU`` ioctl.h](h\The control has a menu of N choices. The names of the menu items can be enumerated with the }(hjWhhhNhNubj)}(h``VIDIOC_QUERYMENU``h]hVIDIOC_QUERYMENU}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWubh ioctl.}(hjWhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMahjTubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_INTEGER_MENU``h]j)}(hjh]hV4L2_CTRL_TYPE_INTEGER_MENU}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhMchjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h≥ 0h]h≥ 0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hN-1h]hN-1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hThe control has a menu of N choices. The values of the menu items can be enumerated with the ``VIDIOC_QUERYMENU`` ioctl. This is similar to ``V4L2_CTRL_TYPE_MENU`` except that instead of strings, the menu items are signed 64-bit integers.h](h]The control has a menu of N choices. The values of the menu items can be enumerated with the }(hjhhhNhNubj)}(h``VIDIOC_QUERYMENU``h]hVIDIOC_QUERYMENU}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh ioctl. This is similar to }(hjhhhNhNubj)}(h``V4L2_CTRL_TYPE_MENU``h]hV4L2_CTRL_TYPE_MENU}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhK except that instead of strings, the menu items are signed 64-bit integers.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMghjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_BITMASK``h]j)}(hj3h]hV4L2_CTRL_TYPE_BITMASK}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]uh1hhhhMkhj.ubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(hjh]h0}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhjNubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(hn/ah]hn/a}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhjdubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(hanyh]hany}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhj{ubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(hA bitmask field. The maximum value is the set of bits that can be used, all other bits are to be 0. The maximum value is interpreted as a __u32, allowing the use of bit 31 in the bitmask.h]hA bitmask field. The maximum value is the set of bits that can be used, all other bits are to be 0. The maximum value is interpreted as a __u32, allowing the use of bit 31 in the bitmask.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohjubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_BUTTON``h]j)}(hjh]hV4L2_CTRL_TYPE_BUTTON}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhMrhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hA control which performs an action when set. Drivers must ignore the value passed with ``VIDIOC_S_CTRL`` and return an ``EACCES`` error code on a ``VIDIOC_G_CTRL`` attempt.h](hWA control which performs an action when set. Drivers must ignore the value passed with }(hjhhhNhNubj)}(h``VIDIOC_S_CTRL``h]h VIDIOC_S_CTRL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh and return an }(hjhhhNhNubj)}(h ``EACCES``h]hEACCES}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh error code on a }(hjhhhNhNubj)}(h``VIDIOC_G_CTRL``h]h VIDIOC_G_CTRL}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh attempt.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMvhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_INTEGER64``h]j)}(hjoh]hV4L2_CTRL_TYPE_INTEGER64}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjmubah}(h]h ]h"]h$]h&]uh1hhhhMyhjjubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(hanyh]hany}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhjubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(hanyh]hany}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hjubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(hanyh]hany}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hjubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(hA 64-bit integer valued control. Minimum, maximum and step size cannot be queried using ``VIDIOC_QUERYCTRL``. Only ``VIDIOC_QUERY_EXT_CTRL`` can retrieve the 64-bit min/max/step values, they should be interpreted as n/a when using ``VIDIOC_QUERYCTRL``.h](hXA 64-bit integer valued control. Minimum, maximum and step size cannot be queried using }(hjhhhNhNubj)}(h``VIDIOC_QUERYCTRL``h]hVIDIOC_QUERYCTRL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh. Only }(hjhhhNhNubj)}(h``VIDIOC_QUERY_EXT_CTRL``h]hVIDIOC_QUERY_EXT_CTRL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh[ can retrieve the 64-bit min/max/step values, they should be interpreted as n/a when using }(hjhhhNhNubj)}(h``VIDIOC_QUERYCTRL``h]hVIDIOC_QUERYCTRL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM}hjubah}(h]h ]h"]h$]h&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_STRING``h]j)}(hj*h]hV4L2_CTRL_TYPE_STRING}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]uh1hhhhMhj%ubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(h≥ 0h]h≥ 0}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjEubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(h≥ 1h]h≥ 1}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj\ubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(h≥ 0h]h≥ 0}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(hXBThe minimum and maximum string lengths. The step size means that the string must be (minimum + N * step) characters long for N ≥ 0. These lengths do not include the terminating zero, so in order to pass a string of length 8 to :ref:`VIDIOC_S_EXT_CTRLS ` you need to set the ``size`` field of struct :c:type:`v4l2_ext_control` to 9. For :ref:`VIDIOC_G_EXT_CTRLS ` you can set the ``size`` field to ``maximum`` + 1. Which character encoding is used will depend on the string control itself and should be part of the control documentation.h](hThe minimum and maximum string lengths. The step size means that the string must be (minimum + N * step) characters long for N ≥ 0. These lengths do not include the terminating zero, so in order to pass a string of length 8 to }(hjhhhNhNubh)}(h.:ref:`VIDIOC_S_EXT_CTRLS `h]j)}(hjh]hVIDIOC_S_EXT_CTRLS}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjvidioc_g_ext_ctrlsuh1hhhhMhjubh you need to set the }(hjhhhNhNubj)}(h``size``h]hsize}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh field of struct }(hjhhhNhNubh)}(h:c:type:`v4l2_ext_control`h]j)}(hjh]hv4l2_ext_control}(hjhhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ext_controluh1hhhhMhjubh to 9. For }(hjhhhNhNubh)}(h.:ref:`VIDIOC_G_EXT_CTRLS `h]j)}(hjh]hVIDIOC_G_EXT_CTRLS}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjvidioc_g_ext_ctrlsuh1hhhhMhjubh you can set the }(hjhhhNhNubj)}(h``size``h]hsize}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh field to }(hjhhhNhNubj)}(h ``maximum``h]hmaximum}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh + 1. Which character encoding is used will depend on the string control itself and should be part of the control documentation.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_CTRL_CLASS``h]j)}(hjPh]hV4L2_CTRL_TYPE_CTRL_CLASS}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh]h)}(hn/ah]hn/a}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjkubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh]h)}(hn/ah]hn/a}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh]h)}(hn/ah]hn/a}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh]h)}(hXThis is not a control. When ``VIDIOC_QUERYCTRL`` is called with a control ID equal to a control class code (see :ref:`ctrl-class`) + 1, the ioctl returns the name of the control class and this control type. Older drivers which do not support this feature return an ``EINVAL`` error code.h](hThis is not a control. When }(hjhhhNhNubj)}(h``VIDIOC_QUERYCTRL``h]hVIDIOC_QUERYCTRL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh@ is called with a control ID equal to a control class code (see }(hjhhhNhNubh)}(h:ref:`ctrl-class`h]j)}(hjh]h ctrl-class}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj ctrl-classuh1hhhhMhjubh) + 1, the ioctl returns the name of the control class and this control type. Older drivers which do not support this feature return an }(hjhhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh error code.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_U8``h]j)}(hj h]hV4L2_CTRL_TYPE_U8}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hanyh]hany}(hj; hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8 ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hanyh]hany}(hjR hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjO ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hanyh]hany}(hji hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjf ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hAn unsigned 8-bit valued control ranging from minimum to maximum inclusive. The step value indicates the increment between values.h]hAn unsigned 8-bit valued control ranging from minimum to maximum inclusive. The step value indicates the increment between values.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj} ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_U16``h]j)}(hj h]hV4L2_CTRL_TYPE_U16}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hanyh]hany}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hanyh]hany}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hanyh]hany}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hAn unsigned 16-bit valued control ranging from minimum to maximum inclusive. The step value indicates the increment between values.h]hAn unsigned 16-bit valued control ranging from minimum to maximum inclusive. The step value indicates the increment between values.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_U32``h]j)}(hj'!h]hV4L2_CTRL_TYPE_U32}(hj)!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%!ubah}(h]h ]h"]h$]h&]uh1hhhhMhj"!ubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(hanyh]hany}(hjE!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjB!ubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(hanyh]hany}(hj\!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjY!ubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(hanyh]hany}(hjs!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjp!ubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(hAn unsigned 32-bit valued control ranging from minimum to maximum inclusive. The step value indicates the increment between values.h]hAn unsigned 32-bit valued control ranging from minimum to maximum inclusive. The step value indicates the increment between values.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h%``V4L2_CTRL_TYPE_MPEG2_QUANTISATION``h]j)}(hj!h]h!V4L2_CTRL_TYPE_MPEG2_QUANTISATION}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj!ubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(hn/ah]hn/a}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(hn/ah]hn/a}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(hn/ah]hn/a}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(hvA struct :c:type:`v4l2_ctrl_mpeg2_quantisation`, containing MPEG-2 quantisation matrices for stateless video decoders.h](h A struct }(hj"hhhNhNubh)}(h&:c:type:`v4l2_ctrl_mpeg2_quantisation`h]j)}(hj"h]hv4l2_ctrl_mpeg2_quantisation}(hj"hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_mpeg2_quantisationuh1hhhhMhj"ubhG, containing MPEG-2 quantisation matrices for stateless video decoders.}(hj"hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj "ubah}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h!``V4L2_CTRL_TYPE_MPEG2_SEQUENCE``h]j)}(hjT"h]hV4L2_CTRL_TYPE_MPEG2_SEQUENCE}(hjV"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjR"ubah}(h]h ]h"]h$]h&]uh1hhhhMhjO"ubah}(h]h ]h"]h$]h&]uh1jhjL"ubj)}(hhh]h)}(hn/ah]hn/a}(hjr"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjo"ubah}(h]h ]h"]h$]h&]uh1jhjL"ubj)}(hhh]h)}(hn/ah]hn/a}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1jhjL"ubj)}(hhh]h)}(hn/ah]hn/a}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1jhjL"ubj)}(hhh]h)}(hpA struct :c:type:`v4l2_ctrl_mpeg2_sequence`, containing MPEG-2 sequence parameters for stateless video decoders.h](h A struct }(hj"hhhNhNubh)}(h":c:type:`v4l2_ctrl_mpeg2_sequence`h]j)}(hj"h]hv4l2_ctrl_mpeg2_sequence}(hj"hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_mpeg2_sequenceuh1hhhhMhj"ubhE, containing MPEG-2 sequence parameters for stateless video decoders.}(hj"hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1jhjL"ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h ``V4L2_CTRL_TYPE_MPEG2_PICTURE``h]j)}(hj"h]hV4L2_CTRL_TYPE_MPEG2_PICTURE}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(hn/ah]hn/a}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(hn/ah]hn/a}(hj1#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.#ubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(hn/ah]hn/a}(hjH#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjE#ubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(hnA struct :c:type:`v4l2_ctrl_mpeg2_picture`, containing MPEG-2 picture parameters for stateless video decoders.h](h A struct }(hj_#hhhNhNubh)}(h!:c:type:`v4l2_ctrl_mpeg2_picture`h]j)}(hji#h]hv4l2_ctrl_mpeg2_picture}(hjk#hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhjg#ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_mpeg2_pictureuh1hhhhMhj_#ubhD, containing MPEG-2 picture parameters for stateless video decoders.}(hj_#hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj\#ubah}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_AREA``h]j)}(hj#h]hV4L2_CTRL_TYPE_AREA}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#ubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1jhj#ubj)}(hhh]h)}(hn/ah]hn/a}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1jhj#ubj)}(hhh]h)}(hn/ah]hn/a}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1jhj#ubj)}(hhh]h)}(hn/ah]hn/a}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1jhj#ubj)}(hhh]h)}(hvA struct :c:type:`v4l2_area`, containing the width and the height of a rectangular area. Units depend on the use case.h](h A struct }(hj$hhhNhNubh)}(h:c:type:`v4l2_area`h]j)}(hj$h]h v4l2_area}(hj$hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjj v4l2_areauh1hhhhMhj$ubhZ, containing the width and the height of a rectangular area. Units depend on the use case.}(hj$hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj$ubah}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_RECT``h]j)}(hjL$h]hV4L2_CTRL_TYPE_RECT}(hjN$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJ$ubah}(h]h ]h"]h$]h&]uh1hhhhMhjG$ubah}(h]h ]h"]h$]h&]uh1jhjD$ubj)}(hhh]h)}(hn/ah]hn/a}(hjj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjg$ubah}(h]h ]h"]h$]h&]uh1jhjD$ubj)}(hhh]h)}(hn/ah]hn/a}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj~$ubah}(h]h ]h"]h$]h&]uh1jhjD$ubj)}(hhh]h)}(hn/ah]hn/a}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj$ubah}(h]h ]h"]h$]h&]uh1jhjD$ubj)}(hhh]h)}(hXA struct :c:type:`v4l2_rect`, containing a rectangle described by the position of its top-left corner, the width and the height. Units depend on the use case. Support for ``V4L2_CTRL_WHICH_MIN_VAL`` and ``V4L2_CTRL_WHICH_MAX_VAL`` is optional and depends on the ``V4L2_CTRL_FLAG_HAS_WHICH_MIN_MAX`` flag. See the documentation of the specific control on how to interpret the minimum and maximum values.h](h A struct }(hj$hhhNhNubh)}(h:c:type:`v4l2_rect`h]j)}(hj$h]h v4l2_rect}(hj$hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjj v4l2_rectuh1hhhhMhj$ubh, containing a rectangle described by the position of its top-left corner, the width and the height. Units depend on the use case. Support for }(hj$hhhNhNubj)}(h``V4L2_CTRL_WHICH_MIN_VAL``h]hV4L2_CTRL_WHICH_MIN_VAL}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubh and }(hj$hhhNhNubj)}(h``V4L2_CTRL_WHICH_MAX_VAL``h]hV4L2_CTRL_WHICH_MAX_VAL}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubh is optional and depends on the }(hj$hhhNhNubj)}(h$``V4L2_CTRL_FLAG_HAS_WHICH_MIN_MAX``h]h V4L2_CTRL_FLAG_HAS_WHICH_MIN_MAX}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubhh flag. See the documentation of the specific control on how to interpret the minimum and maximum values.}(hj$hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj$ubah}(h]h ]h"]h$]h&]uh1jhjD$ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_H264_SPS``h]j)}(hj*%h]hV4L2_CTRL_TYPE_H264_SPS}(hj,%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(%ubah}(h]h ]h"]h$]h&]uh1hhhhMhj%%ubah}(h]h ]h"]h$]h&]uh1jhj"%ubj)}(hhh]h)}(hn/ah]hn/a}(hjH%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjE%ubah}(h]h ]h"]h$]h&]uh1jhj"%ubj)}(hhh]h)}(hn/ah]hn/a}(hj_%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj\%ubah}(h]h ]h"]h$]h&]uh1jhj"%ubj)}(hhh]h)}(hn/ah]hn/a}(hjv%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjs%ubah}(h]h ]h"]h$]h&]uh1jhj"%ubj)}(hhh]h)}(hhA struct :c:type:`v4l2_ctrl_h264_sps`, containing H264 sequence parameters for stateless video decoders.h](h A struct }(hj%hhhNhNubh)}(h:c:type:`v4l2_ctrl_h264_sps`h]j)}(hj%h]hv4l2_ctrl_h264_sps}(hj%hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_h264_spsuh1hhhhMhj%ubhC, containing H264 sequence parameters for stateless video decoders.}(hj%hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj%ubah}(h]h ]h"]h$]h&]uh1jhj"%ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_H264_PPS``h]j)}(hj%h]hV4L2_CTRL_TYPE_H264_PPS}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]uh1hhhhMhj%ubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(hn/ah]hn/a}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj%ubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(hn/ah]hn/a}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(hn/ah]hn/a}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(hgA struct :c:type:`v4l2_ctrl_h264_pps`, containing H264 picture parameters for stateless video decoders.h](h A struct }(hj5&hhhNhNubh)}(h:c:type:`v4l2_ctrl_h264_pps`h]j)}(hj?&h]hv4l2_ctrl_h264_pps}(hjA&hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj=&ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_h264_ppsuh1hhhhMhj5&ubhB, containing H264 picture parameters for stateless video decoders.}(hj5&hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj2&ubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h&``V4L2_CTRL_TYPE_H264_SCALING_MATRIX``h]j)}(hjz&h]h"V4L2_CTRL_TYPE_H264_SCALING_MATRIX}(hj|&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjx&ubah}(h]h ]h"]h$]h&]uh1hhhhMhju&ubah}(h]h ]h"]h$]h&]uh1jhjr&ubj)}(hhh]h)}(hn/ah]hn/a}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1jhjr&ubj)}(hhh]h)}(hn/ah]hn/a}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1jhjr&ubj)}(hhh]h)}(hn/ah]hn/a}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1jhjr&ubj)}(hhh]h)}(hpA struct :c:type:`v4l2_ctrl_h264_scaling_matrix`, containing H264 scaling matrices for stateless video decoders.h](h A struct }(hj&hhhNhNubh)}(h':c:type:`v4l2_ctrl_h264_scaling_matrix`h]j)}(hj&h]hv4l2_ctrl_h264_scaling_matrix}(hj&hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj&ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_h264_scaling_matrixuh1hhhhMhj&ubh@, containing H264 scaling matrices for stateless video decoders.}(hj&hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1jhjr&ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h$``V4L2_CTRL_TYPE_H264_SLICE_PARAMS``h]j)}(hj"'h]h V4L2_CTRL_TYPE_H264_SLICE_PARAMS}(hj$'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj 'ubah}(h]h ]h"]h$]h&]uh1hhhhMhj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hn/ah]hn/a}(hj@'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj='ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hn/ah]hn/a}(hjW'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjT'ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hn/ah]hn/a}(hjn'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjk'ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hnA struct :c:type:`v4l2_ctrl_h264_slice_params`, containing H264 slice parameters for stateless video decoders.h](h A struct }(hj'hhhNhNubh)}(h%:c:type:`v4l2_ctrl_h264_slice_params`h]j)}(hj'h]hv4l2_ctrl_h264_slice_params}(hj'hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj'ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_h264_slice_paramsuh1hhhhMhj'ubh@, containing H264 slice parameters for stateless video decoders.}(hj'hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h%``V4L2_CTRL_TYPE_H264_DECODE_PARAMS``h]j)}(hj'h]h!V4L2_CTRL_TYPE_H264_DECODE_PARAMS}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'ubah}(h]h ]h"]h$]h&]uh1hhhhMhj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hn/ah]hn/a}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hn/ah]hn/a}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hn/ah]hn/a}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hpA struct :c:type:`v4l2_ctrl_h264_decode_params`, containing H264 decode parameters for stateless video decoders.h](h A struct }(hj-(hhhNhNubh)}(h&:c:type:`v4l2_ctrl_h264_decode_params`h]j)}(hj7(h]hv4l2_ctrl_h264_decode_params}(hj9(hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj5(ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_h264_decode_paramsuh1hhhhMhj-(ubhA, containing H264 decode parameters for stateless video decoders.}(hj-(hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj*(ubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_FWHT_PARAMS``h]j)}(hjr(h]hV4L2_CTRL_TYPE_FWHT_PARAMS}(hjt(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjp(ubah}(h]h ]h"]h$]h&]uh1hhhhMhjm(ubah}(h]h ]h"]h$]h&]uh1jhjj(ubj)}(hhh]h)}(hn/ah]hn/a}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1jhjj(ubj)}(hhh]h)}(hn/ah]hn/a}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1jhjj(ubj)}(hhh]h)}(hn/ah]hn/a}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1jhjj(ubj)}(hhh]h)}(hbA struct :c:type:`v4l2_ctrl_fwht_params`, containing FWHT parameters for stateless video decoders.h](h A struct }(hj(hhhNhNubh)}(h:c:type:`v4l2_ctrl_fwht_params`h]j)}(hj(h]hv4l2_ctrl_fwht_params}(hj(hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_fwht_paramsuh1hhhhMhj(ubh:, containing FWHT parameters for stateless video decoders.}(hj(hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1jhjj(ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_HEVC_SPS``h]j)}(hj)h]hV4L2_CTRL_TYPE_HEVC_SPS}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)ubah}(h]h ]h"]h$]h&]uh1hhhhMhj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(hn/ah]hn/a}(hj8)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5)ubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(hn/ah]hn/a}(hjO)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjL)ubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(hn/ah]hn/a}(hjf)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjc)ubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(hkA struct :c:type:`v4l2_ctrl_hevc_sps`, containing HEVC Sequence Parameter Set for stateless video decoders.h](h A struct }(hj})hhhNhNubh)}(h:c:type:`v4l2_ctrl_hevc_sps`h]j)}(hj)h]hv4l2_ctrl_hevc_sps}(hj)hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj)ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_hevc_spsuh1hhhhMhj})ubhF, containing HEVC Sequence Parameter Set for stateless video decoders.}(hj})hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjz)ubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_HEVC_PPS``h]j)}(hj)h]hV4L2_CTRL_TYPE_HEVC_PPS}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)ubah}(h]h ]h"]h$]h&]uh1hhhhMhj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(hn/ah]hn/a}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(hn/ah]hn/a}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(hn/ah]hn/a}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj *ubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(hjA struct :c:type:`v4l2_ctrl_hevc_pps`, containing HEVC Picture Parameter Set for stateless video decoders.h](h A struct }(hj%*hhhNhNubh)}(h:c:type:`v4l2_ctrl_hevc_pps`h]j)}(hj/*h]hv4l2_ctrl_hevc_pps}(hj1*hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj-*ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_hevc_ppsuh1hhhhMhj%*ubhE, containing HEVC Picture Parameter Set for stateless video decoders.}(hj%*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj"*ubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h$``V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS``h]j)}(hjj*h]h V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS}(hjl*hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjh*ubah}(h]h ]h"]h$]h&]uh1hhhhMhje*ubah}(h]h ]h"]h$]h&]uh1jhjb*ubj)}(hhh]h)}(hn/ah]hn/a}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj*ubah}(h]h ]h"]h$]h&]uh1jhjb*ubj)}(hhh]h)}(hn/ah]hn/a}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj*ubah}(h]h ]h"]h$]h&]uh1jhjb*ubj)}(hhh]h)}(hn/ah]hn/a}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj*ubah}(h]h ]h"]h$]h&]uh1jhjb*ubj)}(hhh]h)}(hnA struct :c:type:`v4l2_ctrl_hevc_slice_params`, containing HEVC slice parameters for stateless video decoders.h](h A struct }(hj*hhhNhNubh)}(h%:c:type:`v4l2_ctrl_hevc_slice_params`h]j)}(hj*h]hv4l2_ctrl_hevc_slice_params}(hj*hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj*ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_hevc_slice_paramsuh1hhhhMhj*ubh@, containing HEVC slice parameters for stateless video decoders.}(hj*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj*ubah}(h]h ]h"]h$]h&]uh1jhjb*ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h&``V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX``h]j)}(hj+h]h"V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1hhhhMhj +ubah}(h]h ]h"]h$]h&]uh1jhj +ubj)}(hhh]h)}(hn/ah]hn/a}(hj0+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-+ubah}(h]h ]h"]h$]h&]uh1jhj +ubj)}(hhh]h)}(hn/ah]hn/a}(hjG+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjD+ubah}(h]h ]h"]h$]h&]uh1jhj +ubj)}(hhh]h)}(hn/ah]hn/a}(hj^+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj[+ubah}(h]h ]h"]h$]h&]uh1jhj +ubj)}(hhh]h)}(hnA struct :c:type:`v4l2_ctrl_hevc_scaling_matrix`, containing HEVC scaling matrix for stateless video decoders.h](h A struct }(hju+hhhNhNubh)}(h':c:type:`v4l2_ctrl_hevc_scaling_matrix`h]j)}(hj+h]hv4l2_ctrl_hevc_scaling_matrix}(hj+hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj}+ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_hevc_scaling_matrixuh1hhhhMhju+ubh>, containing HEVC scaling matrix for stateless video decoders.}(hju+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjr+ubah}(h]h ]h"]h$]h&]uh1jhj +ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_VP8_FRAME``h]j)}(hj+h]hV4L2_CTRL_TYPE_VP8_FRAME}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1hhhhM hj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(hn/ah]hn/a}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(hn/ah]hn/a}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(hn/ah]hn/a}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj,ubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(heA struct :c:type:`v4l2_ctrl_vp8_frame`, containing VP8 frame parameters for stateless video decoders.h](h A struct }(hj,hhhNhNubh)}(h:c:type:`v4l2_ctrl_vp8_frame`h]j)}(hj',h]hv4l2_ctrl_vp8_frame}(hj),hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj%,ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_vp8_frameuh1hhhhMhj,ubh?, containing VP8 frame parameters for stateless video decoders.}(hj,hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h%``V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS``h]j)}(hjb,h]h!V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS}(hjd,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj`,ubah}(h]h ]h"]h$]h&]uh1hhhhMhj],ubah}(h]h ]h"]h$]h&]uh1jhjZ,ubj)}(hhh]h)}(hn/ah]hn/a}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj},ubah}(h]h ]h"]h$]h&]uh1jhjZ,ubj)}(hhh]h)}(hn/ah]hn/a}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1jhjZ,ubj)}(hhh]h)}(hn/ah]hn/a}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1jhjZ,ubj)}(hhh]h)}(hrA struct :c:type:`v4l2_ctrl_hevc_decode_params`, containing HEVC decoding parameters for stateless video decoders.h](h A struct }(hj,hhhNhNubh)}(h&:c:type:`v4l2_ctrl_hevc_decode_params`h]j)}(hj,h]hv4l2_ctrl_hevc_decode_params}(hj,hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_hevc_decode_paramsuh1hhhhMhj,ubhC, containing HEVC decoding parameters for stateless video decoders.}(hj,hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1jhjZ,ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h%``V4L2_CTRL_TYPE_VP9_COMPRESSED_HDR``h]j)}(hj -h]h!V4L2_CTRL_TYPE_VP9_COMPRESSED_HDR}(hj -hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj-ubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hn/ah]hn/a}(hj(-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj%-ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hn/ah]hn/a}(hj?-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<-ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hn/ah]hn/a}(hjV-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjS-ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hsA struct :c:type:`v4l2_ctrl_vp9_compressed_hdr`, containing VP9 probabilities updates for stateless video decoders.h](h A struct }(hjm-hhhNhNubh)}(h&:c:type:`v4l2_ctrl_vp9_compressed_hdr`h]j)}(hjw-h]hv4l2_ctrl_vp9_compressed_hdr}(hjy-hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhju-ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_vp9_compressed_hdruh1hhhhMhjm-ubhD, containing VP9 probabilities updates for stateless video decoders.}(hjm-hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_VP9_FRAME``h]j)}(hj-h]hV4L2_CTRL_TYPE_VP9_FRAME}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj-ubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hn/ah]hn/a}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hn/ah]hn/a}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hn/ah]hn/a}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hlA struct :c:type:`v4l2_ctrl_vp9_frame`, containing VP9 frame decode parameters for stateless video decoders.h](h A struct }(hj.hhhNhNubh)}(h:c:type:`v4l2_ctrl_vp9_frame`h]j)}(hj.h]hv4l2_ctrl_vp9_frame}(hj!.hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_vp9_frameuh1hhhhM hj.ubhF, containing VP9 frame decode parameters for stateless video decoders.}(hj.hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hj.ubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_AV1_SEQUENCE``h]j)}(hjZ.h]hV4L2_CTRL_TYPE_AV1_SEQUENCE}(hj\.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjX.ubah}(h]h ]h"]h$]h&]uh1hhhhM"hjU.ubah}(h]h ]h"]h$]h&]uh1jhjR.ubj)}(hhh]h)}(hn/ah]hn/a}(hjx.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hju.ubah}(h]h ]h"]h$]h&]uh1jhjR.ubj)}(hhh]h)}(hn/ah]hn/a}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hj.ubah}(h]h ]h"]h$]h&]uh1jhjR.ubj)}(hhh]h)}(hn/ah]hn/a}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hj.ubah}(h]h ]h"]h$]h&]uh1jhjR.ubj)}(hhh]h)}(hxA struct :c:type:`v4l2_ctrl_av1_sequence`, containing AV1 Sequence OBU decoding parameters for stateless video decoders.h](h A struct }(hj.hhhNhNubh)}(h :c:type:`v4l2_ctrl_av1_sequence`h]j)}(hj.h]hv4l2_ctrl_av1_sequence}(hj.hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_av1_sequenceuh1hhhhM&hj.ubhO, containing AV1 Sequence OBU decoding parameters for stateless video decoders.}(hj.hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM&hj.ubah}(h]h ]h"]h$]h&]uh1jhjR.ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h'``V4L2_CTRL_TYPE_AV1_TILE_GROUP_ENTRY``h]j)}(hj/h]h#V4L2_CTRL_TYPE_AV1_TILE_GROUP_ENTRY}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubah}(h]h ]h"]h$]h&]uh1hhhhM(hj.ubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(hn/ah]hn/a}(hj /hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM)hj/ubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(hn/ah]hn/a}(hj7/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hj4/ubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(hn/ah]hn/a}(hjN/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjK/ubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(hA struct :c:type:`v4l2_ctrl_av1_tile_group_entry`, containing AV1 Tile Group OBU decoding parameters for stateless video decoders.h](h A struct }(hje/hhhNhNubh)}(h(:c:type:`v4l2_ctrl_av1_tile_group_entry`h]j)}(hjo/h]hv4l2_ctrl_av1_tile_group_entry}(hjq/hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhjm/ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_av1_tile_group_entryuh1hhhhM,hje/ubhQ, containing AV1 Tile Group OBU decoding parameters for stateless video decoders.}(hje/hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM,hjb/ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_TYPE_AV1_FRAME``h]j)}(hj/h]hV4L2_CTRL_TYPE_AV1_FRAME}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubah}(h]h ]h"]h$]h&]uh1hhhhM.hj/ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(hn/ah]hn/a}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hj/ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(hn/ah]hn/a}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hj/ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(hn/ah]hn/a}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM1hj/ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(hA struct :c:type:`v4l2_ctrl_av1_frame`, containing AV1 Frame/Frame Header OBU decoding parameters for stateless video decoders.h](h A struct }(hj 0hhhNhNubh)}(h:c:type:`v4l2_ctrl_av1_frame`h]j)}(hj0h]hv4l2_ctrl_av1_frame}(hj0hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_av1_frameuh1hhhhM2hj 0ubhY, containing AV1 Frame/Frame Header OBU decoding parameters for stateless video decoders.}(hj 0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM2hj 0ubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h!``V4L2_CTRL_TYPE_AV1_FILM_GRAIN``h]j)}(hjR0h]hV4L2_CTRL_TYPE_AV1_FILM_GRAIN}(hjT0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjP0ubah}(h]h ]h"]h$]h&]uh1hhhhM4hjM0ubah}(h]h ]h"]h$]h&]uh1jhjJ0ubj)}(hhh]h)}(hn/ah]hn/a}(hjp0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM5hjm0ubah}(h]h ]h"]h$]h&]uh1jhjJ0ubj)}(hhh]h)}(hn/ah]hn/a}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hj0ubah}(h]h ]h"]h$]h&]uh1jhjJ0ubj)}(hhh]h)}(hn/ah]hn/a}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hj0ubah}(h]h ]h"]h$]h&]uh1jhjJ0ubj)}(hhh]h)}(hoA struct :c:type:`v4l2_ctrl_av1_film_grain`, containing AV1 Film Grain parameters for stateless video decoders.h](h A struct }(hj0hhhNhNubh)}(h":c:type:`v4l2_ctrl_av1_film_grain`h]j)}(hj0h]hv4l2_ctrl_av1_film_grain}(hj0hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ctrl_av1_film_grainuh1hhhhM8hj0ubhD, containing AV1 Film Grain parameters for stateless video decoders.}(hj0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM8hj0ubah}(h]h ]h"]h$]h&]uh1jhjJ0ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]colsKuh1j{hjubeh}(h]id5ah ] longtableah"]h$]h&]uh1jhhjhhhNhNubj)}(h \normalsizeh]h \normalsize}hj1sbah}(h]h ]h"]h$]h&]formatlatexhhuh1jhhhM;hjhhubj)}(hhh]h}(h]h ]h"]h$]h&]j|p{7.3cm}|p{1.8cm}|p{8.2cm}|uh1jhhhM?hjhhubh)}(h.. _control-flags:h]h}(h]h ]h"]h$]h&]h control-flagsuh1hhMChjhhhhubji)}(hhh](h)}(h Control Flagsh]h Control Flags}(hj/1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhj,1ubj|)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj=1ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj=1ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj=1ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_FLAG_DISABLED``h]j)}(hji1h]hV4L2_CTRL_FLAG_DISABLED}(hjk1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjg1ubah}(h]h ]h"]h$]h&]uh1hhhhMJhjd1ubah}(h]h ]h"]h$]h&]uh1jhja1ubj)}(hhh]h)}(h0x0001h]h0x0001}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMKhj1ubah}(h]h ]h"]h$]h&]uh1jhja1ubj)}(hhh]h)}(hThis control is permanently disabled and should be ignored by the application. Any attempt to change the control will result in an ``EINVAL`` error code.h](hThis control is permanently disabled and should be ignored by the application. Any attempt to change the control will result in an }(hj1hhhNhNubj)}(h ``EINVAL``h]hEINVALv}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubh error code.}(hj1hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMLhj1ubah}(h]h ]h"]h$]h&]uh1jhja1ubeh}(h]h ]h"]h$]h&]uh1jhj^1ubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_FLAG_GRABBED``h]j)}(hj1h]hV4L2_CTRL_FLAG_GRABBED}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]uh1hhhhMOhj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(h0x0002h]h0x0002}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMPhj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hXThis control is temporarily unchangeable, for example because another application took over control of the respective resource. Such controls may be displayed specially in a user interface. Attempts to change the control may result in an ``EBUSY`` error code.h](hThis control is temporarily unchangeable, for example because another application took over control of the respective resource. Such controls may be displayed specially in a user interface. Attempts to change the control may result in an }(hj2hhhNhNubj)}(h ``EBUSY``h]hEBUSY}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubh error code.}(hj2hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMQhj2ubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj^1ubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_FLAG_READ_ONLY``h]j)}(hj;2h]hV4L2_CTRL_FLAG_READ_ONLY}(hj=2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj92ubah}(h]h ]h"]h$]h&]uh1hhhhMUhj62ubah}(h]h ]h"]h$]h&]uh1jhj32ubj)}(hhh]h)}(h0x0004h]h0x0004}(hjY2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhjV2ubah}(h]h ]h"]h$]h&]uh1jhj32ubj)}(hhh]h)}(huThis control is permanently readable only. Any attempt to change the control will result in an ``EINVAL`` error code.h](h_This control is permanently readable only. Any attempt to change the control will result in an }(hjp2hhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hjx2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjp2ubh error code.}(hjp2hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMWhjm2ubah}(h]h ]h"]h$]h&]uh1jhj32ubeh}(h]h ]h"]h$]h&]uh1jhj^1ubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_FLAG_UPDATE``h]j)}(hj2h]hV4L2_CTRL_FLAG_UPDATE}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]uh1hhhhMYhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(h0x0008h]h0x0008}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hA hint that changing this control may affect the value of other controls within the same control class. Applications should update their user interface accordingly.h]hA hint that changing this control may affect the value of other controls within the same control class. Applications should update their user interface accordingly.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM[hj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj^1ubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_FLAG_INACTIVE``h]j)}(hj2h]hV4L2_CTRL_FLAG_INACTIVE}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]uh1hhhhM^hj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(h0x0010h]h0x0010}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hj3ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hXThis control is not applicable to the current configuration and should be displayed accordingly in a user interface. For example the flag may be set on a MPEG audio level 2 bitrate control when MPEG audio encoding level 1 was selected with another control.h]hXThis control is not applicable to the current configuration and should be displayed accordingly in a user interface. For example the flag may be set on a MPEG audio level 2 bitrate control when MPEG audio encoding level 1 was selected with another control.}(hj03hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hj-3ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj^1ubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_FLAG_SLIDER``h]j)}(hjR3h]hV4L2_CTRL_FLAG_SLIDER}(hjT3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjP3ubah}(h]h ]h"]h$]h&]uh1hhhhMdhjM3ubah}(h]h ]h"]h$]h&]uh1jhjJ3ubj)}(hhh]h)}(h0x0020h]h0x0020}(hjp3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehjm3ubah}(h]h ]h"]h$]h&]uh1jhjJ3ubj)}(hhh]h)}(hZA hint that this control is best represented as a slider-like element in a user interface.h]hZA hint that this control is best represented as a slider-like element in a user interface.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhj3ubah}(h]h ]h"]h$]h&]uh1jhjJ3ubeh}(h]h ]h"]h$]h&]uh1jhj^1ubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_FLAG_WRITE_ONLY``h]j)}(hj3h]hV4L2_CTRL_FLAG_WRITE_ONLY}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&]uh1hhhhMhhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(h0x0040h]h0x0040}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hXMThis control is permanently writable only. Any attempt to read the control will result in an ``EACCES`` error code error code. This flag is typically present for relative controls or action controls where writing a value will cause the device to carry out a given action (e. g. motor control) but no meaningful value can be returned.h](h]This control is permanently writable only. Any attempt to read the control will result in an }(hj3hhhNhNubj)}(h ``EACCES``h]hEACCES}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubh error code error code. This flag is typically present for relative controls or action controls where writing a value will cause the device to carry out a given action (e. g. motor control) but no meaningful value can be returned.}(hj3hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMjhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj^1ubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_FLAG_VOLATILE``h]j)}(hj4h]hV4L2_CTRL_FLAG_VOLATILE}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1hhhhMphj 4ubah}(h]h ]h"]h$]h&]uh1jhj 4ubj)}(hhh]h)}(h0x0080h]h0x0080}(hj04hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhj-4ubah}(h]h ]h"]h$]h&]uh1jhj 4ubj)}(hhh](h)}(hX"This control is volatile, which means that the value of the control changes continuously. A typical example would be the current gain value if the device is in auto-gain mode. In such a case the hardware calculates the gain value based on the lighting conditions which can change over time.h]hX"This control is volatile, which means that the value of the control changes continuously. A typical example would be the current gain value if the device is in auto-gain mode. In such a case the hardware calculates the gain value based on the lighting conditions which can change over time.}(hjG4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjD4ubj<)}(hX Setting a new value for a volatile control will be ignored unless :ref:`V4L2_CTRL_FLAG_EXECUTE_ON_WRITE ` is also set. Setting a new value for a volatile control will *never* trigger a :ref:`V4L2_EVENT_CTRL_CH_VALUE ` event.h]h)}(hX Setting a new value for a volatile control will be ignored unless :ref:`V4L2_CTRL_FLAG_EXECUTE_ON_WRITE ` is also set. Setting a new value for a volatile control will *never* trigger a :ref:`V4L2_EVENT_CTRL_CH_VALUE ` event.h](hBSetting a new value for a volatile control will be ignored unless }(hjY4hhhNhNubh)}(h>:ref:`V4L2_CTRL_FLAG_EXECUTE_ON_WRITE `h]j)}(hjc4h]hV4L2_CTRL_FLAG_EXECUTE_ON_WRITE}(hje4hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhja4ubah}(h]h ]h"]h$]h&]refdocj refdomainjo4reftyperef refexplicitrefwarnjflag_execute_on_writeuh1hhhhMzhjY4ubh> is also set. Setting a new value for a volatile control will }(hjY4hhhNhNubhemphasis)}(h*never*h]hnever}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1j4hjY4ubh trigger a }(hjY4hhhNhNubh)}(h4:ref:`V4L2_EVENT_CTRL_CH_VALUE `h]j)}(hj4h]hV4L2_EVENT_CTRL_CH_VALUE}(hj4hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]refdocj refdomainj4reftyperef refexplicitrefwarnjctrl-changes-flagsuh1hhhhMzhjY4ubh event.}(hjY4hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMzhjU4ubah}(h]h ]h"]h$]h&]uh1j;hjD4ubeh}(h]h ]h"]h$]h&]uh1jhj 4ubeh}(h]h ]h"]h$]h&]uh1jhj^1ubj)}(hhh](j)}(hhh]h)}(h``V4L2_CTRL_FLAG_HAS_PAYLOAD``h]j)}(hj4h]hV4L2_CTRL_FLAG_HAS_PAYLOAD}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(h0x0100h]h0x0100}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hX0This control has a pointer type, so its value has to be accessed using one of the pointer fields of struct :c:type:`v4l2_ext_control`. This flag is set for controls that are an array, string, or have a compound type. In all cases you have to set a pointer to memory containing the payload of the control.h](hkThis control has a pointer type, so its value has to be accessed using one of the pointer fields of struct }(hj5hhhNhNubh)}(h:c:type:`v4l2_ext_control`h]j)}(hj5h]hv4l2_ext_control}(hj5hhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_ext_controluh1hhhhMhj5ubh. This flag is set for controls that are an array, string, or have a compound type. In all cases you have to set a pointer to memory containing the payload of the control.}(hj5hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhj^1ubj)}(hhh](j)}(hhh](h)}(h.. _FLAG_EXECUTE_ON_WRITE:h]h}(h]h ]h"]h$]h&]hflag-execute-on-writeuh1hhMhj)}(hhh](jU5h)}(hX/The value provided to the control will be propagated to the driver even if it remains constant. This is required when the control represents an action on the hardware. For example: clearing an error flag or triggering the flash. All the controls of the type ``V4L2_CTRL_TYPE_BUTTON`` have this flag set.h](hXThe value provided to the control will be propagated to the driver even if it remains constant. This is required when the control represents an action on the hardware. For example: clearing an error flag or triggering the flash. All the controls of the type }(hjc5hhhNhNubj)}(h``V4L2_CTRL_TYPE_BUTTON``h]hV4L2_CTRL_TYPE_BUTTON}(hjk5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjc5ubh have this flag set.}(hjc5hhhNhNubeh}(h]j_5ah ]h"]flag_execute_on_writeah$]h&]uh1hhhhMhj`5expect_referenced_by_name}j5jU5sexpect_referenced_by_id}j_5jU5subeh}(h]h ]h"]h$]h&]uh1jhjO5ububh)}(h#``V4L2_CTRL_FLAG_EXECUTE_ON_WRITE``h]j)}(hj5h]hV4L2_CTRL_FLAG_EXECUTE_ON_WRITE}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1hhhhMhjR5ubeh}(h]h ]h"]h$]h&]uh1jhjO5ubj)}(hhh](jU5h)}(h0x0200h]h0x0200}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubeh}(h]h ]h"]h$]h&]uh1jhjO5ubj`5eh}(h]h ]h"]h$]h&]uh1jhj^1ubj)}(hhh](j)}(hhh](h)}(h.. _FLAG_MODIFY_LAYOUT:h]h}(h]h ]h"]h$]h&]hflag-modify-layoutuh1hhMhj)}(hhh](j5h)}(h~Changing this control value may modify the layout of the buffer (for video devices) or the media bus format (for sub-devices).h]h~Changing this control value may modify the layout of the buffer (for video devices) or the media bus format (for sub-devices).}(hj5hhhNhNubah}(h]j5ah ]h"]flag_modify_layoutah$]h&]uh1hhhhMhj5j5}j5j5sj5}j5j5subh)}(h;A typical example would be the ``V4L2_CID_ROTATE`` control.h](hA typical example would be the }(hj5hhhNhNubj)}(h``V4L2_CID_ROTATE``h]hV4L2_CID_ROTATE}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubh control.}(hj5hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj5ubh)}(hNote that typically controls with this flag will also set the ``V4L2_CTRL_FLAG_GRABBED`` flag when buffers are allocated or streaming is in progress since most drivers do not support changing the format in that case.h](h>Note that typically controls with this flag will also set the }(hj 6hhhNhNubj)}(h``V4L2_CTRL_FLAG_GRABBED``h]hV4L2_CTRL_FLAG_GRABBED}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj 6ubh flag when buffers are allocated or streaming is in progress since most drivers do not support changing the format in that case.}(hj 6hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj5ubeh}(h]h ]h"]h$]h&]uh1jhj5ububh)}(h ``V4L2_CTRL_FLAG_MODIFY_LAYOUT``h]j)}(hj56h]hV4L2_CTRL_FLAG_MODIFY_LAYOUT}(hj76hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj36ubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubeh}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh](j5h)}(h0x0400h]h0x0400}(hjS6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjP6ubeh}(h]h ]h"]h$]h&]uh1jhj5ubj5eh}(h]h ]h"]h$]h&]uh1jhj^1ubj)}(hhh](j)}(hhh]h)}(h ``V4L2_CTRL_FLAG_DYNAMIC_ARRAY``h]j)}(hju6h]hV4L2_CTRL_FLAG_DYNAMIC_ARRAY}(hjw6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjs6ubah}(h]h ]h"]h$]h&]uh1hhhhMhjp6ubah}(h]h ]h"]h$]h&]uh1jhjm6ubj)}(hhh]h)}(h0x0800h]h0x0800}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhjm6ubj)}(hhh]h)}(hXBThis control is a dynamically sized 1-dimensional array. It behaves the same as a regular array, except that the number of elements as reported by the ``elems`` field is between 1 and ``dims[0]``. So setting the control with a differently sized array will change the ``elems`` field when the control is queried afterwards.h](hThis control is a dynamically sized 1-dimensional array. It behaves the same as a regular array, except that the number of elements as reported by the }(hj6hhhNhNubj)}(h ``elems``h]helems}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubh field is between 1 and }(hj6hhhNhNubj)}(h ``dims[0]``h]hdims[0]}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubhH. So setting the control with a differently sized array will change the }(hj6hhhNhNubj)}(h ``elems``h]helems}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubh. field when the control is queried afterwards.}(hj6hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhjm6ubeh}(h]h ]h"]h$]h&]uh1jhj^1ubj)}(hhh](j)}(hhh]h)}(h$``V4L2_CTRL_FLAG_HAS_WHICH_MIN_MAX``h]j)}(hj7h]h V4L2_CTRL_FLAG_HAS_WHICH_MIN_MAX}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(h0x1000h]h0x1000}(hj 7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(hsThis control supports getting minimum and maximum values using vidioc_g_ext_ctrls with V4L2_CTRL_WHICH_MIN/MAX_VAL.h]hsThis control supports getting minimum and maximum values using vidioc_g_ext_ctrls with V4L2_CTRL_WHICH_MIN/MAX_VAL.}(hj77hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj47ubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhj^1ubeh}(h]h ]h"]h$]h&]uh1jhj=1ubeh}(h]h ]h"]h$]h&]colsKuh1j{hj,1ubeh}(h](id6j+1eh ] longtableah"] control-flagsah$]h&]uh1jhhjhhhNhNj5}jd7j!1sj5}j+1j!1subeh}(h] descriptionah ]h"] descriptionah$]h&]uh1hhhhhhhhK)ubh)}(hhh](h)}(h Return Valueh]h Return Value}(hjt7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjq7hhhhhMubh)}(hOn success 0 is returned, on error -1 and the ``errno`` variable is set appropriately. The generic error codes are described at the :ref:`Generic Error Codes ` chapter.h](h.On success 0 is returned, on error -1 and the }(hj7hhhNhNubj)}(h ``errno``h]herrno}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubhM variable is set appropriately. The generic error codes are described at the }(hj7hhhNhNubh)}(h':ref:`Generic Error Codes `h]j)}(hj7h]hGeneric Error Codes}(hj7hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]refdocj refdomainj7reftyperef refexplicitrefwarnj gen-errorsuh1hhhhMhj7ubh chapter.}(hj7hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjq7hhubjw)}(hhh](j|)}(hXEINVAL The struct :ref:`v4l2_queryctrl ` ``id`` is invalid. The struct :ref:`v4l2_querymenu ` ``id`` is invalid or ``index`` is out of range (less than ``minimum`` or greater than ``maximum``) or this particular menu item is not supported by the driver. h](j)}(hEINVALh]hEINVAL}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhMhj7ubj)}(hhh]h)}(hXThe struct :ref:`v4l2_queryctrl ` ``id`` is invalid. The struct :ref:`v4l2_querymenu ` ``id`` is invalid or ``index`` is out of range (less than ``minimum`` or greater than ``maximum``) or this particular menu item is not supported by the driver.h](h The struct }(hj7hhhNhNubh)}(h&:ref:`v4l2_queryctrl `h]j)}(hj7h]hv4l2_queryctrl}(hj7hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]refdocj refdomainj7reftyperef refexplicitrefwarnjv4l2-queryctrluh1hhhhMhj7ubh }(hj7hhhNhNubj)}(h``id``h]hid}(hj 8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubh is invalid. The struct }(hj7hhhNhNubh)}(h&:ref:`v4l2_querymenu `h]j)}(hj8h]hv4l2_querymenu}(hj 8hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj8ubah}(h]h ]h"]h$]h&]refdocj refdomainj*8reftyperef refexplicitrefwarnjv4l2-querymenuuh1hhhhMhj7ubh }hj7sbj)}(h``id``h]hid}(hj@8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubh is invalid or }(hj7hhhNhNubj)}(h ``index``h]hindex}(hjR8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubh is out of range (less than }(hj7hhhNhNubj)}(h ``minimum``h]hminimum}(hjd8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubh or greater than }(hj7hhhNhNubj)}(h ``maximum``h]hmaximum}(hjv8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubh>) or this particular menu item is not supported by the driver.}(hj7hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1j{hhhMhj7ubj|)}(h9EACCES An attempt was made to read a write-only control. h](j)}(hEACCESh]hEACCES}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhMhj8ubj)}(hhh]h)}(h1An attempt was made to read a write-only control.h]h1An attempt was made to read a write-only control.}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1j{hhhMhj7hhubeh}(h]h ]h"]h$]h&]uh1jvhjq7hhhhhNubhfootnote)}(hX``V4L2_CTRL_FLAG_DISABLED`` was intended for two purposes: Drivers can skip predefined controls not supported by the hardware (although returning ``EINVAL`` would do as well), or disable predefined and private controls after hardware detection without the trouble of reordering control arrays and indices (``EINVAL`` cannot be used to skip private controls because it would prematurely end the enumeration).h](hlabel)}(hhh]h1}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1j8hj8hhhNhNubh)}(hX``V4L2_CTRL_FLAG_DISABLED`` was intended for two purposes: Drivers can skip predefined controls not supported by the hardware (although returning ``EINVAL`` would do as well), or disable predefined and private controls after hardware detection without the trouble of reordering control arrays and indices (``EINVAL`` cannot be used to skip private controls because it would prematurely end the enumeration).h](j)}(h``V4L2_CTRL_FLAG_DISABLED``h]hV4L2_CTRL_FLAG_DISABLED}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj8ubhw was intended for two purposes: Drivers can skip predefined controls not supported by the hardware (although returning }(hj8hhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj8ubh would do as well), or disable predefined and private controls after hardware detection without the trouble of reordering control arrays and indices (}(hj8hhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hj 9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj8ubh[ cannot be used to skip private controls because it would prematurely end the enumeration).}(hj8hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj8ubeh}(h]jah ]h"]f1ah$]h&]jajKjjuh1j8hhhMhjq7hhubeh}(h] return-valueah ]h"] return valueah$]h&]uh1hhhhhhhhMubeh}(h](Bioctls-vidioc-queryctrl-vidioc-query-ext-ctrl-and-vidioc-querymenuheh ]h"](Cioctls vidioc_queryctrl, vidioc_query_ext_ctrl and vidioc_querymenuvidioc_queryctrleh$]h&]uh1hhhhhhhhKj5}j99hsj5}hhsubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj`9error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}f1]jasrefids}(h]haj+1]j!1aj_5]jU5aj5]j5aj]jaunameids}(j99hj89j59hhjbj_jjjn7jk7jjj j jNjKjd7j+1j5j_5j5j5j09j-9j(9ju nametypes}(j99j89hjbjjn7jj jNjd7j5j5j09j(9uh}(hhj59hhhj_jj j)jjjj jjejk7jjjjjjj j j j j jKjEj]jbjjj+1j,1j_5jc5j5j5j-9jq7jj8jw jjj6j jpjj1jj`7j,1u footnote_refs}j9]jas citation_refs} autofootnotes]j8aautofootnote_refs]jasymbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jn9KsRparse_messages]hsystem_message)}(hhh]h)}(heUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h]hgUnexpected possible title overline or transition. Treating it as ordinary text because it’s so short.}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]levelKtypeINFOlineM6sourcehuh1j9hjubatransform_messages](j9)}(hhh]h)}(hhh]h6Hyperlink target "vidioc-queryctrl" is not referenced.}hj9sbah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]levelKtypej9sourcehlineKuh1j9ubj9)}(hhh]h)}(hhh]h4Hyperlink target "v4l2-queryctrl" is not referenced.}hj:sbah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]levelKtypej9sourcehlineKeuh1j9ubj9)}(hhh]h)}(hhh]h9Hyperlink target "v4l2-query-ext-ctrl" is not referenced.}hj!:sbah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]levelKtypej9sourcehlineKuh1j9ubj9)}(hhh]h)}(hhh]h4Hyperlink target "v4l2-querymenu" is not referenced.}hj;:sbah}(h]h ]h"]h$]h&]uh1hhj8:ubah}(h]h ]h"]h$]h&]levelKtypej9sourcehlineMuh1j9ubj9)}(hhh]h)}(hhh]h3Hyperlink target "control-flags" is not referenced.}hjU:sbah}(h]h ]h"]h$]h&]uh1hhjR:ubah}(h]h ]h"]h$]h&]levelKtypej9sourcehlineMCuh1j9ubj9)}(hhh]h)}(hhh]h;Hyperlink target "flag-execute-on-write" is not referenced.}hjo:sbah}(h]h ]h"]h$]h&]uh1hhjl:ubah}(h]h ]h"]h$]h&]levelKtypej9lineMsourcehuh1j9ubj9)}(hhh]h)}(hhh]h;Hyperlink target "flag-execute-on-write" is not referenced.}hj:sbah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]levelKtypej9lineMsourcehuh1j9ubj9)}(hhh]h)}(hhh]h;Hyperlink target "flag-execute-on-write" is not referenced.}hj:sbah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]levelKtypej9lineMsourcehuh1j9ubj9)}(hhh]h)}(hhh]h8Hyperlink target "flag-modify-layout" is not referenced.}hj:sbah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]levelKtypej9lineMsourcehuh1j9ubj9)}(hhh]h)}(hhh]h8Hyperlink target "flag-modify-layout" is not referenced.}hj:sbah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]levelKtypej9lineMsourcehuh1j9ubj9)}(hhh]h)}(hhh]h8Hyperlink target "flag-modify-layout" is not referenced.}hj:sbah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]levelKtypej9lineMsourcehuh1j9ube transformerN include_log] decorationNhhub.