\section{Built-in Module \sectcode{jpeg}}
\label{module-jpeg}
\bimodindex{jpeg}

The module \code{jpeg} provides access to the jpeg compressor and
decompressor written by the Independent JPEG Group. JPEG is a (draft?)\
standard for compressing pictures.  For details on jpeg or the
Independent JPEG Group software refer to the JPEG standard or the
documentation provided with the software.

The \code{jpeg} module defines these functions:

\renewcommand{\indexsubitem}{(in module jpeg)}
\begin{funcdesc}{compress}{data\, w\, h\, b}
Treat data as a pixmap of width \var{w} and height \var{h}, with \var{b} bytes per
pixel.  The data is in SGI GL order, so the first pixel is in the
lower-left corner. This means that \code{lrectread} return data can
immediately be passed to compress.  Currently only 1 byte and 4 byte
pixels are allowed, the former being treated as greyscale and the
latter as RGB color.  Compress returns a string that contains the
compressed picture, in JFIF format.
\end{funcdesc}

\begin{funcdesc}{decompress}{data}
Data is a string containing a picture in JFIF format. It returns a
tuple
\code{(\var{data}, \var{width}, \var{height}, \var{bytesperpixel})}.
Again, the data is suitable to pass to \code{lrectwrite}.
\end{funcdesc}

\begin{funcdesc}{setoption}{name\, value}
Set various options.  Subsequent compress and decompress calls
will use these options.  The following options are available:
\begin{description}
\item[\code{'forcegray' }]
Force output to be grayscale, even if input is RGB.

\item[\code{'quality' }]
Set the quality of the compressed image to a
value between \code{0} and \code{100} (default is \code{75}).  Compress only.

\item[\code{'optimize' }]
Perform Huffman table optimization.  Takes longer, but results in
smaller compressed image.  Compress only.

\item[\code{'smooth' }]
Perform inter-block smoothing on uncompressed image.  Only useful for
low-quality images.  Decompress only.
\end{description}
\end{funcdesc}

Compress and uncompress raise the error \code{jpeg.error} in case of errors.
