Bug 8628 - Use libjpeg-turbo in place of libjpeg
Summary: Use libjpeg-turbo in place of libjpeg
Status: VERIFIED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: graphics (show other bugs)
Version: 2.0
Hardware: All Multiple
: Medium+ enhancement
Target Milestone: 2.1 M2
Assignee: Maxin B. John
QA Contact: Daniel Istrate
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2015-11-02 17:21 UTC by Paul Eggleton
Modified: 2016-02-16 15:52 UTC (History)
5 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Eggleton 2015-11-02 17:21:31 UTC
It seems most of the major Linux distributions have moved from libjpeg over to libjpeg-turbo, and not just for performance reasons.

http://www.libjpeg-turbo.org/Main/HomePage

There's a lengthy discussion over on the Debian mailing lists where they discussed their own move:
http://debian.2.n7.nabble.com/jpeg8-vs-jpeg-turbo-tt2921094.html

It may be about time for us to make this move ourselves. meta-oe has been maintaining a libjpeg-turbo recipe for some time now which could easily be pulled in to replace our existing libjpeg recipe.
Comment 1 Jussi Kukkonen 2015-11-03 08:51:49 UTC
+1, this is something I've been meaning to suggest.

One thing to note though: we currently have libjpeg 9a. This may have been a mistake in the first place but it's something we have to take into account.

My understanding of the situation:
* distros are largely on API version 6 (I believe both Fedora and Debian)
* jpeg-turbo can support 6 or 8 
* jpeg-turbo does not support 9 and never will (and we probably shouldn't do that either by default)

http://www.libjpeg-turbo.org/About/Jpeg-9


So if we move to jpeg-turbo, it seems we will "break" API. The question is, should we default to APIv6 like others or continue with 8 which would be closest to the current 9? This probably warrants a mailing list thread after release.

Alex: does webkit support both or just APIv8?
Comment 2 Paul Eggleton 2015-11-03 09:34:41 UTC
That is a good point. As you suggest I think the best course would be to put it out to the community on the mailing list and see what people think.
Comment 3 Alexander Kanavin 2015-11-03 12:53:30 UTC
I never investigated that, I simply updated jpeg together with webkit. Someone needs to swap one for the other and see what breaks.
Comment 4 Paul Eggleton 2015-11-03 13:01:51 UTC
I suspect nothing will, but of course we won't know for sure until it's tested.
Comment 5 Maxin B. John 2015-11-27 13:17:10 UTC
Sent RFC patch to oe-core:
http://lists.openembedded.org/pipermail/openembedded-core/2015-November/113459.html
Comment 6 Maxin B. John 2015-12-01 12:58:54 UTC
patch sent to oe-core mailing list:

http://lists.openembedded.org/pipermail/openembedded-core/2015-November/113516.html
Comment 8 Daniel Istrate 2016-02-16 15:52:20 UTC
Verified on master: 7a700f59d98ffe08714582532d3edb97abc2e33e

Steps:
1. $ bitbake -s | grep libjpeg
libjpeg-turbo                                    :8d+1.4.2-r0                          
libjpeg-turbo-native                             :8d+1.4.2-r0

No libjpeg recipe found, only libjpeg-turbo.