blob: 77394b28741149569a6446e2507daa52948fbcb4 [file] [log] [blame]
<refentry id="vidioc-g-jpegcomp">
<refmeta>
<refentrytitle>ioctl VIDIOC_G_JPEGCOMP, VIDIOC_S_JPEGCOMP</refentrytitle>
&manvol;
</refmeta>
<refnamediv>
<refname>VIDIOC_G_JPEGCOMP</refname>
<refname>VIDIOC_S_JPEGCOMP</refname>
<refpurpose></refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ioctl</function></funcdef>
<paramdef>int <parameter>fd</parameter></paramdef>
<paramdef>int <parameter>request</parameter></paramdef>
<paramdef>v4l2_jpegcompression *<parameter>argp</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ioctl</function></funcdef>
<paramdef>int <parameter>fd</parameter></paramdef>
<paramdef>int <parameter>request</parameter></paramdef>
<paramdef>const v4l2_jpegcompression *<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_JPEGCOMP, VIDIOC_S_JPEGCOMP</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>argp</parameter></term>
<listitem>
<para></para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Description</title>
<para>[to do]</para>
<para>Ronald Bultje elaborates:</para>
<!-- See video4linux-list@redhat.com on 16 Oct 2002, subject
"Re: [V4L] Re: v4l2 api / Zoran v4l2_jpegcompression" -->
<para>APP is some application-specific information. The
application can set it itself, and it'll be stored in the JPEG-encoded
fields (eg; interlacing information for in an AVI or so). COM is the
same, but it's comments, like 'encoded by me' or so.</para>
<para>jpeg_markers describes whether the huffman tables,
quantization tables and the restart interval information (all
JPEG-specific stuff) should be stored in the JPEG-encoded fields.
These define how the JPEG field is encoded. If you omit them,
applications assume you've used standard encoding. You usually do want
to add them.</para>
<!-- NB VIDIOC_S_JPEGCOMP is w/o. -->
<table pgwide="1" frame="none" id="v4l2-jpegcompression">
<title>struct <structname>v4l2_jpegcompression</structname></title>
<tgroup cols="3">
&cs-str;
<tbody valign="top">
<row>
<entry>int</entry>
<entry><structfield>quality</structfield></entry>
<entry></entry>
</row>
<row>
<entry>int</entry>
<entry><structfield>APPn</structfield></entry>
<entry></entry>
</row>
<row>
<entry>int</entry>
<entry><structfield>APP_len</structfield></entry>
<entry></entry>
</row>
<row>
<entry>char</entry>
<entry><structfield>APP_data</structfield>[60]</entry>
<entry></entry>
</row>
<row>
<entry>int</entry>
<entry><structfield>COM_len</structfield></entry>
<entry></entry>
</row>
<row>
<entry>char</entry>
<entry><structfield>COM_data</structfield>[60]</entry>
<entry></entry>
</row>
<row>
<entry>__u32</entry>
<entry><structfield>jpeg_markers</structfield></entry>
<entry>See <xref linkend="jpeg-markers" />.</entry>
</row>
</tbody>
</tgroup>
</table>
<table pgwide="1" frame="none" id="jpeg-markers">
<title>JPEG Markers Flags</title>
<tgroup cols="3">
&cs-def;
<tbody valign="top">
<row>
<entry><constant>V4L2_JPEG_MARKER_DHT</constant></entry>
<entry>(1&lt;&lt;3)</entry>
<entry>Define Huffman Tables</entry>
</row>
<row>
<entry><constant>V4L2_JPEG_MARKER_DQT</constant></entry>
<entry>(1&lt;&lt;4)</entry>
<entry>Define Quantization Tables</entry>
</row>
<row>
<entry><constant>V4L2_JPEG_MARKER_DRI</constant></entry>
<entry>(1&lt;&lt;5)</entry>
<entry>Define Restart Interval</entry>
</row>
<row>
<entry><constant>V4L2_JPEG_MARKER_COM</constant></entry>
<entry>(1&lt;&lt;6)</entry>
<entry>Comment segment</entry>
</row>
<row>
<entry><constant>V4L2_JPEG_MARKER_APP</constant></entry>
<entry>(1&lt;&lt;7)</entry>
<entry>App segment, driver will always use APP0</entry>
</row>
</tbody>
</tgroup>
</table>
</refsect1>
<refsect1>
&return-value;
<variablelist>
<varlistentry>
<term><errorcode>EINVAL</errorcode></term>
<listitem>
<para>This ioctl is not supported.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
</refentry>
<!--
Local Variables:
mode: sgml
sgml-parent-document: "v4l2.sgml"
indent-tabs-mode: nil
End:
-->