libjpeg
|
|
This article includes a list of references, related reading or external links, but its sources remain unclear because it lacks inline citations. Please improve this article by introducing more precise citations. (June 2008) |
| Developer(s) | Independent JPEG Group |
|---|---|
| Stable release | 8d / January 15, 2012 |
| 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
- ^ Software That Uses or Provides libjpeg-turbo. February 9, 2012.
- ^ Issue 48789 - chromium - Use libjpeg-turbo instead of libjpeg. April 14, 2011.
- ^ Bug 698519 - Update to libjpeg-turbo 1.2. February 28, 2012
- ^ libjpeg for F14. February 9, 2012.
- ^ libjpeg: API changes/compatibility. February 9, 2012
[edit] External links
- Independent JPEG Group Website
- Binary package of libjpeg for Microsoft Windows (at GnuWin32 in SourceForge)
- Binary packages of libjpeg for Microsoft Windows (MingW and Microsoft Visual C++ versions 7 and 8), and for Mac OS X (Universal, GCC 4.0; PowerPC, GCC 4.0; PowerPC, GCC 3.3) (at ClanLib)
- libjpeg-turbo, an ABI-/API-compatible fork of libjpeg that uses x86 SIMD instructions to achieve a substantial speedup over the reference implementation.
- Jpeg Faqs
- Additional features for libjpeg