About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / DocBook / v4l / vidioc-g-dv-timings.xml


Based on kernel version 3.0.4. Page generated on 2011-10-03 22:07 EST.

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,
53	applications use the <constant>VIDIOC_G_DV_TIMINGS</constant> ioctl. The detailed timing
54	information is filled in using the structure &v4l2-dv-timings;. These ioctls take
55	a pointer to the &v4l2-dv-timings; structure as argument. If the ioctl is not supported
56	or 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.
102	bit 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	</refentry>
216	
217	<!--
218	Local Variables:
219	mode: sgml
220	sgml-parent-document: "v4l2.sgml"
221	indent-tabs-mode: nil
222	End:
223	-->
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog