Browse Source

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 <rosenp@gmail.com>
lilik-openwrt-22.03
Rosen Penev 6 years ago
parent
commit
8abf547919
No known key found for this signature in database GPG Key ID: 36D31CFA845F0E3B
1 changed files with 94 additions and 0 deletions
  1. +94
    -0
      libs/libjpeg-turbo/Makefile

+ 94
- 0
libs/libjpeg-turbo/Makefile View File

@ -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))

Loading…
Cancel
Save