1<refentry id="vidioc-g-dv-timings"> 2 <refmeta> 3 <refentrytitle>ioctl VIDIOC_G_DV_TIMINGS, VIDIOC_S_DV_TIMINGS</refentrytitle> 4 &manvol; 5 </refmeta> 6 7 <refnamediv> 8 <refname>VIDIOC_G_DV_TIMINGS</refname> 9 <refname>VIDIOC_S_DV_TIMINGS</refname> 10 <refpurpose>Get or set custom DV timings for input or output</refpurpose> 11 </refnamediv> 12 13 <refsynopsisdiv> 14 <funcsynopsis> 15 <funcprototype> 16 <funcdef>int <function>ioctl</function></funcdef> 17 <paramdef>int <parameter>fd</parameter></paramdef> 18 <paramdef>int <parameter>request</parameter></paramdef> 19 <paramdef>struct v4l2_dv_timings *<parameter>argp</parameter></paramdef> 20 </funcprototype> 21 </funcsynopsis> 22 </refsynopsisdiv> 23 24 <refsect1> 25 <title>Arguments</title> 26 27 <variablelist> 28 <varlistentry> 29 <term><parameter>fd</parameter></term> 30 <listitem> 31 <para>&fd;</para> 32 </listitem> 33 </varlistentry> 34 <varlistentry> 35 <term><parameter>request</parameter></term> 36 <listitem> 37 <para>VIDIOC_G_DV_TIMINGS, VIDIOC_S_DV_TIMINGS</para> 38 </listitem> 39 </varlistentry> 40 <varlistentry> 41 <term><parameter>argp</parameter></term> 42 <listitem> 43 <para></para> 44 </listitem> 45 </varlistentry> 46 </variablelist> 47 </refsect1> 48 49 <refsect1> 50 <title>Description</title> 51 <para>To set custom DV timings for the input or output, applications use the 52<constant>VIDIOC_S_DV_TIMINGS</constant> ioctl and to get the current custom timings, 53applications use the <constant>VIDIOC_G_DV_TIMINGS</constant> ioctl. The detailed timing 54information is filled in using the structure &v4l2-dv-timings;. These ioctls take 55a pointer to the &v4l2-dv-timings; structure as argument. If the ioctl is not supported 56or the timing values are not correct, the driver returns &EINVAL;.</para> 57 </refsect1> 58 59 <refsect1> 60 &return-value; 61 62 <variablelist> 63 <varlistentry> 64 <term><errorcode>EINVAL</errorcode></term> 65 <listitem> 66 <para>This ioctl is not supported, or the 67<constant>VIDIOC_S_DV_TIMINGS</constant> parameter was unsuitable.</para> 68 </listitem> 69 </varlistentry> 70 <varlistentry> 71 <term><errorcode>EBUSY</errorcode></term> 72 <listitem> 73 <para>The device is busy and therefore can not change the timings.</para> 74 </listitem> 75 </varlistentry> 76 </variablelist> 77 78 <table pgwide="1" frame="none" id="v4l2-bt-timings"> 79 <title>struct <structname>v4l2_bt_timings</structname></title> 80 <tgroup cols="3"> 81 &cs-str; 82 <tbody valign="top"> 83 <row> 84 <entry>__u32</entry> 85 <entry><structfield>width</structfield></entry> 86 <entry>Width of the active video in pixels</entry> 87 </row> 88 <row> 89 <entry>__u32</entry> 90 <entry><structfield>height</structfield></entry> 91 <entry>Height of the active video in lines</entry> 92 </row> 93 <row> 94 <entry>__u32</entry> 95 <entry><structfield>interlaced</structfield></entry> 96 <entry>Progressive (0) or interlaced (1)</entry> 97 </row> 98 <row> 99 <entry>__u32</entry> 100 <entry><structfield>polarities</structfield></entry> 101 <entry>This is a bit mask that defines polarities of sync signals. 102bit 0 (V4L2_DV_VSYNC_POS_POL) is for vertical sync polarity and bit 1 (V4L2_DV_HSYNC_POS_POL) is for horizontal sync polarity. If the bit is set 103(1) it is positive polarity and if is cleared (0), it is negative polarity.</entry> 104 </row> 105 <row> 106 <entry>__u64</entry> 107 <entry><structfield>pixelclock</structfield></entry> 108 <entry>Pixel clock in Hz. Ex. 74.25MHz->74250000</entry> 109 </row> 110 <row> 111 <entry>__u32</entry> 112 <entry><structfield>hfrontporch</structfield></entry> 113 <entry>Horizontal front porch in pixels</entry> 114 </row> 115 <row> 116 <entry>__u32</entry> 117 <entry><structfield>hsync</structfield></entry> 118 <entry>Horizontal sync length in pixels</entry> 119 </row> 120 <row> 121 <entry>__u32</entry> 122 <entry><structfield>hbackporch</structfield></entry> 123 <entry>Horizontal back porch in pixels</entry> 124 </row> 125 <row> 126 <entry>__u32</entry> 127 <entry><structfield>vfrontporch</structfield></entry> 128 <entry>Vertical front porch in lines</entry> 129 </row> 130 <row> 131 <entry>__u32</entry> 132 <entry><structfield>vsync</structfield></entry> 133 <entry>Vertical sync length in lines</entry> 134 </row> 135 <row> 136 <entry>__u32</entry> 137 <entry><structfield>vbackporch</structfield></entry> 138 <entry>Vertical back porch in lines</entry> 139 </row> 140 <row> 141 <entry>__u32</entry> 142 <entry><structfield>il_vfrontporch</structfield></entry> 143 <entry>Vertical front porch in lines for bottom field of interlaced field formats</entry> 144 </row> 145 <row> 146 <entry>__u32</entry> 147 <entry><structfield>il_vsync</structfield></entry> 148 <entry>Vertical sync length in lines for bottom field of interlaced field formats</entry> 149 </row> 150 <row> 151 <entry>__u32</entry> 152 <entry><structfield>il_vbackporch</structfield></entry> 153 <entry>Vertical back porch in lines for bottom field of interlaced field formats</entry> 154 </row> 155 </tbody> 156 </tgroup> 157 </table> 158 159 <table pgwide="1" frame="none" id="v4l2-dv-timings"> 160 <title>struct <structname>v4l2_dv_timings</structname></title> 161 <tgroup cols="4"> 162 &cs-str; 163 <tbody valign="top"> 164 <row> 165 <entry>__u32</entry> 166 <entry><structfield>type</structfield></entry> 167 <entry></entry> 168 <entry>Type of DV timings as listed in <xref linkend="dv-timing-types"/>.</entry> 169 </row> 170 <row> 171 <entry>union</entry> 172 <entry><structfield></structfield></entry> 173 <entry></entry> 174 </row> 175 <row> 176 <entry></entry> 177 <entry>&v4l2-bt-timings;</entry> 178 <entry><structfield>bt</structfield></entry> 179 <entry>Timings defined by BT.656/1120 specifications</entry> 180 </row> 181 <row> 182 <entry></entry> 183 <entry>__u32</entry> 184 <entry><structfield>reserved</structfield>[32]</entry> 185 <entry></entry> 186 </row> 187 </tbody> 188 </tgroup> 189 </table> 190 191 <table pgwide="1" frame="none" id="dv-timing-types"> 192 <title>DV Timing types</title> 193 <tgroup cols="3"> 194 &cs-str; 195 <tbody valign="top"> 196 <row> 197 <entry>Timing type</entry> 198 <entry>value</entry> 199 <entry>Description</entry> 200 </row> 201 <row> 202 <entry></entry> 203 <entry></entry> 204 <entry></entry> 205 </row> 206 <row> 207 <entry>V4L2_DV_BT_656_1120</entry> 208 <entry>0</entry> 209 <entry>BT.656/1120 timings</entry> 210 </row> 211 </tbody> 212 </tgroup> 213 </table> 214 </refsect1> 215 <refsect1> 216 &return-value; 217 </refsect1> 218</refentry> 219