265 lines
8.0 KiB
XML
265 lines
8.0 KiB
XML
|
<refentry id="vidioc-g-sliced-vbi-cap">
|
||
|
<refmeta>
|
||
|
<refentrytitle>ioctl VIDIOC_G_SLICED_VBI_CAP</refentrytitle>
|
||
|
&manvol;
|
||
|
</refmeta>
|
||
|
|
||
|
<refnamediv>
|
||
|
<refname>VIDIOC_G_SLICED_VBI_CAP</refname>
|
||
|
<refpurpose>Query sliced VBI capabilities</refpurpose>
|
||
|
</refnamediv>
|
||
|
|
||
|
<refsynopsisdiv>
|
||
|
<funcsynopsis>
|
||
|
<funcprototype>
|
||
|
<funcdef>int <function>ioctl</function></funcdef>
|
||
|
<paramdef>int <parameter>fd</parameter></paramdef>
|
||
|
<paramdef>int <parameter>request</parameter></paramdef>
|
||
|
<paramdef>struct v4l2_sliced_vbi_cap *<parameter>argp</parameter></paramdef>
|
||
|
</funcprototype>
|
||
|
</funcsynopsis>
|
||
|
</refsynopsisdiv>
|
||
|
|
||
|
<refsect1>
|
||
|
<title>Arguments</title>
|
||
|
|
||
|
<variablelist>
|
||
|
<varlistentry>
|
||
|
<term><parameter>fd</parameter></term>
|
||
|
<listitem>
|
||
|
<para>&fd;</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><parameter>request</parameter></term>
|
||
|
<listitem>
|
||
|
<para>VIDIOC_G_SLICED_VBI_CAP</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><parameter>argp</parameter></term>
|
||
|
<listitem>
|
||
|
<para></para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
</variablelist>
|
||
|
</refsect1>
|
||
|
|
||
|
<refsect1>
|
||
|
<title>Description</title>
|
||
|
|
||
|
<para>To find out which data services are supported by a sliced
|
||
|
VBI capture or output device, applications initialize the
|
||
|
<structfield>type</structfield> field of a &v4l2-sliced-vbi-cap;,
|
||
|
clear the <structfield>reserved</structfield> array and
|
||
|
call the <constant>VIDIOC_G_SLICED_VBI_CAP</constant> ioctl. The
|
||
|
driver fills in the remaining fields or returns an &EINVAL; if the
|
||
|
sliced VBI API is unsupported or <structfield>type</structfield>
|
||
|
is invalid.</para>
|
||
|
|
||
|
<para>Note the <structfield>type</structfield> field was added,
|
||
|
and the ioctl changed from read-only to write-read, in Linux 2.6.19.</para>
|
||
|
|
||
|
<table pgwide="1" frame="none" id="v4l2-sliced-vbi-cap">
|
||
|
<title>struct <structname>v4l2_sliced_vbi_cap</structname></title>
|
||
|
<tgroup cols="5">
|
||
|
<colspec colname="c1" colwidth="3*" />
|
||
|
<colspec colname="c2" colwidth="3*" />
|
||
|
<colspec colname="c3" colwidth="2*" />
|
||
|
<colspec colname="c4" colwidth="2*" />
|
||
|
<colspec colname="c5" colwidth="2*" />
|
||
|
<spanspec spanname="hspan" namest="c3" nameend="c5" />
|
||
|
<tbody valign="top">
|
||
|
<row>
|
||
|
<entry>__u16</entry>
|
||
|
<entry><structfield>service_set</structfield></entry>
|
||
|
<entry spanname="hspan">A set of all data services
|
||
|
supported by the driver. Equal to the union of all elements of the
|
||
|
<structfield>service_lines </structfield> array.</entry>
|
||
|
</row>
|
||
|
<row>
|
||
|
<entry>__u16</entry>
|
||
|
<entry><structfield>service_lines</structfield>[2][24]</entry>
|
||
|
<entry spanname="hspan">Each element of this array
|
||
|
contains a set of data services the hardware can look for or insert
|
||
|
into a particular scan line. Data services are defined in <xref
|
||
|
linkend="vbi-services" />. Array indices map to ITU-R
|
||
|
line numbers (see also <xref
|
||
|
linkend="vbi-525" /> and <xref
|
||
|
linkend="vbi-625" />) as follows:</entry>
|
||
|
</row>
|
||
|
<row>
|
||
|
<entry></entry>
|
||
|
<entry></entry>
|
||
|
<entry>Element</entry>
|
||
|
<entry>525 line systems</entry>
|
||
|
<entry>625 line systems</entry>
|
||
|
</row>
|
||
|
<row>
|
||
|
<entry></entry>
|
||
|
<entry></entry>
|
||
|
<entry><structfield>service_lines</structfield>[0][1]</entry>
|
||
|
<entry align="center">1</entry>
|
||
|
<entry align="center">1</entry>
|
||
|
</row>
|
||
|
<row>
|
||
|
<entry></entry>
|
||
|
<entry></entry>
|
||
|
<entry><structfield>service_lines</structfield>[0][23]</entry>
|
||
|
<entry align="center">23</entry>
|
||
|
<entry align="center">23</entry>
|
||
|
</row>
|
||
|
<row>
|
||
|
<entry></entry>
|
||
|
<entry></entry>
|
||
|
<entry><structfield>service_lines</structfield>[1][1]</entry>
|
||
|
<entry align="center">264</entry>
|
||
|
<entry align="center">314</entry>
|
||
|
</row>
|
||
|
<row>
|
||
|
<entry></entry>
|
||
|
<entry></entry>
|
||
|
<entry><structfield>service_lines</structfield>[1][23]</entry>
|
||
|
<entry align="center">286</entry>
|
||
|
<entry align="center">336</entry>
|
||
|
</row>
|
||
|
<row>
|
||
|
<entry></entry>
|
||
|
</row>
|
||
|
<row>
|
||
|
<entry></entry>
|
||
|
<entry></entry>
|
||
|
<entry spanname="hspan">The number of VBI lines the
|
||
|
hardware can capture or output per frame, or the number of services it
|
||
|
can identify on a given line may be limited. For example on PAL line
|
||
|
16 the hardware may be able to look for a VPS or Teletext signal, but
|
||
|
not both at the same time. Applications can learn about these limits
|
||
|
using the &VIDIOC-S-FMT; ioctl as described in <xref
|
||
|
linkend="sliced" />.</entry>
|
||
|
</row>
|
||
|
<row>
|
||
|
<entry></entry>
|
||
|
</row>
|
||
|
<row>
|
||
|
<entry></entry>
|
||
|
<entry></entry>
|
||
|
<entry spanname="hspan">Drivers must set
|
||
|
<structfield>service_lines</structfield>[0][0] and
|
||
|
<structfield>service_lines</structfield>[1][0] to zero.</entry>
|
||
|
</row>
|
||
|
<row>
|
||
|
<entry>&v4l2-buf-type;</entry>
|
||
|
<entry><structfield>type</structfield></entry>
|
||
|
<entry>Type of the data stream, see <xref
|
||
|
linkend="v4l2-buf-type" />. Should be
|
||
|
<constant>V4L2_BUF_TYPE_SLICED_VBI_CAPTURE</constant> or
|
||
|
<constant>V4L2_BUF_TYPE_SLICED_VBI_OUTPUT</constant>.</entry>
|
||
|
</row>
|
||
|
<row>
|
||
|
<entry>__u32</entry>
|
||
|
<entry><structfield>reserved</structfield>[3]</entry>
|
||
|
<entry spanname="hspan">This array is reserved for future
|
||
|
extensions. Applications and drivers must set it to zero.</entry>
|
||
|
</row>
|
||
|
</tbody>
|
||
|
</tgroup>
|
||
|
</table>
|
||
|
|
||
|
<!-- See also dev-sliced-vbi.sgml -->
|
||
|
<table pgwide="1" frame="none" id="vbi-services">
|
||
|
<title>Sliced VBI services</title>
|
||
|
<tgroup cols="5">
|
||
|
<colspec colname="c1" colwidth="2*" />
|
||
|
<colspec colname="c2" colwidth="1*" />
|
||
|
<colspec colname="c3" colwidth="1*" />
|
||
|
<colspec colname="c4" colwidth="2*" />
|
||
|
<colspec colname="c5" colwidth="2*" />
|
||
|
<spanspec spanname='rlp' namest='c3' nameend='c5' />
|
||
|
<thead>
|
||
|
<row>
|
||
|
<entry>Symbol</entry>
|
||
|
<entry>Value</entry>
|
||
|
<entry>Reference</entry>
|
||
|
<entry>Lines, usually</entry>
|
||
|
<entry>Payload</entry>
|
||
|
</row>
|
||
|
</thead>
|
||
|
<tbody valign="top">
|
||
|
<row>
|
||
|
<entry><constant>V4L2_SLICED_TELETEXT_B</constant> (Teletext
|
||
|
System B)</entry>
|
||
|
<entry>0x0001</entry>
|
||
|
<entry><xref linkend="ets300706" />, <xref linkend="itu653" /></entry>
|
||
|
<entry>PAL/SECAM line 7-22, 320-335 (second field 7-22)</entry>
|
||
|
<entry>Last 42 of the 45 byte Teletext packet, that is
|
||
|
without clock run-in and framing code, lsb first transmitted.</entry>
|
||
|
</row>
|
||
|
<row>
|
||
|
<entry><constant>V4L2_SLICED_VPS</constant></entry>
|
||
|
<entry>0x0400</entry>
|
||
|
<entry><xref linkend="ets300231" /></entry>
|
||
|
<entry>PAL line 16</entry>
|
||
|
<entry>Byte number 3 to 15 according to Figure 9 of
|
||
|
ETS 300 231, lsb first transmitted.</entry>
|
||
|
</row>
|
||
|
<row>
|
||
|
<entry><constant>V4L2_SLICED_CAPTION_525</constant></entry>
|
||
|
<entry>0x1000</entry>
|
||
|
<entry><xref linkend="eia608" /></entry>
|
||
|
<entry>NTSC line 21, 284 (second field 21)</entry>
|
||
|
<entry>Two bytes in transmission order, including parity
|
||
|
bit, lsb first transmitted.</entry>
|
||
|
</row>
|
||
|
<row>
|
||
|
<entry><constant>V4L2_SLICED_WSS_625</constant></entry>
|
||
|
<entry>0x4000</entry>
|
||
|
<entry><xref linkend="en300294" />, <xref linkend="itu1119" /></entry>
|
||
|
<entry>PAL/SECAM line 23</entry>
|
||
|
<entry><screen>
|
||
|
Byte 0 1
|
||
|
msb lsb msb lsb
|
||
|
Bit 7 6 5 4 3 2 1 0 x x 13 12 11 10 9
|
||
|
</screen></entry>
|
||
|
</row>
|
||
|
<row>
|
||
|
<entry><constant>V4L2_SLICED_VBI_525</constant></entry>
|
||
|
<entry>0x1000</entry>
|
||
|
<entry spanname="rlp">Set of services applicable to 525
|
||
|
line systems.</entry>
|
||
|
</row>
|
||
|
<row>
|
||
|
<entry><constant>V4L2_SLICED_VBI_625</constant></entry>
|
||
|
<entry>0x4401</entry>
|
||
|
<entry spanname="rlp">Set of services applicable to 625
|
||
|
line systems.</entry>
|
||
|
</row>
|
||
|
</tbody>
|
||
|
</tgroup>
|
||
|
</table>
|
||
|
|
||
|
</refsect1>
|
||
|
|
||
|
<refsect1>
|
||
|
&return-value;
|
||
|
|
||
|
<variablelist>
|
||
|
<varlistentry>
|
||
|
<term><errorcode>EINVAL</errorcode></term>
|
||
|
<listitem>
|
||
|
<para>The device does not support sliced VBI capturing or
|
||
|
output, or the value in the <structfield>type</structfield> field is
|
||
|
wrong.</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
</variablelist>
|
||
|
</refsect1>
|
||
|
</refentry>
|
||
|
|
||
|
<!--
|
||
|
Local Variables:
|
||
|
mode: sgml
|
||
|
sgml-parent-document: "v4l2.sgml"
|
||
|
indent-tabs-mode: nil
|
||
|
End:
|
||
|
-->
|