|
About libjpeg-turbo
Developer Info |
"libjpeg-turbo" != "TurboJPEG"libjpeg-turbo is the name of our open source project, as well as the name of the library we provide that is a SIMD-accelerated implementation of the industry-standard libjpeg API and ABI. libjpeg-turbo is both API/ABI-compatible and mathematically compatible with libjpeg v6b. It can also optionally be configured to be API/ABI-compatible with libjpeg v7 and v8. "TurboJPEG" is a higher-level API originally developed for use by VirtualGL and TurboVNC (but other projects, both open source and proprietary, now use it as well.) TurboJPEG provides an easy-to-use interface for compressing and decompressing JPEG images in memory. Within libjpeg-turbo, this API is provided by a library called "TurboJPEG/OSS", but other implementations of the TurboJPEG API exist as well. TurboJPEG/mediaLib and TurboJPEG/IPP, for instance, implement the TurboJPEG API on top of Sun mediaLib and the Intel Performance Primitives, respectively. Both of those implementations were developed within The VirtualGL Project, although neither is actively used anymore. TurboJPEG is generally not as powerful of an API as libjpeg, but it provides some features that would not be straightforward to implement using the underlying libjpeg API, such as generating planar YUV images and performing multiple simultaneous lossless transforms on an image. The Java interface for libjpeg-turbo is written on top of the TurboJPEG API. Yes, we realize the names can be confusing, but there are historical reasons for them, and the TurboJPEG API has too much traction at this point to undergo a name change. |
|
![]() | All content on this web site is licensed under the Creative Commons Attribution 2.5 License. Any works containing material derived from this web site must cite The libjpeg-turbo Project as the source of the material and list the current URL for the libjpeg-turbo web site. |