1059b1c5bSMauro Carvalho Chehab.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2407e84cdSMauro Carvalho Chehab.. c:namespace:: V4L
354f38fcaSMauro Carvalho Chehab
454f38fcaSMauro Carvalho Chehab.. _VIDIOC_G_DV_TIMINGS:
554f38fcaSMauro Carvalho Chehab
654f38fcaSMauro Carvalho Chehab**********************************************
754f38fcaSMauro Carvalho Chehabioctl VIDIOC_G_DV_TIMINGS, VIDIOC_S_DV_TIMINGS
854f38fcaSMauro Carvalho Chehab**********************************************
954f38fcaSMauro Carvalho Chehab
1054f38fcaSMauro Carvalho ChehabName
1154f38fcaSMauro Carvalho Chehab====
1254f38fcaSMauro Carvalho Chehab
1354f38fcaSMauro Carvalho ChehabVIDIOC_G_DV_TIMINGS - VIDIOC_S_DV_TIMINGS - VIDIOC_SUBDEV_G_DV_TIMINGS - VIDIOC_SUBDEV_S_DV_TIMINGS - Get or set DV timings for input or output
1454f38fcaSMauro Carvalho Chehab
1554f38fcaSMauro Carvalho ChehabSynopsis
1654f38fcaSMauro Carvalho Chehab========
1754f38fcaSMauro Carvalho Chehab
18407e84cdSMauro Carvalho Chehab.. c:macro:: VIDIOC_G_DV_TIMINGS
1954f38fcaSMauro Carvalho Chehab
20407e84cdSMauro Carvalho Chehab``int ioctl(int fd, VIDIOC_G_DV_TIMINGS, struct v4l2_dv_timings *argp)``
2154f38fcaSMauro Carvalho Chehab
22407e84cdSMauro Carvalho Chehab.. c:macro:: VIDIOC_S_DV_TIMINGS
2354f38fcaSMauro Carvalho Chehab
24407e84cdSMauro Carvalho Chehab``int ioctl(int fd, VIDIOC_S_DV_TIMINGS, struct v4l2_dv_timings *argp)``
2554f38fcaSMauro Carvalho Chehab
26407e84cdSMauro Carvalho Chehab.. c:macro:: VIDIOC_SUBDEV_G_DV_TIMINGS
27407e84cdSMauro Carvalho Chehab
28407e84cdSMauro Carvalho Chehab``int ioctl(int fd, VIDIOC_SUBDEV_G_DV_TIMINGS, struct v4l2_dv_timings *argp)``
29407e84cdSMauro Carvalho Chehab
30407e84cdSMauro Carvalho Chehab.. c:macro:: VIDIOC_SUBDEV_S_DV_TIMINGS
31407e84cdSMauro Carvalho Chehab
32407e84cdSMauro Carvalho Chehab``int ioctl(int fd, VIDIOC_SUBDEV_S_DV_TIMINGS, struct v4l2_dv_timings *argp)``
3354f38fcaSMauro Carvalho Chehab
3454f38fcaSMauro Carvalho ChehabArguments
3554f38fcaSMauro Carvalho Chehab=========
3654f38fcaSMauro Carvalho Chehab
3754f38fcaSMauro Carvalho Chehab``fd``
38407e84cdSMauro Carvalho Chehab    File descriptor returned by :c:func:`open()`.
3954f38fcaSMauro Carvalho Chehab
4054f38fcaSMauro Carvalho Chehab``argp``
4154f38fcaSMauro Carvalho Chehab    Pointer to struct :c:type:`v4l2_dv_timings`.
4254f38fcaSMauro Carvalho Chehab
4354f38fcaSMauro Carvalho ChehabDescription
4454f38fcaSMauro Carvalho Chehab===========
4554f38fcaSMauro Carvalho Chehab
4654f38fcaSMauro Carvalho ChehabTo set DV timings for the input or output, applications use the
4754f38fcaSMauro Carvalho Chehab:ref:`VIDIOC_S_DV_TIMINGS <VIDIOC_G_DV_TIMINGS>` ioctl and to get the current timings,
4854f38fcaSMauro Carvalho Chehabapplications use the :ref:`VIDIOC_G_DV_TIMINGS <VIDIOC_G_DV_TIMINGS>` ioctl. The detailed timing
4954f38fcaSMauro Carvalho Chehabinformation is filled in using the structure struct
5054f38fcaSMauro Carvalho Chehab:c:type:`v4l2_dv_timings`. These ioctls take a
5154f38fcaSMauro Carvalho Chehabpointer to the struct :c:type:`v4l2_dv_timings`
5254f38fcaSMauro Carvalho Chehabstructure as argument. If the ioctl is not supported or the timing
5354f38fcaSMauro Carvalho Chehabvalues are not correct, the driver returns ``EINVAL`` error code.
5454f38fcaSMauro Carvalho Chehab
553fb0ee8bSJacopo MondiCalling ``VIDIOC_SUBDEV_S_DV_TIMINGS`` on a subdev device node that has been
563fb0ee8bSJacopo Mondiregistered in read-only mode is not allowed. An error is returned and the errno
573fb0ee8bSJacopo Mondivariable is set to ``-EPERM``.
583fb0ee8bSJacopo Mondi
5954f38fcaSMauro Carvalho ChehabThe ``linux/v4l2-dv-timings.h`` header can be used to get the timings of
6054f38fcaSMauro Carvalho Chehabthe formats in the :ref:`cea861` and :ref:`vesadmt` standards. If
6154f38fcaSMauro Carvalho Chehabthe current input or output does not support DV timings (e.g. if
6254f38fcaSMauro Carvalho Chehab:ref:`VIDIOC_ENUMINPUT` does not set the
6354f38fcaSMauro Carvalho Chehab``V4L2_IN_CAP_DV_TIMINGS`` flag), then ``ENODATA`` error code is returned.
6454f38fcaSMauro Carvalho Chehab
6554f38fcaSMauro Carvalho ChehabReturn Value
6654f38fcaSMauro Carvalho Chehab============
6754f38fcaSMauro Carvalho Chehab
6854f38fcaSMauro Carvalho ChehabOn success 0 is returned, on error -1 and the ``errno`` variable is set
6954f38fcaSMauro Carvalho Chehabappropriately. The generic error codes are described at the
7054f38fcaSMauro Carvalho Chehab:ref:`Generic Error Codes <gen-errors>` chapter.
7154f38fcaSMauro Carvalho Chehab
7254f38fcaSMauro Carvalho ChehabEINVAL
7354f38fcaSMauro Carvalho Chehab    This ioctl is not supported, or the :ref:`VIDIOC_S_DV_TIMINGS <VIDIOC_G_DV_TIMINGS>`
7454f38fcaSMauro Carvalho Chehab    parameter was unsuitable.
7554f38fcaSMauro Carvalho Chehab
7654f38fcaSMauro Carvalho ChehabENODATA
7754f38fcaSMauro Carvalho Chehab    Digital video timings are not supported for this input or output.
7854f38fcaSMauro Carvalho Chehab
7954f38fcaSMauro Carvalho ChehabEBUSY
8054f38fcaSMauro Carvalho Chehab    The device is busy and therefore can not change the timings.
8154f38fcaSMauro Carvalho Chehab
823fb0ee8bSJacopo MondiEPERM
833fb0ee8bSJacopo Mondi    ``VIDIOC_SUBDEV_S_DV_TIMINGS`` has been called on a read-only subdevice.
8454f38fcaSMauro Carvalho Chehab
8554f38fcaSMauro Carvalho Chehab.. c:type:: v4l2_bt_timings
8654f38fcaSMauro Carvalho Chehab
87fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.5cm}|
88fea13a69SMauro Carvalho Chehab
89fea13a69SMauro Carvalho Chehab.. cssclass:: longtable
90fea13a69SMauro Carvalho Chehab
9154f38fcaSMauro Carvalho Chehab.. flat-table:: struct v4l2_bt_timings
9254f38fcaSMauro Carvalho Chehab    :header-rows:  0
9354f38fcaSMauro Carvalho Chehab    :stub-columns: 0
9454f38fcaSMauro Carvalho Chehab    :widths:       1 1 2
9554f38fcaSMauro Carvalho Chehab
9654f38fcaSMauro Carvalho Chehab    * - __u32
9754f38fcaSMauro Carvalho Chehab      - ``width``
9854f38fcaSMauro Carvalho Chehab      - Width of the active video in pixels.
9954f38fcaSMauro Carvalho Chehab    * - __u32
10054f38fcaSMauro Carvalho Chehab      - ``height``
10154f38fcaSMauro Carvalho Chehab      - Height of the active video frame in lines. So for interlaced
10254f38fcaSMauro Carvalho Chehab	formats the height of the active video in each field is
10354f38fcaSMauro Carvalho Chehab	``height``/2.
10454f38fcaSMauro Carvalho Chehab    * - __u32
10554f38fcaSMauro Carvalho Chehab      - ``interlaced``
10654f38fcaSMauro Carvalho Chehab      - Progressive (``V4L2_DV_PROGRESSIVE``) or interlaced (``V4L2_DV_INTERLACED``).
10754f38fcaSMauro Carvalho Chehab    * - __u32
10854f38fcaSMauro Carvalho Chehab      - ``polarities``
10954f38fcaSMauro Carvalho Chehab      - This is a bit mask that defines polarities of sync signals. bit 0
11054f38fcaSMauro Carvalho Chehab	(``V4L2_DV_VSYNC_POS_POL``) is for vertical sync polarity and bit
11154f38fcaSMauro Carvalho Chehab	1 (``V4L2_DV_HSYNC_POS_POL``) is for horizontal sync polarity. If
11254f38fcaSMauro Carvalho Chehab	the bit is set (1) it is positive polarity and if is cleared (0),
11354f38fcaSMauro Carvalho Chehab	it is negative polarity.
11454f38fcaSMauro Carvalho Chehab    * - __u64
11554f38fcaSMauro Carvalho Chehab      - ``pixelclock``
11654f38fcaSMauro Carvalho Chehab      - Pixel clock in Hz. Ex. 74.25MHz->74250000
11754f38fcaSMauro Carvalho Chehab    * - __u32
11854f38fcaSMauro Carvalho Chehab      - ``hfrontporch``
11954f38fcaSMauro Carvalho Chehab      - Horizontal front porch in pixels
12054f38fcaSMauro Carvalho Chehab    * - __u32
12154f38fcaSMauro Carvalho Chehab      - ``hsync``
12254f38fcaSMauro Carvalho Chehab      - Horizontal sync length in pixels
12354f38fcaSMauro Carvalho Chehab    * - __u32
12454f38fcaSMauro Carvalho Chehab      - ``hbackporch``
12554f38fcaSMauro Carvalho Chehab      - Horizontal back porch in pixels
12654f38fcaSMauro Carvalho Chehab    * - __u32
12754f38fcaSMauro Carvalho Chehab      - ``vfrontporch``
12854f38fcaSMauro Carvalho Chehab      - Vertical front porch in lines. For interlaced formats this refers
12954f38fcaSMauro Carvalho Chehab	to the odd field (aka field 1).
13054f38fcaSMauro Carvalho Chehab    * - __u32
13154f38fcaSMauro Carvalho Chehab      - ``vsync``
13254f38fcaSMauro Carvalho Chehab      - Vertical sync length in lines. For interlaced formats this refers
13354f38fcaSMauro Carvalho Chehab	to the odd field (aka field 1).
13454f38fcaSMauro Carvalho Chehab    * - __u32
13554f38fcaSMauro Carvalho Chehab      - ``vbackporch``
13654f38fcaSMauro Carvalho Chehab      - Vertical back porch in lines. For interlaced formats this refers
13754f38fcaSMauro Carvalho Chehab	to the odd field (aka field 1).
13854f38fcaSMauro Carvalho Chehab    * - __u32
13954f38fcaSMauro Carvalho Chehab      - ``il_vfrontporch``
14054f38fcaSMauro Carvalho Chehab      - Vertical front porch in lines for the even field (aka field 2) of
14154f38fcaSMauro Carvalho Chehab	interlaced field formats. Must be 0 for progressive formats.
14254f38fcaSMauro Carvalho Chehab    * - __u32
14354f38fcaSMauro Carvalho Chehab      - ``il_vsync``
14454f38fcaSMauro Carvalho Chehab      - Vertical sync length in lines for the even field (aka field 2) of
14554f38fcaSMauro Carvalho Chehab	interlaced field formats. Must be 0 for progressive formats.
14654f38fcaSMauro Carvalho Chehab    * - __u32
14754f38fcaSMauro Carvalho Chehab      - ``il_vbackporch``
14854f38fcaSMauro Carvalho Chehab      - Vertical back porch in lines for the even field (aka field 2) of
14954f38fcaSMauro Carvalho Chehab	interlaced field formats. Must be 0 for progressive formats.
15054f38fcaSMauro Carvalho Chehab    * - __u32
15154f38fcaSMauro Carvalho Chehab      - ``standards``
15254f38fcaSMauro Carvalho Chehab      - The video standard(s) this format belongs to. This will be filled
15354f38fcaSMauro Carvalho Chehab	in by the driver. Applications must set this to 0. See
15454f38fcaSMauro Carvalho Chehab	:ref:`dv-bt-standards` for a list of standards.
15554f38fcaSMauro Carvalho Chehab    * - __u32
15654f38fcaSMauro Carvalho Chehab      - ``flags``
15754f38fcaSMauro Carvalho Chehab      - Several flags giving more information about the format. See
15854f38fcaSMauro Carvalho Chehab	:ref:`dv-bt-flags` for a description of the flags.
15954f38fcaSMauro Carvalho Chehab    * - struct :c:type:`v4l2_fract`
16054f38fcaSMauro Carvalho Chehab      - ``picture_aspect``
16154f38fcaSMauro Carvalho Chehab      - The picture aspect if the pixels are not square. Only valid if the
16254f38fcaSMauro Carvalho Chehab        ``V4L2_DV_FL_HAS_PICTURE_ASPECT`` flag is set.
16354f38fcaSMauro Carvalho Chehab    * - __u8
16454f38fcaSMauro Carvalho Chehab      - ``cea861_vic``
16554f38fcaSMauro Carvalho Chehab      - The Video Identification Code according to the CEA-861 standard.
16654f38fcaSMauro Carvalho Chehab        Only valid if the ``V4L2_DV_FL_HAS_CEA861_VIC`` flag is set.
16754f38fcaSMauro Carvalho Chehab    * - __u8
16854f38fcaSMauro Carvalho Chehab      - ``hdmi_vic``
16954f38fcaSMauro Carvalho Chehab      - The Video Identification Code according to the HDMI standard.
17054f38fcaSMauro Carvalho Chehab        Only valid if the ``V4L2_DV_FL_HAS_HDMI_VIC`` flag is set.
17154f38fcaSMauro Carvalho Chehab    * - __u8
17254f38fcaSMauro Carvalho Chehab      - ``reserved[46]``
17354f38fcaSMauro Carvalho Chehab      - Reserved for future extensions. Drivers and applications must set
17454f38fcaSMauro Carvalho Chehab	the array to zero.
17554f38fcaSMauro Carvalho Chehab
176fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{3.5cm}|p{3.5cm}|p{7.0cm}|p{3.1cm}|
17754f38fcaSMauro Carvalho Chehab
17854f38fcaSMauro Carvalho Chehab.. c:type:: v4l2_dv_timings
17954f38fcaSMauro Carvalho Chehab
18054f38fcaSMauro Carvalho Chehab.. flat-table:: struct v4l2_dv_timings
18154f38fcaSMauro Carvalho Chehab    :header-rows:  0
18254f38fcaSMauro Carvalho Chehab    :stub-columns: 0
18354f38fcaSMauro Carvalho Chehab    :widths:       1 1 2
18454f38fcaSMauro Carvalho Chehab
18554f38fcaSMauro Carvalho Chehab    * - __u32
18654f38fcaSMauro Carvalho Chehab      - ``type``
18754f38fcaSMauro Carvalho Chehab      - Type of DV timings as listed in :ref:`dv-timing-types`.
18854f38fcaSMauro Carvalho Chehab    * - union {
18954f38fcaSMauro Carvalho Chehab      - (anonymous)
19054f38fcaSMauro Carvalho Chehab    * - struct :c:type:`v4l2_bt_timings`
19154f38fcaSMauro Carvalho Chehab      - ``bt``
19254f38fcaSMauro Carvalho Chehab      - Timings defined by BT.656/1120 specifications
19354f38fcaSMauro Carvalho Chehab    * - __u32
19454f38fcaSMauro Carvalho Chehab      - ``reserved``\ [32]
19554f38fcaSMauro Carvalho Chehab      -
19654f38fcaSMauro Carvalho Chehab    * - }
19754f38fcaSMauro Carvalho Chehab      -
19854f38fcaSMauro Carvalho Chehab
199fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.5cm}|
20054f38fcaSMauro Carvalho Chehab
20154f38fcaSMauro Carvalho Chehab.. _dv-timing-types:
20254f38fcaSMauro Carvalho Chehab
20354f38fcaSMauro Carvalho Chehab.. flat-table:: DV Timing types
20454f38fcaSMauro Carvalho Chehab    :header-rows:  0
20554f38fcaSMauro Carvalho Chehab    :stub-columns: 0
20654f38fcaSMauro Carvalho Chehab    :widths:       1 1 2
20754f38fcaSMauro Carvalho Chehab
20854f38fcaSMauro Carvalho Chehab    * - Timing type
20954f38fcaSMauro Carvalho Chehab      - value
21054f38fcaSMauro Carvalho Chehab      - Description
21154f38fcaSMauro Carvalho Chehab    * -
21254f38fcaSMauro Carvalho Chehab      -
21354f38fcaSMauro Carvalho Chehab      -
21454f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_BT_656_1120``
21554f38fcaSMauro Carvalho Chehab      - 0
21654f38fcaSMauro Carvalho Chehab      - BT.656/1120 timings
21754f38fcaSMauro Carvalho Chehab
218fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{6.5cm}|p{11.0cm}|
219fea13a69SMauro Carvalho Chehab
220fea13a69SMauro Carvalho Chehab.. cssclass:: longtable
22154f38fcaSMauro Carvalho Chehab
22254f38fcaSMauro Carvalho Chehab.. _dv-bt-standards:
22354f38fcaSMauro Carvalho Chehab
22454f38fcaSMauro Carvalho Chehab.. flat-table:: DV BT Timing standards
22554f38fcaSMauro Carvalho Chehab    :header-rows:  0
22654f38fcaSMauro Carvalho Chehab    :stub-columns: 0
22754f38fcaSMauro Carvalho Chehab
22854f38fcaSMauro Carvalho Chehab    * - Timing standard
22954f38fcaSMauro Carvalho Chehab      - Description
23054f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_BT_STD_CEA861``
23154f38fcaSMauro Carvalho Chehab      - The timings follow the CEA-861 Digital TV Profile standard
23254f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_BT_STD_DMT``
23354f38fcaSMauro Carvalho Chehab      - The timings follow the VESA Discrete Monitor Timings standard
23454f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_BT_STD_CVT``
23554f38fcaSMauro Carvalho Chehab      - The timings follow the VESA Coordinated Video Timings standard
23654f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_BT_STD_GTF``
23754f38fcaSMauro Carvalho Chehab      - The timings follow the VESA Generalized Timings Formula standard
23854f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_BT_STD_SDI``
23954f38fcaSMauro Carvalho Chehab      - The timings follow the SDI Timings standard.
24054f38fcaSMauro Carvalho Chehab	There are no horizontal syncs/porches at all in this format.
24154f38fcaSMauro Carvalho Chehab	Total blanking timings must be set in hsync or vsync fields only.
24254f38fcaSMauro Carvalho Chehab
243fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{7.7cm}|p{9.8cm}|
244fea13a69SMauro Carvalho Chehab
245fea13a69SMauro Carvalho Chehab.. cssclass:: longtable
24654f38fcaSMauro Carvalho Chehab
247*c4a1bff9SMauro Carvalho Chehab.. _dv-bt-flags:
248*c4a1bff9SMauro Carvalho Chehab
24954f38fcaSMauro Carvalho Chehab.. flat-table:: DV BT Timing flags
25054f38fcaSMauro Carvalho Chehab    :header-rows:  0
25154f38fcaSMauro Carvalho Chehab    :stub-columns: 0
25254f38fcaSMauro Carvalho Chehab
25354f38fcaSMauro Carvalho Chehab    * - Flag
25454f38fcaSMauro Carvalho Chehab      - Description
25554f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_FL_REDUCED_BLANKING``
25654f38fcaSMauro Carvalho Chehab      - CVT/GTF specific: the timings use reduced blanking (CVT) or the
25754f38fcaSMauro Carvalho Chehab	'Secondary GTF' curve (GTF). In both cases the horizontal and/or
25854f38fcaSMauro Carvalho Chehab	vertical blanking intervals are reduced, allowing a higher
25954f38fcaSMauro Carvalho Chehab	resolution over the same bandwidth. This is a read-only flag,
26054f38fcaSMauro Carvalho Chehab	applications must not set this.
26154f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_FL_CAN_REDUCE_FPS``
26254f38fcaSMauro Carvalho Chehab      - CEA-861 specific: set for CEA-861 formats with a framerate that is
26354f38fcaSMauro Carvalho Chehab	a multiple of six. These formats can be optionally played at 1 /
26454f38fcaSMauro Carvalho Chehab	1.001 speed to be compatible with 60 Hz based standards such as
26554f38fcaSMauro Carvalho Chehab	NTSC and PAL-M that use a framerate of 29.97 frames per second. If
26654f38fcaSMauro Carvalho Chehab	the transmitter can't generate such frequencies, then the flag
26754f38fcaSMauro Carvalho Chehab	will also be cleared. This is a read-only flag, applications must
26854f38fcaSMauro Carvalho Chehab	not set this.
26954f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_FL_REDUCED_FPS``
27054f38fcaSMauro Carvalho Chehab      - CEA-861 specific: only valid for video transmitters or video
27154f38fcaSMauro Carvalho Chehab        receivers that have the ``V4L2_DV_FL_CAN_DETECT_REDUCED_FPS``
27254f38fcaSMauro Carvalho Chehab	set. This flag is cleared otherwise. It is also only valid for
27354f38fcaSMauro Carvalho Chehab	formats with the ``V4L2_DV_FL_CAN_REDUCE_FPS`` flag set, for other
27454f38fcaSMauro Carvalho Chehab	formats the flag will be cleared by the driver.
27554f38fcaSMauro Carvalho Chehab
27654f38fcaSMauro Carvalho Chehab	If the application sets this flag for a transmitter, then the
27754f38fcaSMauro Carvalho Chehab	pixelclock used to set up the transmitter is divided by 1.001 to
27854f38fcaSMauro Carvalho Chehab	make it compatible with NTSC framerates. If the transmitter can't
27954f38fcaSMauro Carvalho Chehab	generate such frequencies, then the flag will be cleared.
28054f38fcaSMauro Carvalho Chehab
28154f38fcaSMauro Carvalho Chehab	If a video receiver detects that the format uses a reduced framerate,
28254f38fcaSMauro Carvalho Chehab	then it will set this flag to signal this to the application.
28354f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_FL_HALF_LINE``
28454f38fcaSMauro Carvalho Chehab      - Specific to interlaced formats: if set, then the vertical
28554f38fcaSMauro Carvalho Chehab	frontporch of field 1 (aka the odd field) is really one half-line
28654f38fcaSMauro Carvalho Chehab	longer and the vertical backporch of field 2 (aka the even field)
28754f38fcaSMauro Carvalho Chehab	is really one half-line shorter, so each field has exactly the
28854f38fcaSMauro Carvalho Chehab	same number of half-lines. Whether half-lines can be detected or
28954f38fcaSMauro Carvalho Chehab	used depends on the hardware.
29054f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_FL_IS_CE_VIDEO``
29154f38fcaSMauro Carvalho Chehab      - If set, then this is a Consumer Electronics (CE) video format.
29254f38fcaSMauro Carvalho Chehab	Such formats differ from other formats (commonly called IT
29354f38fcaSMauro Carvalho Chehab	formats) in that if R'G'B' encoding is used then by default the
29454f38fcaSMauro Carvalho Chehab	R'G'B' values use limited range (i.e. 16-235) as opposed to full
29554f38fcaSMauro Carvalho Chehab	range (i.e. 0-255). All formats defined in CEA-861 except for the
29654f38fcaSMauro Carvalho Chehab	640x480p59.94 format are CE formats.
29754f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_FL_FIRST_FIELD_EXTRA_LINE``
29854f38fcaSMauro Carvalho Chehab      - Some formats like SMPTE-125M have an interlaced signal with a odd
29954f38fcaSMauro Carvalho Chehab	total height. For these formats, if this flag is set, the first
30054f38fcaSMauro Carvalho Chehab	field has the extra line. Else, it is the second field.
30154f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_FL_HAS_PICTURE_ASPECT``
30254f38fcaSMauro Carvalho Chehab      - If set, then the picture_aspect field is valid. Otherwise assume that
30354f38fcaSMauro Carvalho Chehab        the pixels are square, so the picture aspect ratio is the same as the
30454f38fcaSMauro Carvalho Chehab	width to height ratio.
30554f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_FL_HAS_CEA861_VIC``
30654f38fcaSMauro Carvalho Chehab      - If set, then the cea861_vic field is valid and contains the Video
30754f38fcaSMauro Carvalho Chehab        Identification Code as per the CEA-861 standard.
30854f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_FL_HAS_HDMI_VIC``
30954f38fcaSMauro Carvalho Chehab      - If set, then the hdmi_vic field is valid and contains the Video
31054f38fcaSMauro Carvalho Chehab        Identification Code as per the HDMI standard (HDMI Vendor Specific
31154f38fcaSMauro Carvalho Chehab	InfoFrame).
31254f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_FL_CAN_DETECT_REDUCED_FPS``
31354f38fcaSMauro Carvalho Chehab      - CEA-861 specific: only valid for video receivers, the flag is
31454f38fcaSMauro Carvalho Chehab        cleared by transmitters.
31554f38fcaSMauro Carvalho Chehab        If set, then the hardware can detect the difference between
31654f38fcaSMauro Carvalho Chehab	regular framerates and framerates reduced by 1000/1001. E.g.:
31754f38fcaSMauro Carvalho Chehab	60 vs 59.94 Hz, 30 vs 29.97 Hz or 24 vs 23.976 Hz.
318