Recent Changes - Search:

libjpeg-turbo Home

About libjpeg-turbo

Downloads

Documentation

Reports

Position Statements

Developer Info

Contact

Official Binaries

With each release, The libjpeg-turbo Project provides "official" binary packages to support the most popular development platforms. In all cases, the official binaries are built in a manner that is as performant and compatible as possible. For instance, if there is a known performance issue with a newer compiler, we will continue to build our binaries using the older compiler. Even though libjpeg-turbo is an open source project and we encourage anyone who wants to "get their feet wet" to try building it from source, our goal is that this should not be necessary for most users, particularly casual users who just want to try out the software.

Platform Support

RPM-based and Debian-based Linux distributions

  • x86 and x86-64
    • libjpeg-turbo 1.3.x and earlier should work with distributions that provide glibc 2.3.2 or later (including Fedora 2 or later, Red Hat Enterprise Linux/CentOS 3 or later, SuSE Linux Enterprise 9 or later, and Ubuntu 6.06 or later.)
    • libjpeg-turbo 1.4 beta - 1.4.1 should work with distributions that provide glibc 2.3.4 or later (including Fedora 4 or later, Red Hat Enterprise Linux/CentOS 4 or later, SuSE Linux Enterprise/openSUSE 10 or later, and Ubuntu 6.06 or later.)
    • libjpeg-turbo 1.4.2 - 2.0.x should work with distributions that provide glibc 2.5 or later (including Fedora 6 or later, Red Hat Enterprise Linux/CentOS 5 or later, SuSE Linux Enterprise/openSUSE 11 or later, and Ubuntu 8.04 or later.)
    • libjpeg-turbo 2.1.x and later should work with distributions that provide glibc 2.12 or later (including Fedora 13 or later, Red Hat Enterprise Linux/CentOS 6 or later, SuSE Linux Enterprise/openSUSE 12 or later, and Ubuntu 12.04 or later.)
    • libjpeg-turbo 3.0.x and later should work with distributions that provide glibc 2.17 or later (including Fedora 20 or later, Red Hat Enterprise Linux/CentOS 7 or later, and Ubuntu 14.04 or later.)
  • AArch64
    • libjpeg-turbo 2.1.2 and later should work with distributions that provide glibc 2.17 or later (including Fedora 20 or later, Red Hat Enterprise Linux/CentOS 7 or later, and Ubuntu 14.04 or later.)
  • A source RPM (SRPM) is provided, which should allow for easily rebuilding the software on RPM-based platforms that our binary RPMs do not support.
  • The RPM packages in libjpeg-turbo 2.0.x ESR and 2.1.0 and later contain SHA-256 signatures.
  • The RPM packages in libjpeg-turbo 3.0 beta and later contain SHA-256 header and payload digests.

OS X/macOS

  • libjpeg-turbo 1.3.x and earlier:
    • OS X 10.4 "Tiger" and later / i386
    • OS X 10.4 "Tiger" and later / x86-64
  • libjpeg-turbo 1.4.x - 2.0.4:
    • OS X 10.5 "Leopard" and later / i386
    • OS X 10.5 "Leopard" and later / x86-64
  • libjpeg-turbo 2.0.5 - 2.0.6
    • OS X 10.5 "Leopard" and later / i386
      [The TurboJPEG API library's global error handler is not thread-safe]
    • OS X 10.7 "Lion" and later / x86-64
  • libjpeg-turbo 2.0.x ESR:
    • OS X 10.7 "Lion" and later / x86-64
  • libjpeg-turbo 2.1.x and later:
    • macOS 11 "Big Sur" and later / Armv8
    • OS X 10.7 "Lion" and later / x86-64

iOS

  • libjpeg-turbo 1.2.0 - 1.2.1:
    • iOS 4.3 and later / Armv6 (iPhone 3G) [No SIMD acceleration]
    • iOS 4.3 and later / Armv7 (iPhone 3GS-4S, iPad 1st-3rd generation, iPad Mini)
  • libjpeg-turbo 1.3.x - 1.4 beta:
    • iOS 4.3 and later / Armv6 (iPhone 3G) [No SIMD acceleration]
    • iOS 4.3 and later / Armv7 (iPhone 3GS-4S, iPad 1st-3rd generation, iPad Mini)
    • iOS 6.0 and later / Armv7s (iPhone 5 & 5C, iPad 4th generation)
  • libjpeg-turbo 1.4.0 - 1.5.0:
    • iOS 4.3 and later / Armv6 (iPhone 3G) [No SIMD acceleration]
    • iOS 4.3 and later / Armv7 (iPhone 3GS-4S, iPad 1st-3rd generation, iPad Mini)
    • iOS 6.0 and later / Armv7s (iPhone 5 & 5C, iPad 4th generation)
    • iOS 7.0 and later / Armv8 (iPhone 5S and later, iPad Mini 2 and later, iPad Air)
  • libjpeg-turbo 1.5.1 - 2.0.4:
    • iOS 6.0 and later / Armv7 w/ bitcode (iPhone 3GS-4S, iPad 1st-3rd generation, iPad Mini)
    • iOS 6.0 and later / Armv7s w/ bitcode (iPhone 5 & 5C, iPad 4th generation)
    • iOS 7.0 and later / Armv8 w/ bitcode (iPhone 5S and later, iPad Mini 2 and later, iPad Air)
  • libjpeg-turbo 2.0.5 - 2.0.6:
    • iOS 6.0 and later / Armv7 w/ bitcode (iPhone 3GS-4S, iPad 1st-3rd generation, iPad Mini)
      [The TurboJPEG API library's global error handler is not thread-safe]
    • iOS 6.0 and later / Armv7s w/ bitcode (iPhone 5 & 5C, iPad 4th generation)
      [The TurboJPEG API library's global error handler is not thread-safe]
    • iOS 8.0 and later / Armv8 w/ bitcode (iPhone 5S and later, iPad Mini 2 and later, iPad Air)
  • libjpeg-turbo 2.0.x ESR:
    • iOS 8.0 and later / Armv8 w/ bitcode (iPhone 5S and later, iPad Mini 2 and later, iPad Air)
  • libjpeg-turbo 2.1.x and later:
    • iOS 8.0 and later / Armv8 w/ bitcode (iPhone 5S and later, iPad Mini 2 and later, iPad Air)
    • iOS 9.0 and later / x86-64 w/o bitcode (iOS simulator)
  • The static libraries (libjpeg.a and libturbojpeg.a) in the official OS X/macOS binary packages for libjpeg-turbo 1.2.0 - 2.0.x, and the dynamic libraries (libjpeg.dylib and libturbojpeg.dylib) in the official OS X/macOS binary packages for libjpeg-turbo 1.4.0 - 2.0.x, are fat binaries that support both iOS and OS X/macOS builds.
  • In libjpeg-turbo 2.1.x and later, iOS and OS X/macOS builds are supported by separate libjpeg-turbo packages.
  • libjpeg-turbo must be built from source in order to use it in the iOS simulator on Macs with Apple silicon CPUs. It is not possible to use binaries built for iOS in the Arm64 iOS simulator. Refer to BUILDING.md, located in the top directory of the libjpeg-turbo source tree, for build instructions.
  • Refer to this article for information about which algorithms have Armv7 and Armv8 SIMD implementations.

Microsoft Windows XP and later (x86 and x64)

  • Technically, our binaries probably work with earlier versions of Windows as well, although this has not been tested.
  • MinGW, MinGW-w64, and Visual C++ (2008 and later, both 32-bit and 64-bit flavors) are supported.
  • libjpeg-turbo 1.3.x and earlier
    • If your application uses the libjpeg API (as opposed to the TurboJPEG API) and you plan to dynamically link with jpeg62.dll (the libjpeg API DLL in the official libjpeg-turbo packages for Visual C++), then you will need to install the Visual C++ 2008 run-time DLL (msvcr90.dll). This DLL ships with Windows Vista and later, but Windows XP users can obtain it by installing the Visual C++ 2008 Redistributable Package (x86, x64.)
    • Features of the libjpeg API that require passing a C run-time structure, such as a file handle, from an application to the library will probably not work with jpeg62.dll, unless the application is also built to use the Visual C++ 2008 C run-time DLL. In particular, this affects jpeg_stdio_dest() and jpeg_stdio_src().
  • libjpeg-turbo 1.4.x - 2.0.x
    • If your application uses the libjpeg API (as opposed to the TurboJPEG API) and you plan to dynamically link with jpeg62.dll (the libjpeg API DLL in the official libjpeg-turbo packages for Visual C++), then you will need to install the Visual C++ 2010 run-time DLL (msvcr100.dll). This can be accomplished by installing the Visual C++ 2010 Redistributable Package (x86, x64.)
    • Features of the libjpeg API that require passing a C run-time structure, such as a file handle, from an application to the library will probably not work with jpeg62.dll, unless the application is also built to use the Visual C++ 2010 C run-time DLL. In particular, this affects jpeg_stdio_dest() and jpeg_stdio_src().
    • Applications built with Visual C++ 2015 or later must link with jpeg62.dll or turbojpeg.dll. They cannot be linked with the official libjpeg-turbo static libraries (jpeg-static.lib and turbojpeg-static.lib), due to backward incompatibilities between the Visual C++ 2015-2022 and Visual C++ 2010 run-time libraries.
  • libjpeg-turbo 2.1.x and later
    • If your application uses the libjpeg API (as opposed to the TurboJPEG API) and you plan to dynamically link with jpeg62.dll (the libjpeg API DLL in the official libjpeg-turbo packages for Visual C++), then you will need to install the Visual C++ 2015-2022 Redistributable Package (x86, x64) if it isn't already installed.
    • Features of the libjpeg API that require passing a C run-time structure, such as a file handle, from an application to the library will probably not work with jpeg62.dll, unless the application is also built to use the Visual C++ 2015-2022 C run-time DLL. In particular, this affects jpeg_stdio_dest() and jpeg_stdio_src().
    • Applications built with Visual C++ 2013 or earlier must link with jpeg62.dll or turbojpeg.dll. They cannot be linked with the official libjpeg-turbo static libraries (jpeg-static.lib and turbojpeg-static.lib), due to backward incompatibilities in the Visual C++ 2015-2022 run-time libraries.

Included Features

  • libjpeg v6b API/ABI
    • If you need to emulate the libjpeg v7 or v8 API/ABI, it will be necessary to build libjpeg-turbo from source.
  • libjpeg-turbo 1.3.x and later add support for the in-memory source/destination managers (jpeg_mem_src() and jpeg_mem_dest()), which were previously only available when emulating the libjpeg v8 API/ABI.
  • Arithmetic coding support
  • Java support (libjpeg-turbo 1.2.x and later)
    • libjpeg-turbo 3.0.x and earlier require Java 5 or later.
    • libjpeg-turbo 3.1.x and later require Java 8 or later.
  • On Linux and OS X/macOS, our static libraries are built with PIC, so they can be linked into shared libraries.
  • On Linux, our binaries use a package name of "libjpeg-turbo-official" instead of "libjpeg-turbo", so as to avoid conflict with any system-supplied version of libjpeg-turbo.

Installation Directories

Linux

  • SDK, Shared Libraries, and Programs: /opt/libjpeg-turbo
  • Documentation: /usr/share/doc/libjpeg-turbo-{version}

OS X/macOS

  • SDK, Shared Libraries, and Programs: /opt/libjpeg-turbo
  • Documentation: /Library/Documentation/libjpeg-turbo

Windows

  • SDK and Shared Libraries for MinGW, Programs, and Documentation: c:\libjpeg-turbo-gcc[64]
  • SDK and Shared Libraries for Visual C++, Programs, and Documentation: c:\libjpeg-turbo[64]
  • turbojpeg.dll and libturbojpeg.dll are installed both in c:\libjpeg-turbo[-gcc][64]\bin and in the Windows system directory. This is to facilitate the use of the TurboJPEG DLL by Java applications.

How to Reproduce the Official Binaries

Creative Commons LicenseAll 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.

Edit - History - Print - Recent Changes - Search
Page last modified on August 23, 2024, at 09:22 AM