libjpeg

From Wikipedia, the free encyclopedia
Jump to: navigation, search
libjpeg
Developer(s) Independent JPEG Group
Stable release 8d / January 15, 2012; 44 days ago (2012-01-15)
Written in C
Type library
License Free, can be used in commercial applications without royalty, with acknowledgement.
Website ijg.org

libjpeg 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.

Contents

[edit] Utilities

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 Huffman coding layer of a JPEG file to increase compression,
  • 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.

[edit] libjpeg-turbo

libjpeg-turbo is a fork of libjpeg that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. Many projects are now using libjpeg-turbo instead of libjpeg, including Fedora (since Fedora 14), Mozilla (since Firefox 5.0. Firefox 13.0 gained additional performance by adding the accelerated Huffman coding routines from libjpeg-turbo 1.2.0, which were previously excluded due to a license conflict), and Google Chrome (since version 11.)[1][2][3] Apart from performance, some projects have chosen to use libjpeg-turbo because it allows them to retain backward ABI compatibility with the older libjpeg v6b release.[4] Both libjpeg v7 and v8 broke ABI compatibility with prior releases.[5]

[edit] See also

[edit] References

[edit] External links

Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages