is a library
written entirely in C
which contains a widely-used implementation of a JPEG decoder, JPEG encoder and other JPEG
utilities. This library is maintained by the Independent JPEG Group. The current version of the library is 6b and was released in 1998
The following utility programs are available with libjpeg:
- cjpeg and djpeg, for performing conversions between JPEG and some other popular image file formats.
- rdjpgcom and wrjpgcom, for inserting and extracting textual comments in JFIF files.
- jpegtran – a utility for lossless transcoding between different JPEG formats.
The jpegtran command-line program is useful to:
- optimize the compression of a JPEG file,
- :(The final stage of JPEG compression is Huffman coding, which is lossless and can thus be losslessly optimized.)
- convert between progressive and non-progressive JPEG formats,
- eliminate non-standard application-specific data inserted by some image programs, or
- to perform certain transformations on a file, such as:
...all done "losslessly" (i.e. without decompressing and recompressing the data, and so causing a reduction of image quality due to generation loss).
There is an associated Windows application, Jpegcrop, which provides a user interface to jpegtran.
See also Lossy compression#Lossless editing.