[media] docs-rst: better use the .. note:: tag
[cascardo/linux.git] / Documentation / media / uapi / v4l / vidioc-dv-timings-cap.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _VIDIOC_DV_TIMINGS_CAP:
4
5 *********************************************************
6 ioctl VIDIOC_DV_TIMINGS_CAP, VIDIOC_SUBDEV_DV_TIMINGS_CAP
7 *********************************************************
8
9 Name
10 ====
11
12 VIDIOC_DV_TIMINGS_CAP - VIDIOC_SUBDEV_DV_TIMINGS_CAP - The capabilities of the Digital Video receiver/transmitter
13
14
15 Synopsis
16 ========
17
18 .. cpp:function:: int ioctl( int fd, int request, struct v4l2_dv_timings_cap *argp )
19
20
21 Arguments
22 =========
23
24 ``fd``
25     File descriptor returned by :ref:`open() <func-open>`.
26
27 ``request``
28     VIDIOC_DV_TIMINGS_CAP, VIDIOC_SUBDEV_DV_TIMINGS_CAP
29
30 ``argp``
31
32
33 Description
34 ===========
35
36 To query the capabilities of the DV receiver/transmitter applications
37 initialize the ``pad`` field to 0, zero the reserved array of struct
38 :ref:`v4l2_dv_timings_cap <v4l2-dv-timings-cap>` and call the
39 ``VIDIOC_DV_TIMINGS_CAP`` ioctl on a video node and the driver will fill
40 in the structure.
41
42 .. note::
43
44    Drivers may return different values after
45    switching the video input or output.
46
47 When implemented by the driver DV capabilities of subdevices can be
48 queried by calling the ``VIDIOC_SUBDEV_DV_TIMINGS_CAP`` ioctl directly
49 on a subdevice node. The capabilities are specific to inputs (for DV
50 receivers) or outputs (for DV transmitters), applications must specify
51 the desired pad number in the struct
52 :ref:`v4l2_dv_timings_cap <v4l2-dv-timings-cap>` ``pad`` field and
53 zero the ``reserved`` array. Attempts to query capabilities on a pad
54 that doesn't support them will return an ``EINVAL`` error code.
55
56
57 .. _v4l2-bt-timings-cap:
58
59 .. flat-table:: struct v4l2_bt_timings_cap
60     :header-rows:  0
61     :stub-columns: 0
62     :widths:       1 1 2
63
64
65     -  .. row 1
66
67        -  __u32
68
69        -  ``min_width``
70
71        -  Minimum width of the active video in pixels.
72
73     -  .. row 2
74
75        -  __u32
76
77        -  ``max_width``
78
79        -  Maximum width of the active video in pixels.
80
81     -  .. row 3
82
83        -  __u32
84
85        -  ``min_height``
86
87        -  Minimum height of the active video in lines.
88
89     -  .. row 4
90
91        -  __u32
92
93        -  ``max_height``
94
95        -  Maximum height of the active video in lines.
96
97     -  .. row 5
98
99        -  __u64
100
101        -  ``min_pixelclock``
102
103        -  Minimum pixelclock frequency in Hz.
104
105     -  .. row 6
106
107        -  __u64
108
109        -  ``max_pixelclock``
110
111        -  Maximum pixelclock frequency in Hz.
112
113     -  .. row 7
114
115        -  __u32
116
117        -  ``standards``
118
119        -  The video standard(s) supported by the hardware. See
120           :ref:`dv-bt-standards` for a list of standards.
121
122     -  .. row 8
123
124        -  __u32
125
126        -  ``capabilities``
127
128        -  Several flags giving more information about the capabilities. See
129           :ref:`dv-bt-cap-capabilities` for a description of the flags.
130
131     -  .. row 9
132
133        -  __u32
134
135        -  ``reserved``\ [16]
136
137        -  Reserved for future extensions. Drivers must set the array to
138           zero.
139
140
141
142 .. _v4l2-dv-timings-cap:
143
144 .. flat-table:: struct v4l2_dv_timings_cap
145     :header-rows:  0
146     :stub-columns: 0
147     :widths:       1 1 2 1
148
149
150     -  .. row 1
151
152        -  __u32
153
154        -  ``type``
155
156        -  Type of DV timings as listed in :ref:`dv-timing-types`.
157
158     -  .. row 2
159
160        -  __u32
161
162        -  ``pad``
163
164        -  Pad number as reported by the media controller API. This field is
165           only used when operating on a subdevice node. When operating on a
166           video node applications must set this field to zero.
167
168     -  .. row 3
169
170        -  __u32
171
172        -  ``reserved``\ [2]
173
174        -  Reserved for future extensions. Drivers and applications must set
175           the array to zero.
176
177     -  .. row 4
178
179        -  union
180
181        -
182        -
183
184     -  .. row 5
185
186        -
187        -  struct :ref:`v4l2_bt_timings_cap <v4l2-bt-timings-cap>`
188
189        -  ``bt``
190
191        -  BT.656/1120 timings capabilities of the hardware.
192
193     -  .. row 6
194
195        -
196        -  __u32
197
198        -  ``raw_data``\ [32]
199
200        -
201
202
203
204 .. _dv-bt-cap-capabilities:
205
206 .. flat-table:: DV BT Timing capabilities
207     :header-rows:  0
208     :stub-columns: 0
209
210
211     -  .. row 1
212
213        -  Flag
214
215        -  Description
216
217     -  .. row 2
218
219        -
220        -
221
222     -  .. row 3
223
224        -  ``V4L2_DV_BT_CAP_INTERLACED``
225
226        -  Interlaced formats are supported.
227
228     -  .. row 4
229
230        -  ``V4L2_DV_BT_CAP_PROGRESSIVE``
231
232        -  Progressive formats are supported.
233
234     -  .. row 5
235
236        -  ``V4L2_DV_BT_CAP_REDUCED_BLANKING``
237
238        -  CVT/GTF specific: the timings can make use of reduced blanking
239           (CVT) or the 'Secondary GTF' curve (GTF).
240
241     -  .. row 6
242
243        -  ``V4L2_DV_BT_CAP_CUSTOM``
244
245        -  Can support non-standard timings, i.e. timings not belonging to
246           the standards set in the ``standards`` field.
247
248
249 Return Value
250 ============
251
252 On success 0 is returned, on error -1 and the ``errno`` variable is set
253 appropriately. The generic error codes are described at the
254 :ref:`Generic Error Codes <gen-errors>` chapter.