Lines Matching +full:ext +full:- +full:gen
1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
13 VIDIOC_QUERYCTRL - VIDIOC_QUERY_EXT_CTRL - VIDIOC_QUERYMENU - Enumerate controls and menu control i…
42 of a struct :ref:`v4l2_queryctrl <v4l2-queryctrl>` and call the
60 driver returns the next supported non-compound control, or ``EINVAL`` if
72 :ref:`v4l2_queryctrl <v4l2-queryctrl>` since that structure is full.
80 fields of struct :ref:`v4l2_querymenu <v4l2-querymenu>` and call the
85 :ref:`v4l2_queryctrl <v4l2-queryctrl>` ``minimum`` to ``maximum``,
99 .. _v4l2-queryctrl:
103 .. flat-table:: struct v4l2_queryctrl
104 :header-rows: 0
105 :stub-columns: 0
108 * - __u32
109 - ``id``
110 - Identifies the control, set by the application. See
111 :ref:`control-id` for predefined IDs. When the ID is ORed with
115 * - __u32
116 - ``type``
117 - Type of control, see :c:type:`v4l2_ctrl_type`.
118 * - __u8
119 - ``name``\ [32]
120 - Name of the control, a NUL-terminated ASCII string. This
122 * - __s32
123 - ``minimum``
124 - Minimum value, inclusive. This field gives a lower bound for the
127 Note that this a signed 32-bit value.
128 * - __s32
129 - ``maximum``
130 - Maximum value, inclusive. This field gives an upper bound for the
133 Note that this a signed 32-bit value.
134 * - __s32
135 - ``step``
136 - This field gives a step size for the control. See enum
139 unsigned 32-bit value.
146 repeated read-write cycles.
152 0-511 and the driver reports 0-65535, step should be 128.
156 * - __s32
157 - ``default_value``
158 - The default value of a ``V4L2_CTRL_TYPE_INTEGER``, ``_BOOLEAN``,
166 * - __u32
167 - ``flags``
168 - Control flags, see :ref:`control-flags`.
169 * - __u32
170 - ``reserved``\ [2]
171 - Reserved for future extensions. Drivers must set the array to
177 .. _v4l2-query-ext-ctrl:
181 .. flat-table:: struct v4l2_query_ext_ctrl
182 :header-rows: 0
183 :stub-columns: 0
186 * - __u32
187 - ``id``
188 - Identifies the control, set by the application. See
189 :ref:`control-id` for predefined IDs. When the ID is ORed with
191 returns the first non-compound control with a higher ID. When the
196 * - __u32
197 - ``type``
198 - Type of control, see :c:type:`v4l2_ctrl_type`.
199 * - char
200 - ``name``\ [32]
201 - Name of the control, a NUL-terminated ASCII string. This
203 * - __s64
204 - ``minimum``
205 - Minimum value, inclusive. This field gives a lower bound for the
208 Note that this a signed 64-bit value.
209 * - __s64
210 - ``maximum``
211 - Maximum value, inclusive. This field gives an upper bound for the
214 Note that this a signed 64-bit value.
215 * - __u64
216 - ``step``
217 - This field gives a step size for the control. See enum
220 unsigned 64-bit value.
227 repeated read-write cycles.
233 0-511 and the driver reports 0-65535, step should be 128.
234 * - __s64
235 - ``default_value``
236 - The default value of a ``V4L2_CTRL_TYPE_INTEGER``, ``_INTEGER64``,
244 * - __u32
245 - ``flags``
246 - Control flags, see :ref:`control-flags`.
247 * - __u32
248 - ``elem_size``
249 - The size in bytes of a single element of the array. Given a char
250 pointer ``p`` to a 3-dimensional array you can find the position
256 * - __u32
257 - ``elems``
258 - The number of elements in the N-dimensional array. If this control
261 * - __u32
262 - ``nr_of_dims``
263 - The number of dimension in the N-dimensional array. If this
265 * - __u32
266 - ``dims[V4L2_CTRL_MAX_DIMS]``
267 - The size of each dimension. The first ``nr_of_dims`` elements of
268 this array must be non-zero, all remaining elements must be zero.
269 * - __u32
270 - ``reserved``\ [32]
271 - Reserved for future extensions. Applications and drivers must set
277 .. _v4l2-querymenu:
279 .. flat-table:: struct v4l2_querymenu
280 :header-rows: 0
281 :stub-columns: 0
284 * - __u32
285 - ``id``
286 - Identifies the control, set by the application from the respective
287 struct :ref:`v4l2_queryctrl <v4l2-queryctrl>` ``id``.
288 * - __u32
289 - ``index``
290 - Index of the menu item, starting at zero, set by the application.
291 * - union {
292 - (anonymous)
293 * - __u8
294 - ``name``\ [32]
295 - Name of the menu item, a NUL-terminated ASCII string. This
298 * - __s64
299 - ``value``
300 - Value of the integer menu item. This field is valid for
302 * - }
303 -
304 * - __u32
305 - ``reserved``
306 - Reserved for future extensions. Drivers must set the array to
316 .. flat-table:: enum v4l2_ctrl_type
317 :header-rows: 1
318 :stub-columns: 0
321 * - Type
322 - ``minimum``
323 - ``step``
324 - ``maximum``
325 - Description
326 * - ``V4L2_CTRL_TYPE_INTEGER``
327 - any
328 - any
329 - any
330 - An integer-valued control ranging from minimum to maximum
332 * - ``V4L2_CTRL_TYPE_BOOLEAN``
333 - 0
334 - 1
335 - 1
336 - A boolean-valued control. Zero corresponds to "disabled", and one
338 * - ``V4L2_CTRL_TYPE_MENU``
339 - ≥ 0
340 - 1
341 - N-1
342 - The control has a menu of N choices. The names of the menu items
344 * - ``V4L2_CTRL_TYPE_INTEGER_MENU``
345 - ≥ 0
346 - 1
347 - N-1
348 - The control has a menu of N choices. The values of the menu items
351 the menu items are signed 64-bit integers.
352 * - ``V4L2_CTRL_TYPE_BITMASK``
353 - 0
354 - n/a
355 - any
356 - A bitmask field. The maximum value is the set of bits that can be
359 * - ``V4L2_CTRL_TYPE_BUTTON``
360 - 0
361 - 0
362 - 0
363 - A control which performs an action when set. Drivers must ignore
366 * - ``V4L2_CTRL_TYPE_INTEGER64``
367 - any
368 - any
369 - any
370 - A 64-bit integer valued control. Minimum, maximum and step size
372 ``VIDIOC_QUERY_EXT_CTRL`` can retrieve the 64-bit min/max/step
375 * - ``V4L2_CTRL_TYPE_STRING``
376 - ≥ 0
377 - ≥ 1
378 - ≥ 0
379 - The minimum and maximum string lengths. The step size means that
390 * - ``V4L2_CTRL_TYPE_CTRL_CLASS``
391 - n/a
392 - n/a
393 - n/a
394 - This is not a control. When ``VIDIOC_QUERYCTRL`` is called with a
395 control ID equal to a control class code (see :ref:`ctrl-class`)
399 * - ``V4L2_CTRL_TYPE_U8``
400 - any
401 - any
402 - any
403 - An unsigned 8-bit valued control ranging from minimum to maximum
405 * - ``V4L2_CTRL_TYPE_U16``
406 - any
407 - any
408 - any
409 - An unsigned 16-bit valued control ranging from minimum to maximum
411 * - ``V4L2_CTRL_TYPE_U32``
412 - any
413 - any
414 - any
415 - An unsigned 32-bit valued control ranging from minimum to maximum
417 * - ``V4L2_CTRL_TYPE_MPEG2_SLICE_PARAMS``
418 - n/a
419 - n/a
420 - n/a
421 - A struct :c:type:`v4l2_ctrl_mpeg2_slice_params`, containing MPEG-2
423 * - ``V4L2_CTRL_TYPE_MPEG2_QUANTIZATION``
424 - n/a
425 - n/a
426 - n/a
427 - A struct :c:type:`v4l2_ctrl_mpeg2_quantization`, containing MPEG-2
429 * - ``V4L2_CTRL_TYPE_AREA``
430 - n/a
431 - n/a
432 - n/a
433 - A struct :c:type:`v4l2_area`, containing the width and the height
435 * - ``V4L2_CTRL_TYPE_H264_SPS``
436 - n/a
437 - n/a
438 - n/a
439 - A struct :c:type:`v4l2_ctrl_h264_sps`, containing H264
441 * - ``V4L2_CTRL_TYPE_H264_PPS``
442 - n/a
443 - n/a
444 - n/a
445 - A struct :c:type:`v4l2_ctrl_h264_pps`, containing H264
447 * - ``V4L2_CTRL_TYPE_H264_SCALING_MATRIX``
448 - n/a
449 - n/a
450 - n/a
451 - A struct :c:type:`v4l2_ctrl_h264_scaling_matrix`, containing H264
453 * - ``V4L2_CTRL_TYPE_H264_SLICE_PARAMS``
454 - n/a
455 - n/a
456 - n/a
457 - A struct :c:type:`v4l2_ctrl_h264_slice_params`, containing H264
459 * - ``V4L2_CTRL_TYPE_H264_DECODE_PARAMS``
460 - n/a
461 - n/a
462 - n/a
463 - A struct :c:type:`v4l2_ctrl_h264_decode_params`, containing H264
465 * - ``V4L2_CTRL_TYPE_HEVC_SPS``
466 - n/a
467 - n/a
468 - n/a
469 - A struct :c:type:`v4l2_ctrl_hevc_sps`, containing HEVC Sequence
471 * - ``V4L2_CTRL_TYPE_HEVC_PPS``
472 - n/a
473 - n/a
474 - n/a
475 - A struct :c:type:`v4l2_ctrl_hevc_pps`, containing HEVC Picture
477 * - ``V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS``
478 - n/a
479 - n/a
480 - n/a
481 - A struct :c:type:`v4l2_ctrl_hevc_slice_params`, containing HEVC
486 .. _control-flags:
490 .. flat-table:: Control Flags
491 :header-rows: 0
492 :stub-columns: 0
495 * - ``V4L2_CTRL_FLAG_DISABLED``
496 - 0x0001
497 - This control is permanently disabled and should be ignored by the
500 * - ``V4L2_CTRL_FLAG_GRABBED``
501 - 0x0002
502 - This control is temporarily unchangeable, for example because
506 * - ``V4L2_CTRL_FLAG_READ_ONLY``
507 - 0x0004
508 - This control is permanently readable only. Any attempt to change
510 * - ``V4L2_CTRL_FLAG_UPDATE``
511 - 0x0008
512 - A hint that changing this control may affect the value of other
515 * - ``V4L2_CTRL_FLAG_INACTIVE``
516 - 0x0010
517 - This control is not applicable to the current configuration and
521 * - ``V4L2_CTRL_FLAG_SLIDER``
522 - 0x0020
523 - A hint that this control is best represented as a slider-like
525 * - ``V4L2_CTRL_FLAG_WRITE_ONLY``
526 - 0x0040
527 - This control is permanently writable only. Any attempt to read the
533 * - ``V4L2_CTRL_FLAG_VOLATILE``
534 - 0x0080
535 - This control is volatile, which means that the value of the
537 current gain value if the device is in auto-gain mode. In such a
548 :ref:`V4L2_EVENT_CTRL_CH_VALUE <ctrl-changes-flags>` event.
549 * - ``V4L2_CTRL_FLAG_HAS_PAYLOAD``
550 - 0x0100
551 - This control has a pointer type, so its value has to be accessed
559 - ``V4L2_CTRL_FLAG_EXECUTE_ON_WRITE``
560 - 0x0200
561 - The value provided to the control will be propagated to the driver
568 - ``V4L2_CTRL_FLAG_MODIFY_LAYOUT``
569 - 0x0400
570 - Changing this control value may modify the layout of the
571 buffer (for video devices) or the media bus format (for sub-devices).
583 On success 0 is returned, on error -1 and the ``errno`` variable is set
585 :ref:`Generic Error Codes <gen-errors>` chapter.
588 The struct :ref:`v4l2_queryctrl <v4l2-queryctrl>` ``id`` is
589 invalid. The struct :ref:`v4l2_querymenu <v4l2-querymenu>` ``id``
595 An attempt was made to read a write-only control.