Re: [OpenWrt-Devel] [PATCH-v2] Libjpeg-turbo to replace libjpeg

2012-12-08 Thread Florian Fainelli
On Sunday 11 December 2011 17:13:34 Ian Leonard wrote:
> 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 
> > ---

Applied, without the part where we change all dependencies, so we can properly 
introduce an alternative later (pretty much like uClibc++ vs. libstdc++).
-- 
Florian
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH-v2] Libjpeg-turbo to replace libjpeg

2011-12-11 Thread Ian Leonard
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
 $(