Linux 4.8.3
[linux/fpc-iii.git] / Documentation / media / uapi / v4l / vidioc-dv-timings-cap.rst
blob6e05957013bb4bdeccf5c559f216ada32d8c43f6
1 .. -*- coding: utf-8; mode: rst -*-
3 .. _VIDIOC_DV_TIMINGS_CAP:
5 *********************************************************
6 ioctl VIDIOC_DV_TIMINGS_CAP, VIDIOC_SUBDEV_DV_TIMINGS_CAP
7 *********************************************************
9 Name
10 ====
12 VIDIOC_DV_TIMINGS_CAP - VIDIOC_SUBDEV_DV_TIMINGS_CAP - The capabilities of the Digital Video receiver/transmitter
15 Synopsis
16 ========
18 .. cpp:function:: int ioctl( int fd, int request, struct v4l2_dv_timings_cap *argp )
21 Arguments
22 =========
24 ``fd``
25     File descriptor returned by :ref:`open() <func-open>`.
27 ``request``
28     VIDIOC_DV_TIMINGS_CAP, VIDIOC_SUBDEV_DV_TIMINGS_CAP
30 ``argp``
33 Description
34 ===========
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.
42 .. note:: Drivers may return different values after
43    switching the video input or output.
45 When implemented by the driver DV capabilities of subdevices can be
46 queried by calling the ``VIDIOC_SUBDEV_DV_TIMINGS_CAP`` ioctl directly
47 on a subdevice node. The capabilities are specific to inputs (for DV
48 receivers) or outputs (for DV transmitters), applications must specify
49 the desired pad number in the struct
50 :ref:`v4l2_dv_timings_cap <v4l2-dv-timings-cap>` ``pad`` field and
51 zero the ``reserved`` array. Attempts to query capabilities on a pad
52 that doesn't support them will return an ``EINVAL`` error code.
55 .. _v4l2-bt-timings-cap:
57 .. flat-table:: struct v4l2_bt_timings_cap
58     :header-rows:  0
59     :stub-columns: 0
60     :widths:       1 1 2
63     -  .. row 1
65        -  __u32
67        -  ``min_width``
69        -  Minimum width of the active video in pixels.
71     -  .. row 2
73        -  __u32
75        -  ``max_width``
77        -  Maximum width of the active video in pixels.
79     -  .. row 3
81        -  __u32
83        -  ``min_height``
85        -  Minimum height of the active video in lines.
87     -  .. row 4
89        -  __u32
91        -  ``max_height``
93        -  Maximum height of the active video in lines.
95     -  .. row 5
97        -  __u64
99        -  ``min_pixelclock``
101        -  Minimum pixelclock frequency in Hz.
103     -  .. row 6
105        -  __u64
107        -  ``max_pixelclock``
109        -  Maximum pixelclock frequency in Hz.
111     -  .. row 7
113        -  __u32
115        -  ``standards``
117        -  The video standard(s) supported by the hardware. See
118           :ref:`dv-bt-standards` for a list of standards.
120     -  .. row 8
122        -  __u32
124        -  ``capabilities``
126        -  Several flags giving more information about the capabilities. See
127           :ref:`dv-bt-cap-capabilities` for a description of the flags.
129     -  .. row 9
131        -  __u32
133        -  ``reserved``\ [16]
135        -  Reserved for future extensions. Drivers must set the array to
136           zero.
140 .. _v4l2-dv-timings-cap:
142 .. flat-table:: struct v4l2_dv_timings_cap
143     :header-rows:  0
144     :stub-columns: 0
145     :widths:       1 1 2 1
148     -  .. row 1
150        -  __u32
152        -  ``type``
154        -  Type of DV timings as listed in :ref:`dv-timing-types`.
156     -  .. row 2
158        -  __u32
160        -  ``pad``
162        -  Pad number as reported by the media controller API. This field is
163           only used when operating on a subdevice node. When operating on a
164           video node applications must set this field to zero.
166     -  .. row 3
168        -  __u32
170        -  ``reserved``\ [2]
172        -  Reserved for future extensions. Drivers and applications must set
173           the array to zero.
175     -  .. row 4
177        -  union
179        -
180        -
182     -  .. row 5
184        -
185        -  struct :ref:`v4l2_bt_timings_cap <v4l2-bt-timings-cap>`
187        -  ``bt``
189        -  BT.656/1120 timings capabilities of the hardware.
191     -  .. row 6
193        -
194        -  __u32
196        -  ``raw_data``\ [32]
198        -
202 .. _dv-bt-cap-capabilities:
204 .. flat-table:: DV BT Timing capabilities
205     :header-rows:  0
206     :stub-columns: 0
209     -  .. row 1
211        -  Flag
213        -  Description
215     -  .. row 2
217        -
218        -
220     -  .. row 3
222        -  ``V4L2_DV_BT_CAP_INTERLACED``
224        -  Interlaced formats are supported.
226     -  .. row 4
228        -  ``V4L2_DV_BT_CAP_PROGRESSIVE``
230        -  Progressive formats are supported.
232     -  .. row 5
234        -  ``V4L2_DV_BT_CAP_REDUCED_BLANKING``
236        -  CVT/GTF specific: the timings can make use of reduced blanking
237           (CVT) or the 'Secondary GTF' curve (GTF).
239     -  .. row 6
241        -  ``V4L2_DV_BT_CAP_CUSTOM``
243        -  Can support non-standard timings, i.e. timings not belonging to
244           the standards set in the ``standards`` field.
247 Return Value
248 ============
250 On success 0 is returned, on error -1 and the ``errno`` variable is set
251 appropriately. The generic error codes are described at the
252 :ref:`Generic Error Codes <gen-errors>` chapter.