xref: /linux/Documentation/userspace-api/media/v4l/dv-timings.rst (revision a4eb44a6435d6d8f9e642407a4a06f65eb90ca04)
1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2
3.. _dv-timings:
4
5**************************
6Digital Video (DV) Timings
7**************************
8
9The video standards discussed so far have been dealing with Analog TV
10and the corresponding video timings. Today there are many more different
11hardware interfaces such as High Definition TV interfaces (HDMI), VGA,
12DVI connectors etc., that carry video signals and there is a need to
13extend the API to select the video timings for these interfaces. Since
14it is not possible to extend the :ref:`v4l2_std_id <v4l2-std-id>`
15due to the limited bits available, a new set of ioctls was added to
16set/get video timings at the input and output.
17
18These ioctls deal with the detailed digital video timings that define
19each video format. This includes parameters such as the active video
20width and height, signal polarities, frontporches, backporches, sync
21widths etc. The ``linux/v4l2-dv-timings.h`` header can be used to get
22the timings of the formats in the :ref:`cea861` and :ref:`vesadmt`
23standards.
24
25To enumerate and query the attributes of the DV timings supported by a
26device applications use the
27:ref:`VIDIOC_ENUM_DV_TIMINGS` and
28:ref:`VIDIOC_DV_TIMINGS_CAP` ioctls. To set
29DV timings for the device applications use the
30:ref:`VIDIOC_S_DV_TIMINGS <VIDIOC_G_DV_TIMINGS>` ioctl and to get
31current DV timings they use the
32:ref:`VIDIOC_G_DV_TIMINGS <VIDIOC_G_DV_TIMINGS>` ioctl. To detect
33the DV timings as seen by the video receiver applications use the
34:ref:`VIDIOC_QUERY_DV_TIMINGS` ioctl.
35
36Applications can make use of the :ref:`input-capabilities` and
37:ref:`output-capabilities` flags to determine whether the digital
38video ioctls can be used with the given input or output.
39