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