Lines Matching +full:slider +full:-
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.
151 than a slider. When for example a hardware register accepts values
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.
232 than a slider. When for example a hardware register accepts values
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
319 .. flat-table:: enum v4l2_ctrl_type
320 :header-rows: 1
321 :stub-columns: 0
324 * - Type
325 - ``minimum``
326 - ``step``
327 - ``maximum``
328 - Description
329 * - ``V4L2_CTRL_TYPE_INTEGER``
330 - any
331 - any
332 - any
333 - An integer-valued control ranging from minimum to maximum
335 * - ``V4L2_CTRL_TYPE_BOOLEAN``
336 - 0
337 - 1
338 - 1
339 - A boolean-valued control. Zero corresponds to "disabled", and one
341 * - ``V4L2_CTRL_TYPE_MENU``
342 - ≥ 0
343 - 1
344 - N-1
345 - The control has a menu of N choices. The names of the menu items
347 * - ``V4L2_CTRL_TYPE_INTEGER_MENU``
348 - ≥ 0
349 - 1
350 - N-1
351 - The control has a menu of N choices. The values of the menu items
354 the menu items are signed 64-bit integers.
355 * - ``V4L2_CTRL_TYPE_BITMASK``
356 - 0
357 - n/a
358 - any
359 - A bitmask field. The maximum value is the set of bits that can be
362 * - ``V4L2_CTRL_TYPE_BUTTON``
363 - 0
364 - 0
365 - 0
366 - A control which performs an action when set. Drivers must ignore
369 * - ``V4L2_CTRL_TYPE_INTEGER64``
370 - any
371 - any
372 - any
373 - A 64-bit integer valued control. Minimum, maximum and step size
375 ``VIDIOC_QUERY_EXT_CTRL`` can retrieve the 64-bit min/max/step
378 * - ``V4L2_CTRL_TYPE_STRING``
379 - ≥ 0
380 - ≥ 1
381 - ≥ 0
382 - The minimum and maximum string lengths. The step size means that
393 * - ``V4L2_CTRL_TYPE_CTRL_CLASS``
394 - n/a
395 - n/a
396 - n/a
397 - This is not a control. When ``VIDIOC_QUERYCTRL`` is called with a
398 control ID equal to a control class code (see :ref:`ctrl-class`)
402 * - ``V4L2_CTRL_TYPE_U8``
403 - any
404 - any
405 - any
406 - An unsigned 8-bit valued control ranging from minimum to maximum
408 * - ``V4L2_CTRL_TYPE_U16``
409 - any
410 - any
411 - any
412 - An unsigned 16-bit valued control ranging from minimum to maximum
414 * - ``V4L2_CTRL_TYPE_U32``
415 - any
416 - any
417 - any
418 - An unsigned 32-bit valued control ranging from minimum to maximum
420 * - ``V4L2_CTRL_TYPE_MPEG2_QUANTISATION``
421 - n/a
422 - n/a
423 - n/a
424 - A struct :c:type:`v4l2_ctrl_mpeg2_quantisation`, containing MPEG-2
426 * - ``V4L2_CTRL_TYPE_MPEG2_SEQUENCE``
427 - n/a
428 - n/a
429 - n/a
430 - A struct :c:type:`v4l2_ctrl_mpeg2_sequence`, containing MPEG-2
432 * - ``V4L2_CTRL_TYPE_MPEG2_PICTURE``
433 - n/a
434 - n/a
435 - n/a
436 - A struct :c:type:`v4l2_ctrl_mpeg2_picture`, containing MPEG-2
438 * - ``V4L2_CTRL_TYPE_AREA``
439 - n/a
440 - n/a
441 - n/a
442 - A struct :c:type:`v4l2_area`, containing the width and the height
444 * - ``V4L2_CTRL_TYPE_H264_SPS``
445 - n/a
446 - n/a
447 - n/a
448 - A struct :c:type:`v4l2_ctrl_h264_sps`, containing H264
450 * - ``V4L2_CTRL_TYPE_H264_PPS``
451 - n/a
452 - n/a
453 - n/a
454 - A struct :c:type:`v4l2_ctrl_h264_pps`, containing H264
456 * - ``V4L2_CTRL_TYPE_H264_SCALING_MATRIX``
457 - n/a
458 - n/a
459 - n/a
460 - A struct :c:type:`v4l2_ctrl_h264_scaling_matrix`, containing H264
462 * - ``V4L2_CTRL_TYPE_H264_SLICE_PARAMS``
463 - n/a
464 - n/a
465 - n/a
466 - A struct :c:type:`v4l2_ctrl_h264_slice_params`, containing H264
468 * - ``V4L2_CTRL_TYPE_H264_DECODE_PARAMS``
469 - n/a
470 - n/a
471 - n/a
472 - A struct :c:type:`v4l2_ctrl_h264_decode_params`, containing H264
474 * - ``V4L2_CTRL_TYPE_FWHT_PARAMS``
475 - n/a
476 - n/a
477 - n/a
478 - A struct :c:type:`v4l2_ctrl_fwht_params`, containing FWHT
480 * - ``V4L2_CTRL_TYPE_HEVC_SPS``
481 - n/a
482 - n/a
483 - n/a
484 - A struct :c:type:`v4l2_ctrl_hevc_sps`, containing HEVC Sequence
486 * - ``V4L2_CTRL_TYPE_HEVC_PPS``
487 - n/a
488 - n/a
489 - n/a
490 - A struct :c:type:`v4l2_ctrl_hevc_pps`, containing HEVC Picture
492 * - ``V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS``
493 - n/a
494 - n/a
495 - n/a
496 - A struct :c:type:`v4l2_ctrl_hevc_slice_params`, containing HEVC
498 * - ``V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX``
499 - n/a
500 - n/a
501 - n/a
502 - A struct :c:type:`v4l2_ctrl_hevc_scaling_matrix`, containing HEVC
504 * - ``V4L2_CTRL_TYPE_VP8_FRAME``
505 - n/a
506 - n/a
507 - n/a
508 - A struct :c:type:`v4l2_ctrl_vp8_frame`, containing VP8
510 * - ``V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS``
511 - n/a
512 - n/a
513 - n/a
514 - A struct :c:type:`v4l2_ctrl_hevc_decode_params`, containing HEVC
516 * - ``V4L2_CTRL_TYPE_VP9_COMPRESSED_HDR``
517 - n/a
518 - n/a
519 - n/a
520 - A struct :c:type:`v4l2_ctrl_vp9_compressed_hdr`, containing VP9
522 * - ``V4L2_CTRL_TYPE_VP9_FRAME``
523 - n/a
524 - n/a
525 - n/a
526 - A struct :c:type:`v4l2_ctrl_vp9_frame`, containing VP9
528 * - ``V4L2_CTRL_TYPE_AV1_SEQUENCE``
529 - n/a
530 - n/a
531 - n/a
532 - A struct :c:type:`v4l2_ctrl_av1_sequence`, containing AV1 Sequence OBU
534 * - ``V4L2_CTRL_TYPE_AV1_TILE_GROUP_ENTRY``
535 - n/a
536 - n/a
537 - n/a
538 - A struct :c:type:`v4l2_ctrl_av1_tile_group_entry`, containing AV1 Tile Group
540 * - ``V4L2_CTRL_TYPE_AV1_FRAME``
541 - n/a
542 - n/a
543 - n/a
544 - A struct :c:type:`v4l2_ctrl_av1_frame`, containing AV1 Frame/Frame
546 * - ``V4L2_CTRL_TYPE_AV1_FILM_GRAIN``
547 - n/a
548 - n/a
549 - n/a
550 - A struct :c:type:`v4l2_ctrl_av1_film_grain`, containing AV1 Film Grain
561 .. _control-flags:
563 .. flat-table:: Control Flags
564 :header-rows: 0
565 :stub-columns: 0
568 * - ``V4L2_CTRL_FLAG_DISABLED``
569 - 0x0001
570 - This control is permanently disabled and should be ignored by the
573 * - ``V4L2_CTRL_FLAG_GRABBED``
574 - 0x0002
575 - This control is temporarily unchangeable, for example because
579 * - ``V4L2_CTRL_FLAG_READ_ONLY``
580 - 0x0004
581 - This control is permanently readable only. Any attempt to change
583 * - ``V4L2_CTRL_FLAG_UPDATE``
584 - 0x0008
585 - A hint that changing this control may affect the value of other
588 * - ``V4L2_CTRL_FLAG_INACTIVE``
589 - 0x0010
590 - This control is not applicable to the current configuration and
594 * - ``V4L2_CTRL_FLAG_SLIDER``
595 - 0x0020
596 - A hint that this control is best represented as a slider-like
598 * - ``V4L2_CTRL_FLAG_WRITE_ONLY``
599 - 0x0040
600 - This control is permanently writable only. Any attempt to read the
606 * - ``V4L2_CTRL_FLAG_VOLATILE``
607 - 0x0080
608 - This control is volatile, which means that the value of the
610 current gain value if the device is in auto-gain mode. In such a
621 :ref:`V4L2_EVENT_CTRL_CH_VALUE <ctrl-changes-flags>` event.
622 * - ``V4L2_CTRL_FLAG_HAS_PAYLOAD``
623 - 0x0100
624 - This control has a pointer type, so its value has to be accessed
632 - ``V4L2_CTRL_FLAG_EXECUTE_ON_WRITE``
633 - 0x0200
634 - The value provided to the control will be propagated to the driver
641 - ``V4L2_CTRL_FLAG_MODIFY_LAYOUT``
642 - 0x0400
643 - Changing this control value may modify the layout of the
644 buffer (for video devices) or the media bus format (for sub-devices).
652 * - ``V4L2_CTRL_FLAG_DYNAMIC_ARRAY``
653 - 0x0800
654 - This control is a dynamically sized 1-dimensional array. It
664 On success 0 is returned, on error -1 and the ``errno`` variable is set
666 :ref:`Generic Error Codes <gen-errors>` chapter.
669 The struct :ref:`v4l2_queryctrl <v4l2-queryctrl>` ``id`` is
670 invalid. The struct :ref:`v4l2_querymenu <v4l2-querymenu>` ``id``
676 An attempt was made to read a write-only control.