libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems. On such systems, libjpeg-turbo is generally 2-6x as fast as libjpeg, all else being equal. On other types of systems, libjpeg-turbo can still outperform libjpeg by a significant amount, by virtue of its highly-optimized Huffman coding routines. In many cases, the performance of libjpeg-turbo rivals that of proprietary high-speed JPEG codecs.

libjpeg-turbo implements both the traditional libjpeg API as well as the less powerful but more straightforward TurboJPEG API. libjpeg-turbo also features colorspace extensions that allow it to compress from/decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.), as well as a full-featured Java interface.

Features

  • 2-6x as fast as libjpeg on x86, x86-64, and ARM platforms
  • 32-bit and 64-bit binaries provided for popular Linux distributions, Windows, OS X, and iOS
  • Can be used in GPL and proprietary applications
  • Provides the industry-standard libjpeg API/ABI (can emulate libjpeg v6b, v7, or v8, although libjpeg-turbo does not support the non-standard SmartScale format introduced in libjpeg v8)
  • Provides the TurboJPEG API used by VirtualGL and TurboVNC
  • Similar performance to commercial/closed source accelerated JPEG codecs
  • Full-featured Java wrapper

Project Activity

See All Activity >

License

BSD License

Follow libjpeg-turbo

libjpeg-turbo Web Site

Other Useful Business Software

SolarWinds is #1 in network monitoring. SolarWinds is #1 in network monitoring. Icon
SolarWinds is #1 in network monitoring. Icon

Reduce network outages and improve performance with advanced network monitoring software.

SolarWinds® Network Performance Monitor (NPM) is the ONLY monitoring solution with NetPath™ for hop-by-hop visibility into your critical paths, on-premises and into the cloud. NPM also features PerfStack™, helping you accelerate identification of root cause by dragging-and-dropping network performance metrics on a common timeline for immediate visual correlation across all of your network data. See why we're the leader. Try it free for 30 days!

Rate This Project

Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
12
0
0
0
0
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5

User Reviews

  • I use it in release strength projects. Had to read (and modify a bit) source code. Works really well on both x86/x64 SSE and ARM (Android) NEON. May use a bit more work in modern AVX3 but overall good. Compared to GPU implementation of JPEG - beats it.

  • I've seen quite a few Jpeg libs. This one takes the cake.

  • Thanks for updates ;)

    1 user found this review helpful.
  • Libjpeg-turbo works wonderful.

    2 users found this review helpful.
  • The best OF the BesT

Read more reviews >

Additional Project Details

Awards

Intended Audience

Science/Research, Advanced End Users, System Administrators, Developers

Programming Language

Assembly, C, Java

Registered

2010-02-05