Merge tag 'iomap-4.21-merge-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
[sfrench/cifs-2.6.git] / Documentation / media / uapi / v4l / dv-timings.rst
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
10 .. _dv-timings:
11
12 **************************
13 Digital Video (DV) Timings
14 **************************
15
16 The video standards discussed so far have been dealing with Analog TV
17 and the corresponding video timings. Today there are many more different
18 hardware interfaces such as High Definition TV interfaces (HDMI), VGA,
19 DVI connectors etc., that carry video signals and there is a need to
20 extend the API to select the video timings for these interfaces. Since
21 it is not possible to extend the :ref:`v4l2_std_id <v4l2-std-id>`
22 due to the limited bits available, a new set of ioctls was added to
23 set/get video timings at the input and output.
24
25 These ioctls deal with the detailed digital video timings that define
26 each video format. This includes parameters such as the active video
27 width and height, signal polarities, frontporches, backporches, sync
28 widths etc. The ``linux/v4l2-dv-timings.h`` header can be used to get
29 the timings of the formats in the :ref:`cea861` and :ref:`vesadmt`
30 standards.
31
32 To enumerate and query the attributes of the DV timings supported by a
33 device applications use the
34 :ref:`VIDIOC_ENUM_DV_TIMINGS` and
35 :ref:`VIDIOC_DV_TIMINGS_CAP` ioctls. To set
36 DV timings for the device applications use the
37 :ref:`VIDIOC_S_DV_TIMINGS <VIDIOC_G_DV_TIMINGS>` ioctl and to get
38 current DV timings they use the
39 :ref:`VIDIOC_G_DV_TIMINGS <VIDIOC_G_DV_TIMINGS>` ioctl. To detect
40 the DV timings as seen by the video receiver applications use the
41 :ref:`VIDIOC_QUERY_DV_TIMINGS` ioctl.
42
43 Applications can make use of the :ref:`input-capabilities` and
44 :ref:`output-capabilities` flags to determine whether the digital
45 video ioctls can be used with the given input or output.