|
@@ -7,7 +7,7 @@
|
|
|
<refnamediv>
|
|
|
<refname>VIDIOC_G_DV_TIMINGS</refname>
|
|
|
<refname>VIDIOC_S_DV_TIMINGS</refname>
|
|
|
- <refpurpose>Get or set custom DV timings for input or output</refpurpose>
|
|
|
+ <refpurpose>Get or set DV timings for input or output</refpurpose>
|
|
|
</refnamediv>
|
|
|
|
|
|
<refsynopsisdiv>
|
|
@@ -48,12 +48,15 @@
|
|
|
|
|
|
<refsect1>
|
|
|
<title>Description</title>
|
|
|
- <para>To set custom DV timings for the input or output, applications use the
|
|
|
-<constant>VIDIOC_S_DV_TIMINGS</constant> ioctl and to get the current custom timings,
|
|
|
+ <para>To set DV timings for the input or output, applications use the
|
|
|
+<constant>VIDIOC_S_DV_TIMINGS</constant> ioctl and to get the current timings,
|
|
|
applications use the <constant>VIDIOC_G_DV_TIMINGS</constant> ioctl. The detailed timing
|
|
|
information is filled in using the structure &v4l2-dv-timings;. These ioctls take
|
|
|
a pointer to the &v4l2-dv-timings; structure as argument. If the ioctl is not supported
|
|
|
or the timing values are not correct, the driver returns &EINVAL;.</para>
|
|
|
+<para>The <filename>linux/v4l2-dv-timings.h</filename> header can be used to get the
|
|
|
+timings of the formats in the <xref linkend="cea861" /> and <xref linkend="vesadmt" />
|
|
|
+standards.</para>
|
|
|
</refsect1>
|
|
|
|
|
|
<refsect1>
|
|
@@ -83,12 +86,13 @@ or the timing values are not correct, the driver returns &EINVAL;.</para>
|
|
|
<row>
|
|
|
<entry>__u32</entry>
|
|
|
<entry><structfield>width</structfield></entry>
|
|
|
- <entry>Width of the active video in pixels</entry>
|
|
|
+ <entry>Width of the active video in pixels.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry>__u32</entry>
|
|
|
<entry><structfield>height</structfield></entry>
|
|
|
- <entry>Height of the active video in lines</entry>
|
|
|
+ <entry>Height of the active video frame in lines. So for interlaced formats the
|
|
|
+ height of the active video in each field is <structfield>height</structfield>/2.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry>__u32</entry>
|
|
@@ -125,32 +129,52 @@ bit 0 (V4L2_DV_VSYNC_POS_POL) is for vertical sync polarity and bit 1 (V4L2_DV_H
|
|
|
<row>
|
|
|
<entry>__u32</entry>
|
|
|
<entry><structfield>vfrontporch</structfield></entry>
|
|
|
- <entry>Vertical front porch in lines</entry>
|
|
|
+ <entry>Vertical front porch in lines. For interlaced formats this refers to the
|
|
|
+ odd field (aka field 1).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry>__u32</entry>
|
|
|
<entry><structfield>vsync</structfield></entry>
|
|
|
- <entry>Vertical sync length in lines</entry>
|
|
|
+ <entry>Vertical sync length in lines. For interlaced formats this refers to the
|
|
|
+ odd field (aka field 1).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry>__u32</entry>
|
|
|
<entry><structfield>vbackporch</structfield></entry>
|
|
|
- <entry>Vertical back porch in lines</entry>
|
|
|
+ <entry>Vertical back porch in lines. For interlaced formats this refers to the
|
|
|
+ odd field (aka field 1).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry>__u32</entry>
|
|
|
<entry><structfield>il_vfrontporch</structfield></entry>
|
|
|
- <entry>Vertical front porch in lines for bottom field of interlaced field formats</entry>
|
|
|
+ <entry>Vertical front porch in lines for the even field (aka field 2) of
|
|
|
+ interlaced field formats.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry>__u32</entry>
|
|
|
<entry><structfield>il_vsync</structfield></entry>
|
|
|
- <entry>Vertical sync length in lines for bottom field of interlaced field formats</entry>
|
|
|
+ <entry>Vertical sync length in lines for the even field (aka field 2) of
|
|
|
+ interlaced field formats.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry>__u32</entry>
|
|
|
<entry><structfield>il_vbackporch</structfield></entry>
|
|
|
- <entry>Vertical back porch in lines for bottom field of interlaced field formats</entry>
|
|
|
+ <entry>Vertical back porch in lines for the even field (aka field 2) of
|
|
|
+ interlaced field formats.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>__u32</entry>
|
|
|
+ <entry><structfield>standards</structfield></entry>
|
|
|
+ <entry>The video standard(s) this format belongs to. This will be filled in by
|
|
|
+ the driver. Applications must set this to 0. See <xref linkend="dv-bt-standards"/>
|
|
|
+ for a list of standards.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>__u32</entry>
|
|
|
+ <entry><structfield>flags</structfield></entry>
|
|
|
+ <entry>Several flags giving more information about the format.
|
|
|
+ See <xref linkend="dv-bt-flags"/> for a description of the flags.
|
|
|
+ </entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
@@ -211,6 +235,90 @@ bit 0 (V4L2_DV_VSYNC_POS_POL) is for vertical sync polarity and bit 1 (V4L2_DV_H
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</table>
|
|
|
+ <table pgwide="1" frame="none" id="dv-bt-standards">
|
|
|
+ <title>DV BT Timing standards</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ &cs-str;
|
|
|
+ <tbody valign="top">
|
|
|
+ <row>
|
|
|
+ <entry>Timing standard</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry></entry>
|
|
|
+ <entry></entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>V4L2_DV_BT_STD_CEA861</entry>
|
|
|
+ <entry>The timings follow the CEA-861 Digital TV Profile standard</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>V4L2_DV_BT_STD_DMT</entry>
|
|
|
+ <entry>The timings follow the VESA Discrete Monitor Timings standard</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>V4L2_DV_BT_STD_CVT</entry>
|
|
|
+ <entry>The timings follow the VESA Coordinated Video Timings standard</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>V4L2_DV_BT_STD_GTF</entry>
|
|
|
+ <entry>The timings follow the VESA Generalized Timings Formula standard</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ <table pgwide="1" frame="none" id="dv-bt-flags">
|
|
|
+ <title>DV BT Timing flags</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ &cs-str;
|
|
|
+ <tbody valign="top">
|
|
|
+ <row>
|
|
|
+ <entry>Flag</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry></entry>
|
|
|
+ <entry></entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>V4L2_DV_FL_REDUCED_BLANKING</entry>
|
|
|
+ <entry>CVT/GTF specific: the timings use reduced blanking (CVT) or the 'Secondary
|
|
|
+GTF' curve (GTF). In both cases the horizontal and/or vertical blanking
|
|
|
+intervals are reduced, allowing a higher resolution over the same
|
|
|
+bandwidth. This is a read-only flag, applications must not set this.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>V4L2_DV_FL_CAN_REDUCE_FPS</entry>
|
|
|
+ <entry>CEA-861 specific: set for CEA-861 formats with a framerate that is a multiple
|
|
|
+of six. These formats can be optionally played at 1 / 1.001 speed to
|
|
|
+be compatible with 60 Hz based standards such as NTSC and PAL-M that use a framerate of
|
|
|
+29.97 frames per second. If the transmitter can't generate such frequencies, then the
|
|
|
+flag will also be cleared. This is a read-only flag, applications must not set this.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>V4L2_DV_FL_REDUCED_FPS</entry>
|
|
|
+ <entry>CEA-861 specific: only valid for video transmitters, the flag is cleared
|
|
|
+by receivers. It is also only valid for formats with the V4L2_DV_FL_CAN_REDUCE_FPS flag
|
|
|
+set, for other formats the flag will be cleared by the driver.
|
|
|
+
|
|
|
+If the application sets this flag, then the pixelclock used to set up the transmitter is
|
|
|
+divided by 1.001 to make it compatible with NTSC framerates. If the transmitter
|
|
|
+can't generate such frequencies, then the flag will also be cleared.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>V4L2_DV_FL_HALF_LINE</entry>
|
|
|
+ <entry>Specific to interlaced formats: if set, then field 1 (aka the odd field)
|
|
|
+is really one half-line longer and field 2 (aka the even field) is really one half-line
|
|
|
+shorter, so each field has exactly the same number of half-lines. Whether half-lines can be
|
|
|
+detected or used depends on the hardware.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
</refsect1>
|
|
|
<refsect1>
|
|
|
&return-value;
|