1 .. SPDX-License-Identifier: GFDL-1.1-no-invari 2 .. c:namespace:: V4L 3 4 .. _VIDIOC_G_DV_TIMINGS: 5 6 ********************************************** 7 ioctl VIDIOC_G_DV_TIMINGS, VIDIOC_S_DV_TIMINGS 8 ********************************************** 9 10 Name 11 ==== 12 13 VIDIOC_G_DV_TIMINGS - VIDIOC_S_DV_TIMINGS - VI 14 15 Synopsis 16 ======== 17 18 .. c:macro:: VIDIOC_G_DV_TIMINGS 19 20 ``int ioctl(int fd, VIDIOC_G_DV_TIMINGS, struc 21 22 .. c:macro:: VIDIOC_S_DV_TIMINGS 23 24 ``int ioctl(int fd, VIDIOC_S_DV_TIMINGS, struc 25 26 .. c:macro:: VIDIOC_SUBDEV_G_DV_TIMINGS 27 28 ``int ioctl(int fd, VIDIOC_SUBDEV_G_DV_TIMINGS 29 30 .. c:macro:: VIDIOC_SUBDEV_S_DV_TIMINGS 31 32 ``int ioctl(int fd, VIDIOC_SUBDEV_S_DV_TIMINGS 33 34 Arguments 35 ========= 36 37 ``fd`` 38 File descriptor returned by :c:func:`open( 39 40 ``argp`` 41 Pointer to struct :c:type:`v4l2_dv_timings 42 43 Description 44 =========== 45 46 To set DV timings for the input or output, app 47 :ref:`VIDIOC_S_DV_TIMINGS <VIDIOC_G_DV_TIMINGS 48 applications use the :ref:`VIDIOC_G_DV_TIMINGS 49 information is filled in using the structure s 50 :c:type:`v4l2_dv_timings`. These ioctls take a 51 pointer to the struct :c:type:`v4l2_dv_timings 52 structure as argument. If the ioctl is not sup 53 values are not correct, the driver returns ``E 54 55 Calling ``VIDIOC_SUBDEV_S_DV_TIMINGS`` on a su 56 registered in read-only mode is not allowed. A 57 variable is set to ``-EPERM``. 58 59 The ``linux/v4l2-dv-timings.h`` header can be 60 the formats in the :ref:`cea861` and :ref:`ves 61 the current input or output does not support D 62 :ref:`VIDIOC_ENUMINPUT` does not set the 63 ``V4L2_IN_CAP_DV_TIMINGS`` flag), then ``ENODA 64 65 Return Value 66 ============ 67 68 On success 0 is returned, on error -1 and the 69 appropriately. The generic error codes are des 70 :ref:`Generic Error Codes <gen-errors>` chapte 71 72 EINVAL 73 This ioctl is not supported, or the :ref:` 74 parameter was unsuitable. 75 76 ENODATA 77 Digital video timings are not supported fo 78 79 EBUSY 80 The device is busy and therefore can not c 81 82 EPERM 83 ``VIDIOC_SUBDEV_S_DV_TIMINGS`` has been ca 84 85 .. c:type:: v4l2_bt_timings 86 87 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.5cm 88 89 .. cssclass:: longtable 90 91 .. flat-table:: struct v4l2_bt_timings 92 :header-rows: 0 93 :stub-columns: 0 94 :widths: 1 1 2 95 96 * - __u32 97 - ``width`` 98 - Width of the active video in pixels. 99 * - __u32 100 - ``height`` 101 - Height of the active video frame in li 102 formats the height of the active video 103 ``height``/2. 104 * - __u32 105 - ``interlaced`` 106 - Progressive (``V4L2_DV_PROGRESSIVE``) 107 * - __u32 108 - ``polarities`` 109 - This is a bit mask that defines polari 110 (``V4L2_DV_VSYNC_POS_POL``) is for ver 111 1 (``V4L2_DV_HSYNC_POS_POL``) is for h 112 the bit is set (1) it is positive pola 113 it is negative polarity. 114 * - __u64 115 - ``pixelclock`` 116 - Pixel clock in Hz. Ex. 74.25MHz->74250 117 * - __u32 118 - ``hfrontporch`` 119 - Horizontal front porch in pixels 120 * - __u32 121 - ``hsync`` 122 - Horizontal sync length in pixels 123 * - __u32 124 - ``hbackporch`` 125 - Horizontal back porch in pixels 126 * - __u32 127 - ``vfrontporch`` 128 - Vertical front porch in lines. For int 129 to the odd field (aka field 1). 130 * - __u32 131 - ``vsync`` 132 - Vertical sync length in lines. For int 133 to the odd field (aka field 1). 134 * - __u32 135 - ``vbackporch`` 136 - Vertical back porch in lines. For inte 137 to the odd field (aka field 1). 138 * - __u32 139 - ``il_vfrontporch`` 140 - Vertical front porch in lines for the 141 interlaced field formats. Must be 0 fo 142 * - __u32 143 - ``il_vsync`` 144 - Vertical sync length in lines for the 145 interlaced field formats. Must be 0 fo 146 * - __u32 147 - ``il_vbackporch`` 148 - Vertical back porch in lines for the e 149 interlaced field formats. Must be 0 fo 150 * - __u32 151 - ``standards`` 152 - The video standard(s) this format belo 153 in by the driver. Applications must se 154 :ref:`dv-bt-standards` for a list of s 155 * - __u32 156 - ``flags`` 157 - Several flags giving more information 158 :ref:`dv-bt-flags` for a description o 159 * - struct :c:type:`v4l2_fract` 160 - ``picture_aspect`` 161 - The picture aspect if the pixels are n 162 ``V4L2_DV_FL_HAS_PICTURE_ASPECT`` flag 163 * - __u8 164 - ``cea861_vic`` 165 - The Video Identification Code accordin 166 Only valid if the ``V4L2_DV_FL_HAS_CEA 167 * - __u8 168 - ``hdmi_vic`` 169 - The Video Identification Code accordin 170 Only valid if the ``V4L2_DV_FL_HAS_HDM 171 * - __u8 172 - ``reserved[46]`` 173 - Reserved for future extensions. Driver 174 the array to zero. 175 176 .. tabularcolumns:: |p{3.5cm}|p{3.5cm}|p{7.0cm 177 178 .. c:type:: v4l2_dv_timings 179 180 .. flat-table:: struct v4l2_dv_timings 181 :header-rows: 0 182 :stub-columns: 0 183 :widths: 1 1 2 184 185 * - __u32 186 - ``type`` 187 - Type of DV timings as listed in :ref:` 188 * - union { 189 - (anonymous) 190 * - struct :c:type:`v4l2_bt_timings` 191 - ``bt`` 192 - Timings defined by BT.656/1120 specifi 193 * - __u32 194 - ``reserved``\ [32] 195 - 196 * - } 197 - 198 199 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.5cm 200 201 .. _dv-timing-types: 202 203 .. flat-table:: DV Timing types 204 :header-rows: 0 205 :stub-columns: 0 206 :widths: 1 1 2 207 208 * - Timing type 209 - value 210 - Description 211 * - 212 - 213 - 214 * - ``V4L2_DV_BT_656_1120`` 215 - 0 216 - BT.656/1120 timings 217 218 .. tabularcolumns:: |p{6.5cm}|p{11.0cm}| 219 220 .. cssclass:: longtable 221 222 .. _dv-bt-standards: 223 224 .. flat-table:: DV BT Timing standards 225 :header-rows: 0 226 :stub-columns: 0 227 228 * - Timing standard 229 - Description 230 * - ``V4L2_DV_BT_STD_CEA861`` 231 - The timings follow the CEA-861 Digital 232 * - ``V4L2_DV_BT_STD_DMT`` 233 - The timings follow the VESA Discrete M 234 * - ``V4L2_DV_BT_STD_CVT`` 235 - The timings follow the VESA Coordinate 236 * - ``V4L2_DV_BT_STD_GTF`` 237 - The timings follow the VESA Generalize 238 * - ``V4L2_DV_BT_STD_SDI`` 239 - The timings follow the SDI Timings sta 240 There are no horizontal syncs/porches 241 Total blanking timings must be set in 242 243 .. tabularcolumns:: |p{7.7cm}|p{9.8cm}| 244 245 .. cssclass:: longtable 246 247 .. _dv-bt-flags: 248 249 .. flat-table:: DV BT Timing flags 250 :header-rows: 0 251 :stub-columns: 0 252 253 * - Flag 254 - Description 255 * - ``V4L2_DV_FL_REDUCED_BLANKING`` 256 - CVT/GTF specific: the timings use redu 257 'Secondary GTF' curve (GTF). In both c 258 vertical blanking intervals are reduce 259 resolution over the same bandwidth. Th 260 applications must not set this. 261 * - ``V4L2_DV_FL_CAN_REDUCE_FPS`` 262 - CEA-861 specific: set for CEA-861 form 263 a multiple of six. These formats can b 264 1.001 speed to be compatible with 60 H 265 NTSC and PAL-M that use a framerate of 266 the transmitter can't generate such fr 267 will also be cleared. This is a read-o 268 not set this. 269 * - ``V4L2_DV_FL_REDUCED_FPS`` 270 - CEA-861 specific: only valid for video 271 receivers that have the ``V4L2_DV_FL_C 272 set. This flag is cleared otherwise. I 273 formats with the ``V4L2_DV_FL_CAN_REDU 274 formats the flag will be cleared by th 275 276 If the application sets this flag for 277 pixelclock used to set up the transmit 278 make it compatible with NTSC framerate 279 generate such frequencies, then the fl 280 281 If a video receiver detects that the f 282 then it will set this flag to signal t 283 * - ``V4L2_DV_FL_HALF_LINE`` 284 - Specific to interlaced formats: if set 285 frontporch of field 1 (aka the odd fie 286 longer and the vertical backporch of f 287 is really one half-line shorter, so ea 288 same number of half-lines. Whether hal 289 used depends on the hardware. 290 * - ``V4L2_DV_FL_IS_CE_VIDEO`` 291 - If set, then this is a Consumer Electr 292 Such formats differ from other formats 293 formats) in that if R'G'B' encoding is 294 R'G'B' values use limited range (i.e. 295 range (i.e. 0-255). All formats define 296 640x480p59.94 format are CE formats. 297 * - ``V4L2_DV_FL_FIRST_FIELD_EXTRA_LINE`` 298 - Some formats like SMPTE-125M have an i 299 total height. For these formats, if th 300 field has the extra line. Else, it is 301 * - ``V4L2_DV_FL_HAS_PICTURE_ASPECT`` 302 - If set, then the picture_aspect field 303 the pixels are square, so the picture 304 width to height ratio. 305 * - ``V4L2_DV_FL_HAS_CEA861_VIC`` 306 - If set, then the cea861_vic field is v 307 Identification Code as per the CEA-861 308 * - ``V4L2_DV_FL_HAS_HDMI_VIC`` 309 - If set, then the hdmi_vic field is val 310 Identification Code as per the HDMI st 311 InfoFrame). 312 * - ``V4L2_DV_FL_CAN_DETECT_REDUCED_FPS`` 313 - CEA-861 specific: only valid for video 314 cleared by transmitters. 315 If set, then the hardware can detect t 316 regular framerates and framerates redu 317 60 vs 59.94 Hz, 30 vs 29.97 Hz or 24 v
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.