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
3
votes
1 answer

Can a high-performance jpeglib-turbo implmentation decompress/compress in <100ms?

I'm currently implementing a jpeg resizer in C++ using the jpeglib-turbo library. I've been given the target of 100 milli-seconds for JPEG decompression and recompression using the library. The best I can come up with using the recommended…
Kevin Colgan
  • 199
  • 2
  • 6
2
votes
0 answers

Using libjeg-turbo for Android in a single Android application

I'd like to use the Android fork of libjpeg-turbo for a stand-alone Android application, rather than integrating it into a build of Android itself (as described here). Can anyone point me at a guide or example of doing that?
occulus
  • 16,959
  • 6
  • 53
  • 76
2
votes
1 answer

How to check the libjpeg-turbo is built into opencv?

I download the opencv3.4.5 from github https://github.com/opencv/opencv/archive/3.4.5.zip. And the libjpeg-turbo is located at 3rdparty dir. And build it with -D WITH_JPEG=ON and -D BUILD_JPEG=ON added. I can check this in CMakeCache.txt. But i…
ping chang
  • 35
  • 1
  • 4
2
votes
1 answer

What's the difference between libjpeg.so.8 and libjpeg.so.62

There are always jpeg decoder libraries pre-installed on Linux…
tidy
  • 4,747
  • 9
  • 49
  • 89
2
votes
1 answer

pillow odd truncted jpg images behavior on the same image

I have the same image, one of them is the original one stored on my machine, another one uploaded to the azure blob storage and downloaded back to my local machine. Here is a piece of code (Python 3.6.3, Pillow-SIMD 4.3.0post0, libjpeg-turbo, ubuntu…
2
votes
1 answer

ndk-build *** multiple target patterns. Stop

I am trying to follow instructions on https://github.com/openstf/android-libjpeg-turbo and compile libjpeg-turbo library for android on Windows 10. I have installed android-ndk-r10e and use it as follows on that project to compile libjpeg-turbo for…
user1563721
  • 1,373
  • 3
  • 28
  • 46
2
votes
0 answers

Which JPG Optimization Method Does GTMetrix Use?

I am using jpegoptim with cronjob to optimize (even with lossy) my JPG formatted images. I use the following command find . -iname '*.jpg' -print0 | \ xargs -0 jpegoptim --max=90 --strip-all --preserve --totals But even, when I test with GTMetrix…
Lunatic Fnatic
  • 661
  • 2
  • 6
  • 17
2
votes
1 answer

libjpeg/libjpeg-turbo RGBA/32-bit int decompression

When using libjpeg to feed images into OpenCL, to be able to treat channels as normalized uint8's with CL_UNORM_INT8 (floats in the range [0.0, 1.0]), you can only feed it buffers with 4 channel components. This is problematic, because libjpeg only…
Bailey Parker
  • 15,599
  • 5
  • 53
  • 91
2
votes
1 answer

issues installing libjpeg for mac (macports)

I use a macbook (with Yosemite). I am quite new to macports. However, i need to install libjpeg (so i can use torch7 fully), but get this error When i try: sudo port install libjpeg-turbo result: ---> Computing dependencies for…
user3870045
  • 41
  • 1
  • 4
2
votes
1 answer

Android native linker wants file named libjpeg.so.62 specifically

I have a native library for my Android app that uses libjpeg-turbo. I am compiling the library and libjpeg-turbo using NDK. It all seems to be compiling and installing fine (I see all .so files on the phone in /data/data/com.company.app/lib ) and I…
Ian Butler
  • 107
  • 1
  • 9
2
votes
0 answers

TurboJpeg: No speed improvements

I'm on a 64-bit CentOS 6.4 machine. I have a simple benchmark that reads a JPEG into memory or writes a JPEG. I was previously using libjpeg. Now, I installed TurboJpeg, recompiled, and I see no performance improvement. I re-linked against…
JB_User
  • 3,117
  • 7
  • 31
  • 51
2
votes
4 answers

Android how to use libjpeg-turbo library through JNi example

I successfully build libjpeg-turbo with ndk-build thanks to this post: libjpeg-turbo for android I would like to get a native function like read_JPEG_file in the example.c of libjpeg-turbo to call from the Java code to use it for Android app. Could…
user1563721
  • 1,373
  • 3
  • 28
  • 46
1
vote
0 answers

Conversion from YCCK / CMYK to BGRA color space with libjpeg-turbo

I have a YCCK image on my input and I use libjpeg-turbo to first convert it to CMYK and then I manually convert CMYK to BGRA. I am doing this because I have read somewhere that direct conversion from YCCK to BGRA is not supported by…
NutCracker
  • 11,485
  • 4
  • 44
  • 68
1
vote
2 answers

libjpeg-turbo segmentation fault when writing scanlines to file c++

I have the following code running on windows 10 in QT Creator, I am trying to write rgb formatted data to a jpeg file using the libjpeg-turbo library #include #include void writeJpeg(const char *filename, std::vector
1
vote
0 answers

Using lossless read/write using libjpeg-turbo

I am trying to store and retrieve images using libjpeg-turbo, I have tried the following code but it leads to loss when I compare it against the initial image used. CompressSave() takes a cv::Mat which contains the image data which needs to be saved…
Deepak Kar
  • 21
  • 4