<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_COMPRESSION_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<<3)</entry> <entry>Define Huffman Tables</entry> </row> <row> <entry><constant>V4L2_JPEG_MARKER_DQT</constant></entry> <entry>(1<<4)</entry> <entry>Define Quantization Tables</entry> </row> <row> <entry><constant>V4L2_JPEG_MARKER_DRI</constant></entry> <entry>(1<<5)</entry> <entry>Define Restart Interval</entry> </row> <row> <entry><constant>V4L2_JPEG_MARKER_COM</constant></entry> <entry>(1<<6)</entry> <entry>Comment segment</entry> </row> <row> <entry><constant>V4L2_JPEG_MARKER_APP</constant></entry> <entry>(1<<7)</entry> <entry>App segment, driver will always use APP0</entry> </row> </tbody> </tgroup> </table> </refsect1> <refsect1> &return-value; </refsect1> </refentry>