| <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 [email protected] 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<<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; | 
 |  | 
 |     <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: | 
 | --> |