blob: 48748499c097516e9ac39b2e8584eb5a8e92c0f2 [file] [log] [blame] [edit]
<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>These ioctls are <emphasis role="bold">deprecated</emphasis>.
New drivers and applications should use <link linkend="jpeg-controls">
JPEG class controls</link> for image quality and JPEG markers control.
</para>
<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>Deprecated. If <link linkend="jpeg-quality-control"><constant>
V4L2_CID_JPEG_IMAGE_QUALITY</constant></link> control is exposed by
a driver applications should use it instead and ignore this field.
</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"/>. Deprecated.
If <link linkend="jpeg-active-marker-control"><constant>
V4L2_CID_JPEG_ACTIVE_MARKER</constant></link> control
is exposed by a driver applications should use it instead
and ignore this field.</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;
</refsect1>
</refentry>