Commit | Line | Data |
---|---|---|
82559ac0 MCC |
1 | .. Permission is granted to copy, distribute and/or modify this |
2 | .. document under the terms of the GNU Free Documentation License, | |
3 | .. Version 1.1 or any later version published by the Free Software | |
4 | .. Foundation, with no Invariant Sections, no Front-Cover Texts | |
5 | .. and no Back-Cover Texts. A copy of the license is included at | |
6 | .. Documentation/media/uapi/fdl-appendix.rst. | |
7 | .. | |
8 | .. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections | |
9 | ||
af4a4d0d | 10 | .. _VIDIOC_DV_TIMINGS_CAP: |
5377d91f MH |
11 | |
12 | ********************************************************* | |
13 | ioctl VIDIOC_DV_TIMINGS_CAP, VIDIOC_SUBDEV_DV_TIMINGS_CAP | |
14 | ********************************************************* | |
15 | ||
15e7d615 | 16 | Name |
586027ce | 17 | ==== |
5377d91f | 18 | |
586027ce | 19 | VIDIOC_DV_TIMINGS_CAP - VIDIOC_SUBDEV_DV_TIMINGS_CAP - The capabilities of the Digital Video receiver/transmitter |
5377d91f | 20 | |
15e7d615 MCC |
21 | |
22 | Synopsis | |
5377d91f MH |
23 | ======== |
24 | ||
41d80465 MCC |
25 | .. c:function:: int ioctl( int fd, VIDIOC_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp ) |
26 | :name: VIDIOC_DV_TIMINGS_CAP | |
27 | ||
28 | .. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp ) | |
29 | :name: VIDIOC_SUBDEV_DV_TIMINGS_CAP | |
5377d91f | 30 | |
586027ce | 31 | |
15e7d615 | 32 | Arguments |
5377d91f MH |
33 | ========= |
34 | ||
35 | ``fd`` | |
36 | File descriptor returned by :ref:`open() <func-open>`. | |
37 | ||
5377d91f | 38 | ``argp`` |
1473c75e | 39 | Pointer to struct :c:type:`v4l2_dv_timings_cap`. |
5377d91f MH |
40 | |
41 | ||
15e7d615 | 42 | Description |
5377d91f MH |
43 | =========== |
44 | ||
45 | To query the capabilities of the DV receiver/transmitter applications | |
46 | initialize the ``pad`` field to 0, zero the reserved array of struct | |
e8be7e97 | 47 | :c:type:`v4l2_dv_timings_cap` and call the |
5377d91f | 48 | ``VIDIOC_DV_TIMINGS_CAP`` ioctl on a video node and the driver will fill |
706f8a99 MCC |
49 | in the structure. |
50 | ||
b6b6e678 MCC |
51 | .. note:: |
52 | ||
53 | Drivers may return different values after | |
706f8a99 | 54 | switching the video input or output. |
5377d91f MH |
55 | |
56 | When implemented by the driver DV capabilities of subdevices can be | |
57 | queried by calling the ``VIDIOC_SUBDEV_DV_TIMINGS_CAP`` ioctl directly | |
58 | on a subdevice node. The capabilities are specific to inputs (for DV | |
59 | receivers) or outputs (for DV transmitters), applications must specify | |
60 | the desired pad number in the struct | |
e8be7e97 | 61 | :c:type:`v4l2_dv_timings_cap` ``pad`` field and |
5377d91f | 62 | zero the ``reserved`` array. Attempts to query capabilities on a pad |
cdb4af0f | 63 | that doesn't support them will return an ``EINVAL`` error code. |
5377d91f MH |
64 | |
65 | ||
64f6838a | 66 | .. tabularcolumns:: |p{1.2cm}|p{3.0cm}|p{13.3cm}| |
5bd4bb78 | 67 | |
e8be7e97 | 68 | .. c:type:: v4l2_bt_timings_cap |
fa92b04d | 69 | |
5377d91f MH |
70 | .. flat-table:: struct v4l2_bt_timings_cap |
71 | :header-rows: 0 | |
72 | :stub-columns: 0 | |
73 | :widths: 1 1 2 | |
74 | ||
c2b66caf LP |
75 | * - __u32 |
76 | - ``min_width`` | |
77 | - Minimum width of the active video in pixels. | |
78 | * - __u32 | |
79 | - ``max_width`` | |
80 | - Maximum width of the active video in pixels. | |
81 | * - __u32 | |
82 | - ``min_height`` | |
83 | - Minimum height of the active video in lines. | |
84 | * - __u32 | |
85 | - ``max_height`` | |
86 | - Maximum height of the active video in lines. | |
87 | * - __u64 | |
88 | - ``min_pixelclock`` | |
89 | - Minimum pixelclock frequency in Hz. | |
90 | * - __u64 | |
91 | - ``max_pixelclock`` | |
92 | - Maximum pixelclock frequency in Hz. | |
93 | * - __u32 | |
94 | - ``standards`` | |
95 | - The video standard(s) supported by the hardware. See | |
96 | :ref:`dv-bt-standards` for a list of standards. | |
97 | * - __u32 | |
98 | - ``capabilities`` | |
99 | - Several flags giving more information about the capabilities. See | |
100 | :ref:`dv-bt-cap-capabilities` for a description of the flags. | |
101 | * - __u32 | |
102 | - ``reserved``\ [16] | |
103 | - Reserved for future extensions. | |
104 | Drivers must set the array to zero. | |
5377d91f MH |
105 | |
106 | ||
107 | ||
70b074df | 108 | .. tabularcolumns:: |p{1.0cm}|p{4.0cm}|p{3.5cm}|p{9.2cm}| |
5bd4bb78 | 109 | |
e8be7e97 | 110 | .. c:type:: v4l2_dv_timings_cap |
fa92b04d | 111 | |
5377d91f MH |
112 | .. flat-table:: struct v4l2_dv_timings_cap |
113 | :header-rows: 0 | |
114 | :stub-columns: 0 | |
218fc9f2 | 115 | :widths: 1 1 2 |
5377d91f | 116 | |
c2b66caf LP |
117 | * - __u32 |
118 | - ``type`` | |
119 | - Type of DV timings as listed in :ref:`dv-timing-types`. | |
120 | * - __u32 | |
121 | - ``pad`` | |
122 | - Pad number as reported by the media controller API. This field is | |
123 | only used when operating on a subdevice node. When operating on a | |
124 | video node applications must set this field to zero. | |
125 | * - __u32 | |
126 | - ``reserved``\ [2] | |
127 | - Reserved for future extensions. | |
128 | ||
129 | Drivers and applications must set the array to zero. | |
218fc9f2 HV |
130 | * - union { |
131 | - (anonymous) | |
132 | * - struct :c:type:`v4l2_bt_timings_cap` | |
c2b66caf LP |
133 | - ``bt`` |
134 | - BT.656/1120 timings capabilities of the hardware. | |
218fc9f2 | 135 | * - __u32 |
c2b66caf | 136 | - ``raw_data``\ [32] |
218fc9f2 | 137 | * - } |
c2b66caf | 138 | - |
5377d91f | 139 | |
64f6838a | 140 | .. tabularcolumns:: |p{7.0cm}|p{10.5cm}| |
5377d91f | 141 | |
5377d91f MH |
142 | .. _dv-bt-cap-capabilities: |
143 | ||
144 | .. flat-table:: DV BT Timing capabilities | |
145 | :header-rows: 0 | |
146 | :stub-columns: 0 | |
147 | ||
c2b66caf LP |
148 | * - Flag |
149 | - Description | |
150 | * - | |
151 | - | |
152 | * - ``V4L2_DV_BT_CAP_INTERLACED`` | |
153 | - Interlaced formats are supported. | |
154 | * - ``V4L2_DV_BT_CAP_PROGRESSIVE`` | |
155 | - Progressive formats are supported. | |
156 | * - ``V4L2_DV_BT_CAP_REDUCED_BLANKING`` | |
157 | - CVT/GTF specific: the timings can make use of reduced blanking | |
158 | (CVT) or the 'Secondary GTF' curve (GTF). | |
159 | * - ``V4L2_DV_BT_CAP_CUSTOM`` | |
160 | - Can support non-standard timings, i.e. timings not belonging to | |
161 | the standards set in the ``standards`` field. | |
5377d91f MH |
162 | |
163 | ||
15e7d615 | 164 | Return Value |
5377d91f MH |
165 | ============ |
166 | ||
167 | On success 0 is returned, on error -1 and the ``errno`` variable is set | |
168 | appropriately. The generic error codes are described at the | |
169 | :ref:`Generic Error Codes <gen-errors>` chapter. |