
Libjpeg-turbo - pykello
http://www.libjpeg-turbo.org/
======
mpweiher
I benchmarked libjpeg-turbo on iOS and Mac and it was significantly faster
than the built-in stuff (typically around 2-3x), which includes the hardware
decoder on iPhone.

~~~
dividuum
I did a few benchmarks on the Raspberry Pi a year ago and got similar results.
CPU decoding is a lot faster using libjpeg-turbo compared to using the
hardware jpeg decoder: [https://info-beamer.com/blog/omx-jpeg-decoding-
performance-v...](https://info-beamer.com/blog/omx-jpeg-decoding-performance-
vs-libjpeg-turbo)

------
scosman
Any context why this is suddenly trending? libjpeg-turbo is awesome, but
hardly new.

~~~
mynewtb
Sometimes I wish there was a package/library of the week. So many great
discussions to be had!

~~~
scurvy
This is something that the old freshmeat.net site would do. It was a great
place to see releases of software all in one place. I'm sad that it's gone.

------
cmiller1
>a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec)

Wow, it's been a long time since I heard anything about AltiVec.

~~~
TillE
The one real downside of Apple moving to Intel is that it's quite difficult to
get cheap-ish PowerPC hardware.

At least we have ubiquitous ARM now, if you want to test your code on non-x86
platforms.

------
devy
Honest questions: is this a complete re-implementation of libjpeg? (It was
mentioned that this was originally based off libjpeg/SIMD, a libjpeg v6b
fork.) If not, why can't this be backported to upstream libjpeg?

~~~
0x0
Upstream libjpeg after v6 has appeared a little... weird lately:
[https://github.com/LuaDist/libjpeg/blob/master/README#L353](https://github.com/LuaDist/libjpeg/blob/master/README#L353)

~~~
tinus_hn
Odd. This insanity is also present in the original source on
[http://www.ijg.org/](http://www.ijg.org/) .

------
rockdoe
If you need to save/encode images you really want mozjpeg instead.

~~~
ploxiln
... but if you want something that is fast, you probably want libjpeg-turbo

> When compared to baseline (the only mode that is fully accelerated in
> libjpeg-turbo), the combination of progressive JPEG, jpgcrush, and trellis
> quantization improved the compression ratio by 15-27% (average 20%) in our
> testing but increased encoding time by approximately 34-59x. More than half
> of the compression ratio improvement came from the use of progressive JPEG,
> which is supported in libjpeg-turbo as well. Decoding time was increased by
> anywhere from 17% to 3x, with most of this again being due to the use of
> progressive JPEG.

------
geofft
The libjpeg.so in Debian (from the current stable release onwards) and Ubuntu
is libjpeg-turbo.

~~~
loeg
Ditto FreeBSD, Fedora, and (probably) CentOS).

~~~
feld
FreeBSD only made it default throughout the ports tree somewhat recently.

~~~
loeg
A little over a year ago, yes:
[https://svnweb.freebsd.org/ports?view=revision&revision=r397...](https://svnweb.freebsd.org/ports?view=revision&revision=r397084)

------
gravypod
Is there a way to express SIMD in C? I'd expect that it's a solved problem.

