1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2.. c:namespace:: V4L 3 4.. _VIDIOC_DV_TIMINGS_CAP: 5 6********************************************************* 7ioctl VIDIOC_DV_TIMINGS_CAP, VIDIOC_SUBDEV_DV_TIMINGS_CAP 8********************************************************* 9 10Name 11==== 12 13VIDIOC_DV_TIMINGS_CAP - VIDIOC_SUBDEV_DV_TIMINGS_CAP - The capabilities of the Digital Video receiver/transmitter 14 15Synopsis 16======== 17 18.. c:macro:: VIDIOC_DV_TIMINGS_CAP 19 20``int ioctl(int fd, VIDIOC_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp)`` 21 22.. c:macro:: VIDIOC_SUBDEV_DV_TIMINGS_CAP 23 24``int ioctl(int fd, VIDIOC_SUBDEV_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp)`` 25 26Arguments 27========= 28 29``fd`` 30 File descriptor returned by :c:func:`open()`. 31 32``argp`` 33 Pointer to struct :c:type:`v4l2_dv_timings_cap`. 34 35Description 36=========== 37 38To query the capabilities of the DV receiver/transmitter applications 39initialize the ``pad`` field to 0, zero the reserved array of struct 40:c:type:`v4l2_dv_timings_cap` and call the 41``VIDIOC_DV_TIMINGS_CAP`` ioctl on a video node and the driver will fill 42in the structure. 43 44.. note:: 45 46 Drivers may return different values after 47 switching the video input or output. 48 49When implemented by the driver DV capabilities of subdevices can be 50queried by calling the ``VIDIOC_SUBDEV_DV_TIMINGS_CAP`` ioctl directly 51on a subdevice node. The capabilities are specific to inputs (for DV 52receivers) or outputs (for DV transmitters), applications must specify 53the desired pad number in the struct 54:c:type:`v4l2_dv_timings_cap` ``pad`` field and 55zero the ``reserved`` array. Attempts to query capabilities on a pad 56that doesn't support them will return an ``EINVAL`` error code. 57 58.. tabularcolumns:: |p{1.2cm}|p{3.2cm}|p{12.9cm}| 59 60.. c:type:: v4l2_bt_timings_cap 61 62.. flat-table:: struct v4l2_bt_timings_cap 63 :header-rows: 0 64 :stub-columns: 0 65 :widths: 1 1 2 66 67 * - __u32 68 - ``min_width`` 69 - Minimum width of the active video in pixels. 70 * - __u32 71 - ``max_width`` 72 - Maximum width of the active video in pixels. 73 * - __u32 74 - ``min_height`` 75 - Minimum height of the active video in lines. 76 * - __u32 77 - ``max_height`` 78 - Maximum height of the active video in lines. 79 * - __u64 80 - ``min_pixelclock`` 81 - Minimum pixelclock frequency in Hz. 82 * - __u64 83 - ``max_pixelclock`` 84 - Maximum pixelclock frequency in Hz. 85 * - __u32 86 - ``standards`` 87 - The video standard(s) supported by the hardware. See 88 :ref:`dv-bt-standards` for a list of standards. 89 * - __u32 90 - ``capabilities`` 91 - Several flags giving more information about the capabilities. See 92 :ref:`dv-bt-cap-capabilities` for a description of the flags. 93 * - __u32 94 - ``reserved``\ [16] 95 - Reserved for future extensions. 96 Drivers must set the array to zero. 97 98 99.. tabularcolumns:: |p{4.4cm}|p{3.6cm}|p{9.3cm}| 100 101.. c:type:: v4l2_dv_timings_cap 102 103.. flat-table:: struct v4l2_dv_timings_cap 104 :header-rows: 0 105 :stub-columns: 0 106 :widths: 1 1 2 107 108 * - __u32 109 - ``type`` 110 - Type of DV timings as listed in :ref:`dv-timing-types`. 111 * - __u32 112 - ``pad`` 113 - Pad number as reported by the media controller API. This field is 114 only used when operating on a subdevice node. When operating on a 115 video node applications must set this field to zero. 116 * - __u32 117 - ``reserved``\ [2] 118 - Reserved for future extensions. 119 120 Drivers and applications must set the array to zero. 121 * - union { 122 - (anonymous) 123 * - struct :c:type:`v4l2_bt_timings_cap` 124 - ``bt`` 125 - BT.656/1120 timings capabilities of the hardware. 126 * - __u32 127 - ``raw_data``\ [32] 128 * - } 129 - 130 131.. tabularcolumns:: |p{7.2cm}|p{10.3cm}| 132 133.. _dv-bt-cap-capabilities: 134 135.. flat-table:: DV BT Timing capabilities 136 :header-rows: 0 137 :stub-columns: 0 138 139 * - Flag 140 - Description 141 * - 142 - 143 * - ``V4L2_DV_BT_CAP_INTERLACED`` 144 - Interlaced formats are supported. 145 * - ``V4L2_DV_BT_CAP_PROGRESSIVE`` 146 - Progressive formats are supported. 147 * - ``V4L2_DV_BT_CAP_REDUCED_BLANKING`` 148 - CVT/GTF specific: the timings can make use of reduced blanking 149 (CVT) or the 'Secondary GTF' curve (GTF). 150 * - ``V4L2_DV_BT_CAP_CUSTOM`` 151 - Can support non-standard timings, i.e. timings not belonging to 152 the standards set in the ``standards`` field. 153 154Return Value 155============ 156 157On success 0 is returned, on error -1 and the ``errno`` variable is set 158appropriately. The generic error codes are described at the 159:ref:`Generic Error Codes <gen-errors>` chapter. 160