rev |
line source |
al@20905
|
1 libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2,
|
al@20905
|
2 NEON, AltiVec) to accelerate baseline JPEG compression and decompression on
|
al@20905
|
3 x86, x86-64, ARM, and PowerPC systems. On such systems, libjpeg-turbo is
|
al@20905
|
4 generally 2-6x as fast as libjpeg, all else being equal. On other types of
|
al@20905
|
5 systems, libjpeg-turbo can still outperform libjpeg by a significant amount,
|
al@20905
|
6 by virtue of its highly-optimized Huffman coding routines. In many cases, the
|
al@20905
|
7 performance of libjpeg-turbo rivals that of proprietary high-speed JPEG codecs.
|
al@20905
|
8
|
al@20905
|
9 libjpeg-turbo implements both the traditional libjpeg API as well as the less
|
al@20905
|
10 powerful but more straightforward TurboJPEG API. libjpeg-turbo also features
|
al@20905
|
11 colorspace extensions that allow it to compress from/decompress to 32-bit and
|
al@20905
|
12 big-endian pixel buffers (RGBX, XBGR, etc.), as well as a full-featured Java
|
al@20905
|
13 interface.
|
al@20905
|
14
|
al@20905
|
15 Features
|
al@20905
|
16
|
al@20905
|
17 * 2-6x as fast as libjpeg on x86, x86-64, and ARM platforms
|
al@20905
|
18 * 32-bit and 64-bit binaries provided for popular Linux distributions,
|
al@20905
|
19 Windows, OS X, and iOS
|
al@20905
|
20 * Can be used in GPL and proprietary applications
|
al@20905
|
21 * Provides the industry-standard libjpeg API/ABI (can emulate libjpeg v6b,
|
al@20905
|
22 v7, or v8, although libjpeg-turbo does not support the non-standard
|
al@20905
|
23 SmartScale format introduced in libjpeg v8)
|
al@20905
|
24 * Provides the TurboJPEG API used by VirtualGL and TurboVNC
|
al@20905
|
25 * Similar performance to commercial/closed source accelerated JPEG codecs
|
al@20905
|
26 * Full-featured Java wrapper
|