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