1059b1c5bSMauro Carvalho Chehab.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2407e84cdSMauro Carvalho Chehab.. c:namespace:: V4L 354f38fcaSMauro Carvalho Chehab 454f38fcaSMauro Carvalho Chehab.. _VIDIOC_QUERYCAP: 554f38fcaSMauro Carvalho Chehab 654f38fcaSMauro Carvalho Chehab********************* 754f38fcaSMauro Carvalho Chehabioctl VIDIOC_QUERYCAP 854f38fcaSMauro Carvalho Chehab********************* 954f38fcaSMauro Carvalho Chehab 1054f38fcaSMauro Carvalho ChehabName 1154f38fcaSMauro Carvalho Chehab==== 1254f38fcaSMauro Carvalho Chehab 1354f38fcaSMauro Carvalho ChehabVIDIOC_QUERYCAP - Query device capabilities 1454f38fcaSMauro Carvalho Chehab 1554f38fcaSMauro Carvalho ChehabSynopsis 1654f38fcaSMauro Carvalho Chehab======== 1754f38fcaSMauro Carvalho Chehab 18407e84cdSMauro Carvalho Chehab.. c:macro:: VIDIOC_QUERYCAP 1954f38fcaSMauro Carvalho Chehab 20407e84cdSMauro Carvalho Chehab``int ioctl(int fd, VIDIOC_QUERYCAP, struct v4l2_capability *argp)`` 2154f38fcaSMauro Carvalho Chehab 2254f38fcaSMauro Carvalho ChehabArguments 2354f38fcaSMauro Carvalho Chehab========= 2454f38fcaSMauro Carvalho Chehab 2554f38fcaSMauro Carvalho Chehab``fd`` 26407e84cdSMauro Carvalho Chehab File descriptor returned by :c:func:`open()`. 2754f38fcaSMauro Carvalho Chehab 2854f38fcaSMauro Carvalho Chehab``argp`` 2954f38fcaSMauro Carvalho Chehab Pointer to struct :c:type:`v4l2_capability`. 3054f38fcaSMauro Carvalho Chehab 3154f38fcaSMauro Carvalho ChehabDescription 3254f38fcaSMauro Carvalho Chehab=========== 3354f38fcaSMauro Carvalho Chehab 3454f38fcaSMauro Carvalho ChehabAll V4L2 devices support the ``VIDIOC_QUERYCAP`` ioctl. It is used to 3554f38fcaSMauro Carvalho Chehabidentify kernel devices compatible with this specification and to obtain 3654f38fcaSMauro Carvalho Chehabinformation about driver and hardware capabilities. The ioctl takes a 3754f38fcaSMauro Carvalho Chehabpointer to a struct :c:type:`v4l2_capability` which is 3854f38fcaSMauro Carvalho Chehabfilled by the driver. When the driver is not compatible with this 3954f38fcaSMauro Carvalho Chehabspecification the ioctl returns an ``EINVAL`` error code. 4054f38fcaSMauro Carvalho Chehab 4154f38fcaSMauro Carvalho Chehab.. c:type:: v4l2_capability 4254f38fcaSMauro Carvalho Chehab 43fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{1.4cm}|p{2.8cm}|p{13.1cm}| 44fea13a69SMauro Carvalho Chehab 45fea13a69SMauro Carvalho Chehab.. cssclass:: longtable 46fea13a69SMauro Carvalho Chehab 4754f38fcaSMauro Carvalho Chehab.. flat-table:: struct v4l2_capability 4854f38fcaSMauro Carvalho Chehab :header-rows: 0 4954f38fcaSMauro Carvalho Chehab :stub-columns: 0 5054f38fcaSMauro Carvalho Chehab :widths: 3 4 20 5154f38fcaSMauro Carvalho Chehab 5254f38fcaSMauro Carvalho Chehab * - __u8 5354f38fcaSMauro Carvalho Chehab - ``driver``\ [16] 5454f38fcaSMauro Carvalho Chehab - Name of the driver, a unique NUL-terminated ASCII string. For 5554f38fcaSMauro Carvalho Chehab example: "bttv". Driver specific applications can use this 5654f38fcaSMauro Carvalho Chehab information to verify the driver identity. It is also useful to 5754f38fcaSMauro Carvalho Chehab work around known bugs, or to identify drivers in error reports. 5854f38fcaSMauro Carvalho Chehab 5954f38fcaSMauro Carvalho Chehab Storing strings in fixed sized arrays is bad practice but 6054f38fcaSMauro Carvalho Chehab unavoidable here. Drivers and applications should take precautions 6154f38fcaSMauro Carvalho Chehab to never read or write beyond the end of the array and to make 6254f38fcaSMauro Carvalho Chehab sure the strings are properly NUL-terminated. 6354f38fcaSMauro Carvalho Chehab * - __u8 6454f38fcaSMauro Carvalho Chehab - ``card``\ [32] 6554f38fcaSMauro Carvalho Chehab - Name of the device, a NUL-terminated UTF-8 string. For example: 6654f38fcaSMauro Carvalho Chehab "Yoyodyne TV/FM". One driver may support different brands or 6754f38fcaSMauro Carvalho Chehab models of video hardware. This information is intended for users, 6854f38fcaSMauro Carvalho Chehab for example in a menu of available devices. Since multiple TV 6954f38fcaSMauro Carvalho Chehab cards of the same brand may be installed which are supported by 7054f38fcaSMauro Carvalho Chehab the same driver, this name should be combined with the character 7154f38fcaSMauro Carvalho Chehab device file name (e. g. ``/dev/video2``) or the ``bus_info`` 7254f38fcaSMauro Carvalho Chehab string to avoid ambiguities. 7354f38fcaSMauro Carvalho Chehab * - __u8 7454f38fcaSMauro Carvalho Chehab - ``bus_info``\ [32] 7554f38fcaSMauro Carvalho Chehab - Location of the device in the system, a NUL-terminated ASCII 7654f38fcaSMauro Carvalho Chehab string. For example: "PCI:0000:05:06.0". This information is 7754f38fcaSMauro Carvalho Chehab intended for users, to distinguish multiple identical devices. If 7854f38fcaSMauro Carvalho Chehab no such information is available the field must simply count the 79143f8adfSHans Verkuil devices controlled by the driver ("platform:vivid-000"). The 8054f38fcaSMauro Carvalho Chehab bus_info must start with "PCI:" for PCI boards, "PCIe:" for PCI 8154f38fcaSMauro Carvalho Chehab Express boards, "usb-" for USB devices, "I2C:" for i2c devices, 8254f38fcaSMauro Carvalho Chehab "ISA:" for ISA devices, "parport" for parallel port devices and 8354f38fcaSMauro Carvalho Chehab "platform:" for platform devices. 8454f38fcaSMauro Carvalho Chehab * - __u32 8554f38fcaSMauro Carvalho Chehab - ``version`` 8654f38fcaSMauro Carvalho Chehab - Version number of the driver. 8754f38fcaSMauro Carvalho Chehab 8854f38fcaSMauro Carvalho Chehab Starting with kernel 3.1, the version reported is provided by the 8954f38fcaSMauro Carvalho Chehab V4L2 subsystem following the kernel numbering scheme. However, it 9054f38fcaSMauro Carvalho Chehab may not always return the same version as the kernel if, for 9154f38fcaSMauro Carvalho Chehab example, a stable or distribution-modified kernel uses the V4L2 9254f38fcaSMauro Carvalho Chehab stack from a newer kernel. 9354f38fcaSMauro Carvalho Chehab 9454f38fcaSMauro Carvalho Chehab The version number is formatted using the ``KERNEL_VERSION()`` 9554f38fcaSMauro Carvalho Chehab macro. For example if the media stack corresponds to the V4L2 9654f38fcaSMauro Carvalho Chehab version shipped with Kernel 4.14, it would be equivalent to: 9754f38fcaSMauro Carvalho Chehab * - :cspan:`2` 9854f38fcaSMauro Carvalho Chehab 9954f38fcaSMauro Carvalho Chehab ``#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))`` 10054f38fcaSMauro Carvalho Chehab 10154f38fcaSMauro Carvalho Chehab ``__u32 version = KERNEL_VERSION(4, 14, 0);`` 10254f38fcaSMauro Carvalho Chehab 10354f38fcaSMauro Carvalho Chehab ``printf ("Version: %u.%u.%u\\n",`` 10454f38fcaSMauro Carvalho Chehab 10554f38fcaSMauro Carvalho Chehab ``(version >> 16) & 0xFF, (version >> 8) & 0xFF, version & 0xFF);`` 10654f38fcaSMauro Carvalho Chehab * - __u32 10754f38fcaSMauro Carvalho Chehab - ``capabilities`` 10854f38fcaSMauro Carvalho Chehab - Available capabilities of the physical device as a whole, see 10954f38fcaSMauro Carvalho Chehab :ref:`device-capabilities`. The same physical device can export 11054f38fcaSMauro Carvalho Chehab multiple devices in /dev (e.g. /dev/videoX, /dev/vbiY and 11154f38fcaSMauro Carvalho Chehab /dev/radioZ). The ``capabilities`` field should contain a union of 11254f38fcaSMauro Carvalho Chehab all capabilities available around the several V4L2 devices 11354f38fcaSMauro Carvalho Chehab exported to userspace. For all those devices the ``capabilities`` 11454f38fcaSMauro Carvalho Chehab field returns the same set of capabilities. This allows 11554f38fcaSMauro Carvalho Chehab applications to open just one of the devices (typically the video 11654f38fcaSMauro Carvalho Chehab device) and discover whether video, vbi and/or radio are also 11754f38fcaSMauro Carvalho Chehab supported. 11854f38fcaSMauro Carvalho Chehab * - __u32 11954f38fcaSMauro Carvalho Chehab - ``device_caps`` 12054f38fcaSMauro Carvalho Chehab - Device capabilities of the opened device, see 12154f38fcaSMauro Carvalho Chehab :ref:`device-capabilities`. Should contain the available 12254f38fcaSMauro Carvalho Chehab capabilities of that specific device node. So, for example, 12354f38fcaSMauro Carvalho Chehab ``device_caps`` of a radio device will only contain radio related 12454f38fcaSMauro Carvalho Chehab capabilities and no video or vbi capabilities. This field is only 12554f38fcaSMauro Carvalho Chehab set if the ``capabilities`` field contains the 12654f38fcaSMauro Carvalho Chehab ``V4L2_CAP_DEVICE_CAPS`` capability. Only the ``capabilities`` 12754f38fcaSMauro Carvalho Chehab field can have the ``V4L2_CAP_DEVICE_CAPS`` capability, 12854f38fcaSMauro Carvalho Chehab ``device_caps`` will never set ``V4L2_CAP_DEVICE_CAPS``. 12954f38fcaSMauro Carvalho Chehab * - __u32 13054f38fcaSMauro Carvalho Chehab - ``reserved``\ [3] 13154f38fcaSMauro Carvalho Chehab - Reserved for future extensions. Drivers must set this array to 13254f38fcaSMauro Carvalho Chehab zero. 13354f38fcaSMauro Carvalho Chehab 13454f38fcaSMauro Carvalho Chehab 135fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{7.0cm}|p{2.6cm}|p{7.7cm}| 13654f38fcaSMauro Carvalho Chehab 13754f38fcaSMauro Carvalho Chehab.. _device-capabilities: 13854f38fcaSMauro Carvalho Chehab 13954f38fcaSMauro Carvalho Chehab.. cssclass:: longtable 14054f38fcaSMauro Carvalho Chehab 14154f38fcaSMauro Carvalho Chehab.. flat-table:: Device Capabilities Flags 14254f38fcaSMauro Carvalho Chehab :header-rows: 0 14354f38fcaSMauro Carvalho Chehab :stub-columns: 0 14454f38fcaSMauro Carvalho Chehab :widths: 3 1 4 14554f38fcaSMauro Carvalho Chehab 14654f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_VIDEO_CAPTURE`` 14754f38fcaSMauro Carvalho Chehab - 0x00000001 14854f38fcaSMauro Carvalho Chehab - The device supports the single-planar API through the 14954f38fcaSMauro Carvalho Chehab :ref:`Video Capture <capture>` interface. 15054f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_VIDEO_CAPTURE_MPLANE`` 15154f38fcaSMauro Carvalho Chehab - 0x00001000 15254f38fcaSMauro Carvalho Chehab - The device supports the :ref:`multi-planar API <planar-apis>` 15354f38fcaSMauro Carvalho Chehab through the :ref:`Video Capture <capture>` interface. 15454f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_VIDEO_OUTPUT`` 15554f38fcaSMauro Carvalho Chehab - 0x00000002 15654f38fcaSMauro Carvalho Chehab - The device supports the single-planar API through the 15754f38fcaSMauro Carvalho Chehab :ref:`Video Output <output>` interface. 15854f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_VIDEO_OUTPUT_MPLANE`` 15954f38fcaSMauro Carvalho Chehab - 0x00002000 16054f38fcaSMauro Carvalho Chehab - The device supports the :ref:`multi-planar API <planar-apis>` 16154f38fcaSMauro Carvalho Chehab through the :ref:`Video Output <output>` interface. 16254f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_VIDEO_M2M`` 163d20dcbb2SJian-Jia Su - 0x00008000 16454f38fcaSMauro Carvalho Chehab - The device supports the single-planar API through the Video 16554f38fcaSMauro Carvalho Chehab Memory-To-Memory interface. 16654f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_VIDEO_M2M_MPLANE`` 167d20dcbb2SJian-Jia Su - 0x00004000 16854f38fcaSMauro Carvalho Chehab - The device supports the :ref:`multi-planar API <planar-apis>` 16954f38fcaSMauro Carvalho Chehab through the Video Memory-To-Memory interface. 17054f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_VIDEO_OVERLAY`` 17154f38fcaSMauro Carvalho Chehab - 0x00000004 17254f38fcaSMauro Carvalho Chehab - The device supports the :ref:`Video Overlay <overlay>` 17354f38fcaSMauro Carvalho Chehab interface. A video overlay device typically stores captured images 17454f38fcaSMauro Carvalho Chehab directly in the video memory of a graphics card, with hardware 17554f38fcaSMauro Carvalho Chehab clipping and scaling. 17654f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_VBI_CAPTURE`` 17754f38fcaSMauro Carvalho Chehab - 0x00000010 17854f38fcaSMauro Carvalho Chehab - The device supports the :ref:`Raw VBI Capture <raw-vbi>` 17954f38fcaSMauro Carvalho Chehab interface, providing Teletext and Closed Caption data. 18054f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_VBI_OUTPUT`` 18154f38fcaSMauro Carvalho Chehab - 0x00000020 18254f38fcaSMauro Carvalho Chehab - The device supports the :ref:`Raw VBI Output <raw-vbi>` 18354f38fcaSMauro Carvalho Chehab interface. 18454f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_SLICED_VBI_CAPTURE`` 18554f38fcaSMauro Carvalho Chehab - 0x00000040 18654f38fcaSMauro Carvalho Chehab - The device supports the :ref:`Sliced VBI Capture <sliced>` 18754f38fcaSMauro Carvalho Chehab interface. 18854f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_SLICED_VBI_OUTPUT`` 18954f38fcaSMauro Carvalho Chehab - 0x00000080 19054f38fcaSMauro Carvalho Chehab - The device supports the :ref:`Sliced VBI Output <sliced>` 19154f38fcaSMauro Carvalho Chehab interface. 19254f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_RDS_CAPTURE`` 19354f38fcaSMauro Carvalho Chehab - 0x00000100 19454f38fcaSMauro Carvalho Chehab - The device supports the :ref:`RDS <rds>` capture interface. 19554f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_VIDEO_OUTPUT_OVERLAY`` 19654f38fcaSMauro Carvalho Chehab - 0x00000200 19754f38fcaSMauro Carvalho Chehab - The device supports the :ref:`Video Output Overlay <osd>` (OSD) 19854f38fcaSMauro Carvalho Chehab interface. Unlike the *Video Overlay* interface, this is a 19954f38fcaSMauro Carvalho Chehab secondary function of video output devices and overlays an image 20054f38fcaSMauro Carvalho Chehab onto an outgoing video signal. When the driver sets this flag, it 20154f38fcaSMauro Carvalho Chehab must clear the ``V4L2_CAP_VIDEO_OVERLAY`` flag and vice 20254f38fcaSMauro Carvalho Chehab versa. [#f1]_ 20354f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_HW_FREQ_SEEK`` 20454f38fcaSMauro Carvalho Chehab - 0x00000400 20554f38fcaSMauro Carvalho Chehab - The device supports the 20654f38fcaSMauro Carvalho Chehab :ref:`VIDIOC_S_HW_FREQ_SEEK` ioctl 20754f38fcaSMauro Carvalho Chehab for hardware frequency seeking. 20854f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_RDS_OUTPUT`` 20954f38fcaSMauro Carvalho Chehab - 0x00000800 21054f38fcaSMauro Carvalho Chehab - The device supports the :ref:`RDS <rds>` output interface. 21154f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_TUNER`` 21254f38fcaSMauro Carvalho Chehab - 0x00010000 21354f38fcaSMauro Carvalho Chehab - The device has some sort of tuner to receive RF-modulated video 21454f38fcaSMauro Carvalho Chehab signals. For more information about tuner programming see 21554f38fcaSMauro Carvalho Chehab :ref:`tuner`. 21654f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_AUDIO`` 21754f38fcaSMauro Carvalho Chehab - 0x00020000 21854f38fcaSMauro Carvalho Chehab - The device has audio inputs or outputs. It may or may not support 21954f38fcaSMauro Carvalho Chehab audio recording or playback, in PCM or compressed formats. PCM 22054f38fcaSMauro Carvalho Chehab audio support must be implemented as ALSA or OSS interface. For 22154f38fcaSMauro Carvalho Chehab more information on audio inputs and outputs see :ref:`audio`. 22254f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_RADIO`` 22354f38fcaSMauro Carvalho Chehab - 0x00040000 22454f38fcaSMauro Carvalho Chehab - This is a radio receiver. 22554f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_MODULATOR`` 22654f38fcaSMauro Carvalho Chehab - 0x00080000 22754f38fcaSMauro Carvalho Chehab - The device has some sort of modulator to emit RF-modulated 22854f38fcaSMauro Carvalho Chehab video/audio signals. For more information about modulator 22954f38fcaSMauro Carvalho Chehab programming see :ref:`tuner`. 23054f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_SDR_CAPTURE`` 23154f38fcaSMauro Carvalho Chehab - 0x00100000 23254f38fcaSMauro Carvalho Chehab - The device supports the :ref:`SDR Capture <sdr>` interface. 23354f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_EXT_PIX_FORMAT`` 23454f38fcaSMauro Carvalho Chehab - 0x00200000 23554f38fcaSMauro Carvalho Chehab - The device supports the struct 23654f38fcaSMauro Carvalho Chehab :c:type:`v4l2_pix_format` extended fields. 23754f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_SDR_OUTPUT`` 23854f38fcaSMauro Carvalho Chehab - 0x00400000 23954f38fcaSMauro Carvalho Chehab - The device supports the :ref:`SDR Output <sdr>` interface. 24054f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_META_CAPTURE`` 24154f38fcaSMauro Carvalho Chehab - 0x00800000 24254f38fcaSMauro Carvalho Chehab - The device supports the :ref:`metadata` capture interface. 24354f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_READWRITE`` 24454f38fcaSMauro Carvalho Chehab - 0x01000000 245407e84cdSMauro Carvalho Chehab - The device supports the :c:func:`read()` and/or 246407e84cdSMauro Carvalho Chehab :c:func:`write()` I/O methods. 247*d2f2ce00SErling Ljunggren * - ``V4L2_CAP_EDID`` 248*d2f2ce00SErling Ljunggren - 0x02000000 249*d2f2ce00SErling Ljunggren - The device stores the EDID for a video input, or retrieves the EDID for a video 250*d2f2ce00SErling Ljunggren output. It is a standalone EDID device, so no video streaming etc. will take place. 251*d2f2ce00SErling Ljunggren 252*d2f2ce00SErling Ljunggren For a video input this is typically an eeprom that supports the 253*d2f2ce00SErling Ljunggren :ref:`VESA Enhanced Display Data Channel Standard <vesaeddc>`. It can be something 254*d2f2ce00SErling Ljunggren else as well, for example a micro controller. 255*d2f2ce00SErling Ljunggren 256*d2f2ce00SErling Ljunggren For a video output this is typically read from an external device such as an 257*d2f2ce00SErling Ljunggren HDMI splitter accessed by a serial port. 25854f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_STREAMING`` 25954f38fcaSMauro Carvalho Chehab - 0x04000000 26054f38fcaSMauro Carvalho Chehab - The device supports the :ref:`streaming <mmap>` I/O method. 26154f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_META_OUTPUT`` 26254f38fcaSMauro Carvalho Chehab - 0x08000000 26354f38fcaSMauro Carvalho Chehab - The device supports the :ref:`metadata` output interface. 26454f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_TOUCH`` 26554f38fcaSMauro Carvalho Chehab - 0x10000000 26654f38fcaSMauro Carvalho Chehab - This is a touch device. 267f645e625SNiklas Söderlund * - ``V4L2_CAP_IO_MC`` 268f645e625SNiklas Söderlund - 0x20000000 269f645e625SNiklas Söderlund - There is only one input and/or output seen from userspace. The whole 270f645e625SNiklas Söderlund video topology configuration, including which I/O entity is routed to 271f645e625SNiklas Söderlund the input/output, is configured by userspace via the Media Controller. 272f645e625SNiklas Söderlund See :ref:`media_controller`. 27354f38fcaSMauro Carvalho Chehab * - ``V4L2_CAP_DEVICE_CAPS`` 27454f38fcaSMauro Carvalho Chehab - 0x80000000 27554f38fcaSMauro Carvalho Chehab - The driver fills the ``device_caps`` field. This capability can 27654f38fcaSMauro Carvalho Chehab only appear in the ``capabilities`` field and never in the 27754f38fcaSMauro Carvalho Chehab ``device_caps`` field. 27854f38fcaSMauro Carvalho Chehab 27954f38fcaSMauro Carvalho ChehabReturn Value 28054f38fcaSMauro Carvalho Chehab============ 28154f38fcaSMauro Carvalho Chehab 28254f38fcaSMauro Carvalho ChehabOn success 0 is returned, on error -1 and the ``errno`` variable is set 28354f38fcaSMauro Carvalho Chehabappropriately. The generic error codes are described at the 28454f38fcaSMauro Carvalho Chehab:ref:`Generic Error Codes <gen-errors>` chapter. 28554f38fcaSMauro Carvalho Chehab 28654f38fcaSMauro Carvalho Chehab.. [#f1] 28754f38fcaSMauro Carvalho Chehab The struct :c:type:`v4l2_framebuffer` lacks an 28854f38fcaSMauro Carvalho Chehab enum :c:type:`v4l2_buf_type` field, therefore the 28954f38fcaSMauro Carvalho Chehab type of overlay is implied by the driver capabilities. 290