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 <antonla...@gmail.com> > --- > 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 $(eval $(call BuildPlugin,spidermonkey-core_db,JavaScript DB,mod_spidermonkey_core_db,,@BROKEN)) Index: packages/libs/tiff/Makefile =================================================================== --- packages/libs/tiff/Makefile (revision 29504) +++ packages/libs/tiff/Makefile (working copy) @@ -35,7 +35,7 @@ SECTION:=libs CATEGORY:=Libraries TITLE+= library - DEPENDS:=+zlib +libjpeg + DEPENDS:=+zlib +libjpeg-turbo endef define Package/libtiffxx Index: packages/libs/vips/Makefile =================================================================== --- packages/libs/vips/Makefile (revision 29504) +++ packages/libs/vips/Makefile (working copy) @@ -27,7 +27,7 @@ CATEGORY:=Multimedia TITLE:=An image manipulation library URL:=http://www.vips.ecs.soton.ac.uk/ - DEPENDS:=+glib2 +libexif +libjpeg +libpng +libxml2 $(INTL_DEPENDS) + DEPENDS:=+glib2 +libexif +libjpeg-turbo +libpng +libxml2 $(INTL_DEPENDS) endef TARGET_LDFLAGS+= \ Index: packages/libs/libdirectfb/Makefile =================================================================== --- packages/libs/libdirectfb/Makefile (revision 29504) +++ packages/libs/libdirectfb/Makefile (working copy) @@ -25,7 +25,7 @@ SECTION:=libs CATEGORY:=Libraries URL:=http://directfb.org - DEPENDS:=+libpng +libjpeg +libpthread +libfreetype + DEPENDS:=+libpng +libjpeg-turbo +libpthread +libfreetype endef define Package/directfb/description Index: packages/libs/gd/Makefile =================================================================== --- packages/libs/gd/Makefile (revision 29504) +++ packages/libs/gd/Makefile (working copy) @@ -25,7 +25,7 @@ define Package/libgd SECTION:=libs CATEGORY:=Libraries - DEPENDS:=+libjpeg +libpng + DEPENDS:=+libjpeg-turbo +libpng TITLE:=The GD graphics library URL:=http://www.libgd.org/ endef Index: packages/libs/libjpeg-turbo/Makefile =================================================================== --- packages/libs/libjpeg-turbo/Makefile (revision 0) +++ packages/libs/libjpeg-turbo/Makefile (revision 0) @@ -0,0 +1,82 @@ +# +# Copyright (C) 20011 OpenWrt.org +# +# This is free software, licensed under the wxWindows Library Licence, Version 3.1. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=libjpeg-turbo +PKG_VERSION:=1.1.1 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=@SF/libjpeg-turbo +PKG_MD5SUM:=03b9c1406c7bfdc204313c2917ce6962 + +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/host-build.mk +include $(INCLUDE_DIR)/package.mk + +define Package/libjpeg-turbo/Default + TITLE:=Fork of libjpeg with performance improvements + URL:=http://libjpeg-turbo.virtualgl.org/ +endef + +define Package/libjpeg-turbo + $(call Package/libjpeg-turbo/Default) + SECTION:=libs + CATEGORY:=Libraries + TITLE+= runtime library +endef + +define Package/jpeg-tools + $(call Package/libjpeg-turbo/Default) + SECTION:=utils + CATEGORY:=Utilities + DEPENDS:=+libjpeg-turbo + TITLE+= manipulation tools +endef + +TARGET_CFLAGS += $(FPIC) + +CONFIGURE_ARGS += \ + --enable-shared \ + --enable-static \ + --with-jpeg8 \ + --without-simd \ + +# +# libjpegturbo.{a,so} provides the TurboJPEG/OSS interface. +# No known use in OpenWRT at this time. 14/11/11 +# + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_BUILD_DIR)/jpeglib.h $(1)/usr/include/ + $(CP) $(PKG_BUILD_DIR)/jpegint.h $(1)/usr/include/ + $(CP) $(PKG_BUILD_DIR)/j{config,error,morecfg}.h $(1)/usr/include/ + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_BUILD_DIR)/.libs/libjpeg.{a,so*} $(1)/usr/lib/ +# $(CP) $(PKG_BUILD_DIR)/.libs/libturbojpeg.{a,so*} $(1)/usr/lib/ +endef + +define Package/libjpeg-turbo/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_BUILD_DIR)/.libs/libjpeg.{a,so*} $(1)/usr/lib/ +# $(CP) $(PKG_BUILD_DIR)/.libs/libturbojpeg.{a,so*} $(1)/usr/lib/ +endef + +define Package/jpeg-tools/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/.libs/{c,d}jpeg $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/.libs/jpeg{tran,gut} $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/.libs/{rd,wr}jpgcom $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/.libs/jpgtest $(1)/usr/bin/ +endef + +$(eval $(call HostBuild)) +$(eval $(call BuildPackage,libjpeg-turbo)) +$(eval $(call BuildPackage,jpeg-tools)) Index: packages/libs/libtwin/Makefile =================================================================== --- packages/libs/libtwin/Makefile (revision 29504) +++ packages/libs/libtwin/Makefile (working copy) @@ -23,7 +23,7 @@ define Package/libtwin SECTION:=libs CATEGORY:=Libraries - DEPENDS:=+zlib +libpng +libjpeg +libfreetype + DEPENDS:=+zlib +libpng +libjpeg-turbo +libfreetype TITLE:=The tiny windowing system library URL:=http://ozlabs.org/~jk/projects/petitboot/ MAINTAINER:=Geoff Levand <geoffrey.lev...@am.sony.com> Index: packages/libs/libgphoto2/Makefile =================================================================== --- packages/libs/libgphoto2/Makefile (revision 29504) +++ packages/libs/libgphoto2/Makefile (working copy) @@ -30,7 +30,7 @@ define Package/libgphoto2 $(call Package/libgphoto2/Default) - DEPENDS:=+libusb +libexif +libjpeg +libpthread +libltdl $(ICONV_DEPENDS) + DEPENDS:=+libusb +libexif +libjpeg-turbo +libpthread +libltdl $(ICONV_DEPENDS) TITLE:=The basic library of the gphoto2 program. MENU:=1 endef Index: packages/libs/leptonica/Makefile =================================================================== --- packages/libs/leptonica/Makefile (revision 29504) +++ packages/libs/leptonica/Makefile (working copy) @@ -25,7 +25,7 @@ CATEGORY:=Libraries TITLE:=A library for efficient image processing and image analysis operations URL:=http://leptonica.googlecode.com/ - DEPENDS:=+giflib +libjpeg +libpng +libtiff +zlib + DEPENDS:=+giflib +libjpeg-turbo +libpng +libtiff +zlib endef TARGET_CFLAGS += $(FPIC) Index: packages/multimedia/imagemagick/Makefile =================================================================== --- packages/multimedia/imagemagick/Makefile (revision 29504) +++ packages/multimedia/imagemagick/Makefile (working copy) @@ -42,7 +42,7 @@ define Package/imagemagick-jpeg $(call Package/imagemagick/Default) TITLE+= (jpeg) - DEPENDS:=+imagemagick +libjpeg +zlib + DEPENDS:=+imagemagick +libjpeg-turbo +zlib endef define Package/imagemagick-jpeg/description Index: packages/multimedia/motion/Makefile =================================================================== --- packages/multimedia/motion/Makefile (revision 29504) +++ packages/multimedia/motion/Makefile (working copy) @@ -23,7 +23,7 @@ define Package/motion SECTION:=multimedia CATEGORY:=Multimedia - DEPENDS:=+libjpeg +libpthread + DEPENDS:=+libjpeg-turbo +libpthread TITLE:=webcam motion sensing and logging URL:=http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome endef Index: packages/multimedia/kissdx/Makefile =================================================================== --- packages/multimedia/kissdx/Makefile (revision 29504) +++ packages/multimedia/kissdx/Makefile (working copy) @@ -23,7 +23,7 @@ define Package/kissdx SECTION:=multimedia CATEGORY:=Multimedia - DEPENDS:=+libjpeg +libdvdread $(ICONV_DEPENDS) + DEPENDS:=+libjpeg-turbo +libdvdread $(ICONV_DEPENDS) TITLE:=PC-Link clone for KiSS media players URL:=http://kissdx.vidartysse.net endef Index: packages/multimedia/minidlna/Makefile =================================================================== --- packages/multimedia/minidlna/Makefile (revision 29504) +++ packages/multimedia/minidlna/Makefile (working copy) @@ -26,7 +26,7 @@ CATEGORY:=Multimedia TITLE:=UPnP A/V & DLNA Media Server URL:=http://minidlna.sourceforge.net/ - DEPENDS:= +libpthread +libexif +libjpeg +libsqlite3 +libffmpeg \ + DEPENDS:= +libpthread +libexif +libjpeg-turbo +libsqlite3 +libffmpeg \ +libid3tag +libflac +libvorbis +libuuid \ $(ICONV_DEPENDS) $(INTL_DEPENDS) endef Index: packages/multimedia/palantir/Makefile =================================================================== --- packages/multimedia/palantir/Makefile (revision 29504) +++ packages/multimedia/palantir/Makefile (working copy) @@ -15,12 +15,12 @@ PKG_SOURCE_URL:=http://www.fastpath.it/products/palantir/pub/ PKG_MD5SUM:=3a5b1fb340857f6d8e357bf39b77583e -PKG_BUILD_DEPENDS:=libjpeg +PKG_BUILD_DEPENDS:=libjpeg-turbo define Package/palantir SECTION:=multimedia CATEGORY:=Multimedia - DEPENDS:=+libjpeg +libpthread + DEPENDS:=+libjpeg-turbo +libpthread TITLE:=A multichannel interactive streaming solution URL:=http://www.fastpath.it/products/palantir/ endef Index: packages/multimedia/graphicsmagick/Makefile =================================================================== --- packages/multimedia/graphicsmagick/Makefile (revision 29504) +++ packages/multimedia/graphicsmagick/Makefile (working copy) @@ -40,7 +40,7 @@ define Package/GraphicsMagick-jpeg $(call Package/GraphicsMagick/Default) TITLE+= (jpeg) - DEPENDS:=+GraphicsMagick +libjpeg +zlib + DEPENDS:=+GraphicsMagick +libjpeg-turbo +zlib endef define Package/GraphicsMagick-jpeg/description Index: packages/multimedia/mjpg-streamer/Makefile =================================================================== --- packages/multimedia/mjpg-streamer/Makefile (revision 29504) +++ packages/multimedia/mjpg-streamer/Makefile (working copy) @@ -24,7 +24,7 @@ SECTION:=multimedia CATEGORY:=Multimedia TITLE:=MJPG-streamer - DEPENDS:=+libpthread +libjpeg + DEPENDS:=+libpthread +libjpeg-turbo URL:=http://mjpg-streamer.wiki.sourceforge.net/ endef _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel