From 8abf547919846941f429907b2f61aec6055760d0 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Thu, 21 Jun 2018 19:49:45 -0700 Subject: [PATCH] libjpeg-turbo: Add new package It's faster than regular libjpeg with ASM optimizations for various platforms. Tests with djpeg indicate that it's twice as fast. This is meant to replace the regular libjpeg. Signed-off-by: Rosen Penev --- libs/libjpeg-turbo/Makefile | 94 +++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 libs/libjpeg-turbo/Makefile diff --git a/libs/libjpeg-turbo/Makefile b/libs/libjpeg-turbo/Makefile new file mode 100644 index 000000000..67671227d --- /dev/null +++ b/libs/libjpeg-turbo/Makefile @@ -0,0 +1,94 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=libjpeg-turbo +PKG_VERSION:=2.0.5 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=@SF/$(PKG_NAME) +PKG_HASH:=16f8f6f2715b3a38ab562a84357c793dd56ae9899ce130563c72cd93d8357b5d + +PKG_MAINTAINER:=Rosen Penev +PKG_LICENSE:=BSD-3-Clause IJG zlib +PKG_LICENSE_FILES:=LICENSE.md + +PKG_USE_MIPS16:=0 #Allows ASM compilation for speed. +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk + +define Package/libjpeg-turbo/Default + TITLE:=libjpeg-turbo + URL:=https://www.libjpeg-turbo.org/ +endef + +define Package/libjpeg-turbo + $(call Package/libjpeg-turbo/Default) + SECTION:=libs + CATEGORY:=Libraries + TITLE+= runtime library + PROVIDES:=libjpeg +endef + +define Package/libjpeg-turbo-utils + $(call Package/libjpeg-turbo/Default) + SECTION:=utils + CATEGORY:=Utilities + SUBMENU:=Image Manipulation + DEPENDS:=+libjpeg-turbo + TITLE+= manipulation tools + PROVIDES:=jpeg-tools +endef + +define Package/libjpeg-turbo/description + libjpeg-turbo is a speed focused fork of libjpeg. +endef + +define Package/libjpeg-turbo-utils/description + These are the JPEG utilities that come with libjpeg-turbo. +endef + +CMAKE_OPTIONS += \ + -DENABLE_SHARED=ON \ + -DENABLE_STATIC=OFF \ + -DREQUIRE_SIMD=OFF \ + -DWITH_12BIT=OFF \ + -DWITH_ARITH_DEC=OFF \ + -DWITH_ARITH_ENC=OFF \ + -DWITH_JAVA=OFF \ + -DWITH_JPEG7=OFF \ + -DWITH_JPEG8=OFF \ + -DWITH_MEM_SRCDST=OFF \ + -DWITH_SIMD=O$(if $(findstring mips,$(CONFIG_ARCH)),FF,N) \ + -DWITH_TURBOJPEG=OFF + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/ + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libjpeg.so* $(1)/usr/lib/ + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig/ + $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libjpeg.pc + $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libjpeg.pc + $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libturbojpeg.pc + $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libturbojpeg.pc +endef + +define Package/libjpeg-turbo/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libjpeg.so* $(1)/usr/lib +endef + +define Package/libjpeg-turbo-utils/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rdjpgcom $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/wrjpgcom $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/cjpeg $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/djpeg $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/jpegtran $(1)/usr/bin +endef + +$(eval $(call BuildPackage,libjpeg-turbo)) +$(eval $(call BuildPackage,libjpeg-turbo-utils))