IJG libjpeg vs libjpeg-turbo
Jakub Bogusz
qboosh at pld-linux.org
Fri Jan 18 15:55:55 CET 2013
Looking for information about libjpeg-turbo API update wrt. libjpeg 9
I found this:
http://sourceforge.net/mailarchive/forum.php?thread_name=50E29F02.9060804%40users.sourceforge.net&forum_name=libjpeg-turbo-devel
It looks that libjpeg-turbo fully implements libjpeg features up to 6b,
with partial API/ABI emulation (not full implementation) up to 8b (not
even 8c as stated by Provides in libjpeg-turbo), unlikely to really
support API 9 or fully support libjpeg 7+ additions.
What to do now?
One solution could be to ship libjpeg-turbo as libjpeg.so.6 (or even
libjpeg.so.8, doesn't matter much) with development libjpeg.so symlink
(so by default we get SIMD-accelerated basic JPEG support) and ship
libjpeg 9 (as libjpeg.so.9) with different development symlink
(libjpeg9.so or maybe libjpeg-ijg.so).
Disadvantages:
- it needs identification of packages relying on libjpeg 7+
functionality and patching them to link with -ljpeg9
- symbol clashes when libraries using libjpeg-turbo and libjpeg9 meet
in common code space
Second solution: use IJG libjpeg 9 by default and libjpeg-turbo only
where needed (mostly mozilla products).
Disadvantage: no SIMD accelaration outside few applications
Other ideas?
--
Jakub Bogusz http://qboosh.pl/
More information about the pld-devel-en
mailing list