On 12/11/2011 05:07 PM, Ian Leonard wrote:
> This patch adds libjpeg-turbo 1.1.1 and adjusts all packages depending on
> libjpeg to instead depend on libjpeg-turbo. Packages built against the
> current jpeg-6gb in the tree will need to be rebuilt. If you want a drop-in
> replacement for the current tree, remove the "--with-jpeg8" line from the
> configure section.
>
> Libjpeg-turbo is a fork of jpeg-6b, which includes MMX, SSE and NEON
> acceleration and other performance enhancements. It is meant to be ABI/API
> compatible with the Independent JPEG Group's (IJG) jpeg implementation. Since
> its initial release, it also emulates jpeg 7 or 8, and has been adopted as
> the system jpeg library of Fedora, and an option in Gentoo.
>
> The SIMD acceleration provides a 2-4x speedup. On non-SIMD machines the
> enhancements provides up to a 25% improvement.
>
> Signed-off-by: Ian Leonard
> ---
> The Makefile disables SIMD support, as I believe the only platform OpenWRT
> supports them might be the Geode. I don't have one to test. Before enabling,
> an assembler will need to be added (nasm?).
>
> I have not checked the size in comparison to the IJG's jpeg or checked the
> performance improvements. Numbers above are as reported by the developer. I
> also have not checked the compatibility with every application I adjusted the
> dependencies for. It does work for me with minidlna and libgd.
>
> Testers welcome. After the New Year, my ability to work on this will be
> severely limited. If there is something extensive, someone else will need to
> invest the time in correcting it.
>
> Does OpenWRT wish to switch libjpeg providers? Is there a better way to
> replace libjpeg?
>
---
An unrelated change to FFmpeg was in the previous patch. Corrected one here.
---
Index: packages/utils/hplip/Makefile
===
--- packages/utils/hplip/Makefile (revision 29504)
+++ packages/utils/hplip/Makefile (working copy)
@@ -25,7 +25,7 @@
CATEGORY:=Utilities
TITLE:=HP Linux Imaging and Printing
URL:=http://sourceforge.net/projects/hplip/
- DEPENDS+=+libjpeg +libtiff +libusb +cups +sane-libs
+ DEPENDS+=+libjpeg-turbo +libtiff +libusb +cups +sane-libs
endef
define Package/hplip/description
Index: packages/utils/sane-backends/Makefile
===
--- packages/utils/sane-backends/Makefile (revision 29504)
+++ packages/utils/sane-backends/Makefile (working copy)
@@ -47,7 +47,7 @@
$(call Package/sane-backends/Default)
SECTION:=libs
CATEGORY:=Libraries
- DEPENDS:=+libjpeg +libtiff +libusb
+ DEPENDS:=+libjpeg-turbo +libtiff +libusb
TITLE+= (libraries)
endef
Index: packages/lang/python-imaging-library/Makefile
===
--- packages/lang/python-imaging-library/Makefile (revision 29504)
+++ packages/lang/python-imaging-library/Makefile (working copy)
@@ -27,7 +27,7 @@
SUBMENU:=Python
TITLE:=Python Imaging Library (PIL)
URL:=http://www.pythonware.com/products/pil/
- DEPENDS:=+python +libfreetype +libjpeg +zlib
+ DEPENDS:=+python +libfreetype +libjpeg-turbo +zlib
endef
define Package/python-imaging-library/description
Index: packages/net/cups/Makefile
===
--- packages/net/cups/Makefile (revision 29504)
+++ packages/net/cups/Makefile (working copy)
@@ -25,7 +25,7 @@
define Package/cups
SECTION:=net
CATEGORY:=Network
- DEPENDS:=+zlib +libpthread +libpng +libjpeg +libstdcpp
+ DEPENDS:=+zlib +libpthread +libpng +libjpeg-turbo +libstdcpp
TITLE:=Common UNIX Printing System
URL:=http://www.cups.org/
endef
Index: packages/net/vnc-reflector/Makefile
===
--- packages/net/vnc-reflector/Makefile (revision 29504)
+++ packages/net/vnc-reflector/Makefile (working copy)
@@ -22,7 +22,7 @@
define Package/vnc-reflector
SECTION:=net
CATEGORY:=Network
- DEPENDS:=+libjpeg +zlib
+ DEPENDS:=+libjpeg-turbo +zlib
TITLE:=VNC proxy for multiple clients
URL:=http://sourceforge.net/projects/vnc-reflector
endef
Index: packages/net/freeswitch/Makefile
===
--- packages/net/freeswitch/Makefile(revision 29504)
+++ packages/net/freeswitch/Makefile(working copy)
@@ -761,7 +761,7 @@
$(eval $(call BuildPlugin,snmp,Simple Network Management
Protocol,mod_snmp,,+libnetsnmp))
$(eval $(call BuildPlugin,snom,SNOM specific features,mod_snom,,))
$(eval $(call BuildPlugin,sofia,SIP,mod_sofia,,))
-$(eval $(call BuildPlugin,spandsp,Span DSP,mod_spandsp,,+libjpeg))
+$(eval $(call BuildPlugin,spandsp,Span DSP,mod_spandsp,,+libjpeg-turbo))
$(eval $(call BuildPlugin,speex,Speex codec,mod_speex,,))
$(eval $(call BuildPlugin,spidermonkey,JavaScript,mod_spidermonkey,,@BROKEN))
# fails in js
$(