Skip to content

Commit

Permalink
libjpeg-turbo: Add new package
Browse files Browse the repository at this point in the history
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 <rosenp@gmail.com>
  • Loading branch information
neheb committed Aug 1, 2020
1 parent 73d6ad6 commit 8abf547
Showing 1 changed file with 94 additions and 0 deletions.
94 changes: 94 additions & 0 deletions libs/libjpeg-turbo/Makefile
Original file line number Diff line number Diff line change
@@ -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 <rosenp@gmail.com>
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))

0 comments on commit 8abf547

Please sign in to comment.