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