Questions tagged [libjpeg-turbo]

libjpeg-turbo is a fork of libjpeg that uses SIMD instructions to accelerate baseline JPEG encoding and decoding.

Home page on SourceForge

libjpeg-turbo is a derivative of libjpeg that uses SIMD instructions (MMX, SSE2, NEON) to accelerate baseline JPEG compression and decompression on x86, x86-64, and ARM systems. On such systems, libjpeg-turbo is generally 2-4x as fast as the unmodified version of libjpeg, all else being equal.

libjpeg-turbo was originally based on libjpeg/SIMD by Miyasaka Masaru, but the TigerVNC and VirtualGL projects made numerous enhancements to the codec in 2009, including improved support for Mac OS X, 64-bit support, support for 32-bit and big-endian pixel formats (RGBX, XBGR, etc.), accelerated Huffman encoding/decoding, and various bug fixes.

libjpeg-turbo generally achieves 80-120% of the performance of TurboJPEG/IPP. It is faster in some areas but slower in others.

104 questions
37
votes
4 answers

Examples or tutorials of using libjpeg-turbo's TurboJPEG

The instructions for libjpeg-turbo here describes the TurboJPEG API thus: "This API wraps libjpeg-turbo and provides an easy-to-use interface for compressing and decompressing JPEG images in memory". Great, but are there some solid examples of using…
occulus
  • 16,959
  • 6
  • 53
  • 76
21
votes
1 answer

Docker Alpine - Enable GD JPEG support

I'm having a problem getting GD Jpeg support through the Alpine image for PHP-FPM. I've tried every combination I can think of to get this working. Below is a snippet from my Dockerfile: FROM php:7.1-fpm-alpine RUN apk update \ && apk upgrade…
maGz
  • 787
  • 3
  • 8
  • 25
20
votes
1 answer

jpegoptim vs jpegtran vs mozjpeg

I found two slightly conflicting blog posts on this matter, here I summarize: jpegoptim and jpegtran perform identically and produce identical results, while mozjpeg takes twice as long for very marginal filesize savings mozjpeg takes approx 1.7*…
davidtgq
  • 3,780
  • 10
  • 43
  • 80
20
votes
4 answers

libjpeg-turbo for android

I need libjpeg-turbo for android ndk. Did anyone managed to compile it as .a (static) lib? I have tried a few times, but it gave me a lot of errors only.
KoVadim
  • 707
  • 1
  • 7
  • 22
19
votes
3 answers

How to install libjpeg on OSX?

libjpeg or libjpeg-turbo are requirements for installing Pillow, which is a new requirement for storing images on django. So I need to install Pillow but that won't work until I get jpeg support which comes by way of packages called libjpeg or…
jeffery_the_wind
  • 17,048
  • 34
  • 98
  • 160
13
votes
2 answers

How to compile OpenCV with libjpeg-turbo?

I am using OpenCV 2.3.1 on OS X Lion in one of my C++ projects. While my project works great as-is, it depends heavily on JPEG decoding and encoding. I would like to gain a speedup by using libjpeg-turbo, but I cannot find the correct way to link…
kvaruni
  • 832
  • 1
  • 10
  • 20
9
votes
3 answers

What share of Android devices benefits from Libjpeg-turbo optimisations?

The libjpeg-turbo project "uses SIMD instructions (MMX, SSE2, NEON) to accelerate baseline JPEG compression and decompression on x86, x86-64, and ARM systems". What sort of share of the Android device space supports these instructions and hence…
occulus
  • 16,959
  • 6
  • 53
  • 76
6
votes
4 answers

Integration or build instructions for libjpeg-turbo on Android

Various pages can be found on the internet mentioning libjpeg-turbo for Android (example). They all point at the repository here, and say to read ANDROID.txt for build instructions. There's no such text file in the repository though. Is this…
occulus
  • 16,959
  • 6
  • 53
  • 76
6
votes
1 answer

How to write the modified exif in source image file (like JPEG, TIFF, PSD)?

I used libexif to read and modify the exif metadata in JPEG file. I am not sure on how to write/save the modified contents in the original source image file? Any ideas?? Thanks.
ext.dev
  • 121
  • 6
5
votes
2 answers

How can I correctly open/decode a jpeg image that has more than 65500 * 65500 pixels?

I'm trying to extract image content from a file generated by Hamamatsu NanoZoomer slide scanner. The NDPI file uses a modified TIFF structure and stores image content in one big chunk in JPEG format. Using StripOffsets and StripByteCounts, I'm able…
user3667217
  • 2,172
  • 2
  • 17
  • 29
5
votes
1 answer

Is it better to use jpeg_write_scanlines with multiple scanlines at once?

Using libjpeg (or libjpeg-turbo) to do JPEG encoding, I was wondering if there is any improvements providing multiple scanlines at once to the jpeg_write_scanlines function. I did some tests on 720x288 images, but I only get 0,5% increase when…
Adrien Clerc
  • 2,636
  • 1
  • 21
  • 26
4
votes
1 answer

How to fix "Could not find toolchain file" "CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage" cmake libjpeg-turbo.so?

I am working on generating libjpeg-turbo.so files for different CPU architectures. If I execute the below cmake in my build folder I am getting this error even though the toolchain file is present in that path: $ cmake -G"Unix Makefiles" \ …
Ingrid Cooper
  • 1,191
  • 3
  • 16
  • 27
4
votes
1 answer

How to use jpeglib-turbo with android ndk?

I am trying to use jpeglib-turbo with android ndk to get the pixel rgb values of a jpeg image, and i am new to both C++,C and android NDK, till now i've tried using the solutions provided in Examples or tutorials of using libjpeg-turbo's TurboJPEG…
Ankit Arora
  • 509
  • 2
  • 18
4
votes
1 answer

How to compress to memory with libjpeg-turbo using jpeg_mem_dest

I've tried following another answer but just can't seem to get this right. I have about 8MiB of RBGX bitmap to convert to a jpeg in memory using libjpeg-turbo. If I use jpeg_stdio_dest I can write the whole thing to a file, then read the file back…
Ryan Haining
  • 35,360
  • 15
  • 114
  • 174
4
votes
0 answers

What is the difference between JCS_RGB and JCS_EXT_RGB in libjpeg?

How is JCS_EXT_RGB different from JCS_RGB, and when should I use each?
frp
  • 1,119
  • 1
  • 10
  • 30
1
2 3 4 5 6 7