1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2 3.. _VIDIOC_DV_TIMINGS_CAP: 4 5********************************************************* 6ioctl VIDIOC_DV_TIMINGS_CAP, VIDIOC_SUBDEV_DV_TIMINGS_CAP 7********************************************************* 8 9Name 10==== 11 12VIDIOC_DV_TIMINGS_CAP - VIDIOC_SUBDEV_DV_TIMINGS_CAP - The capabilities of the Digital Video receiver/transmitter 13 14 15Synopsis 16======== 17 18.. c:function:: int ioctl( int fd, VIDIOC_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp ) 19 :name: VIDIOC_DV_TIMINGS_CAP 20 21.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp ) 22 :name: VIDIOC_SUBDEV_DV_TIMINGS_CAP 23 24 25Arguments 26========= 27 28``fd`` 29 File descriptor returned by :ref:`open() <func-open>`. 30 31``argp`` 32 Pointer to struct :c:type:`v4l2_dv_timings_cap`. 33 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 59.. tabularcolumns:: |p{1.2cm}|p{3.0cm}|p{13.3cm}| 60 61.. c:type:: v4l2_bt_timings_cap 62 63.. flat-table:: struct v4l2_bt_timings_cap 64 :header-rows: 0 65 :stub-columns: 0 66 :widths: 1 1 2 67 68 * - __u32 69 - ``min_width`` 70 - Minimum width of the active video in pixels. 71 * - __u32 72 - ``max_width`` 73 - Maximum width of the active video in pixels. 74 * - __u32 75 - ``min_height`` 76 - Minimum height of the active video in lines. 77 * - __u32 78 - ``max_height`` 79 - Maximum height of the active video in lines. 80 * - __u64 81 - ``min_pixelclock`` 82 - Minimum pixelclock frequency in Hz. 83 * - __u64 84 - ``max_pixelclock`` 85 - Maximum pixelclock frequency in Hz. 86 * - __u32 87 - ``standards`` 88 - The video standard(s) supported by the hardware. See 89 :ref:`dv-bt-standards` for a list of standards. 90 * - __u32 91 - ``capabilities`` 92 - Several flags giving more information about the capabilities. See 93 :ref:`dv-bt-cap-capabilities` for a description of the flags. 94 * - __u32 95 - ``reserved``\ [16] 96 - Reserved for future extensions. 97 Drivers must set the array to zero. 98 99 100 101.. tabularcolumns:: |p{1.0cm}|p{4.0cm}|p{3.5cm}|p{9.2cm}| 102 103.. c:type:: v4l2_dv_timings_cap 104 105.. flat-table:: struct v4l2_dv_timings_cap 106 :header-rows: 0 107 :stub-columns: 0 108 :widths: 1 1 2 109 110 * - __u32 111 - ``type`` 112 - Type of DV timings as listed in :ref:`dv-timing-types`. 113 * - __u32 114 - ``pad`` 115 - Pad number as reported by the media controller API. This field is 116 only used when operating on a subdevice node. When operating on a 117 video node applications must set this field to zero. 118 * - __u32 119 - ``reserved``\ [2] 120 - Reserved for future extensions. 121 122 Drivers and applications must set the array to zero. 123 * - union { 124 - (anonymous) 125 * - struct :c:type:`v4l2_bt_timings_cap` 126 - ``bt`` 127 - BT.656/1120 timings capabilities of the hardware. 128 * - __u32 129 - ``raw_data``\ [32] 130 * - } 131 - 132 133.. tabularcolumns:: |p{7.0cm}|p{10.5cm}| 134 135.. _dv-bt-cap-capabilities: 136 137.. flat-table:: DV BT Timing capabilities 138 :header-rows: 0 139 :stub-columns: 0 140 141 * - Flag 142 - Description 143 * - 144 - 145 * - ``V4L2_DV_BT_CAP_INTERLACED`` 146 - Interlaced formats are supported. 147 * - ``V4L2_DV_BT_CAP_PROGRESSIVE`` 148 - Progressive formats are supported. 149 * - ``V4L2_DV_BT_CAP_REDUCED_BLANKING`` 150 - CVT/GTF specific: the timings can make use of reduced blanking 151 (CVT) or the 'Secondary GTF' curve (GTF). 152 * - ``V4L2_DV_BT_CAP_CUSTOM`` 153 - Can support non-standard timings, i.e. timings not belonging to 154 the standards set in the ``standards`` field. 155 156 157Return Value 158============ 159 160On success 0 is returned, on error -1 and the ``errno`` variable is set 161appropriately. The generic error codes are described at the 162:ref:`Generic Error Codes <gen-errors>` chapter. 163