package/libheif: new package

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Bernd Kuhls 2023-07-08 22:04:42 +02:00 committed by Thomas Petazzoni
parent ba451d691b
commit afb3000240
5 changed files with 79 additions and 0 deletions

View File

@ -380,6 +380,7 @@ F: package/libglew/
F: package/libglfw/
F: package/libglu/
F: package/libhdhomerun/
F: package/libheif/
F: package/libilbc/
F: package/libks/
F: package/libldns/

View File

@ -1845,6 +1845,7 @@ menu "Multimedia"
source "package/libdvdread/Config.in"
source "package/libebml/Config.in"
source "package/libhdhomerun/Config.in"
source "package/libheif/Config.in"
source "package/libimxvpuapi/Config.in"
source "package/libmatroska/Config.in"
source "package/libmms/Config.in"

15
package/libheif/Config.in Normal file
View File

@ -0,0 +1,15 @@
config BR2_PACKAGE_LIBHEIF
bool "libheif"
# avoid build error
# Internal error in emit_expr_encoded at dw2gencfi.c:215
depends on !BR2_m68k_cf
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
help
libheif is an HEIF and AVIF file format decoder and encoder.
https://github.com/strukturag/libheif
comment "libheif needs a toolchain w/ C++, gcc >= 4.8"
depends on !BR2_m68k_cf
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8

View File

@ -0,0 +1,3 @@
# Locally computed:
sha256 7f97e4205c0bd9f9b8560536c8bd2e841d1c9a6d610401eb3eb87ed9cdfe78ea libheif-1.16.2.tar.gz
sha256 b2eb4f6588b005bebac44cfb2dfd23f6a16c5ca9b8a619a315158b0215a917a3 COPYING

View File

@ -0,0 +1,59 @@
################################################################################
#
# libheif
#
################################################################################
LIBHEIF_VERSION = 1.16.2
LIBHEIF_SITE = https://github.com/strukturag/libheif/releases/download/v$(LIBHEIF_VERSION)
LIBHEIF_LICENSE = LGPL-3.0+
LIBHEIF_LICENSE_FILES = COPYING
LIBHEIF_INSTALL_STAGING = YES
LIBHEIF_CONF_OPTS = \
-DCMAKE_CXX_FLAGS="-std=c++11" \
-DENABLE_PLUGIN_LOADING=OFF \
-DWITH_AOM_DECODER=OFF \
-DWITH_AOM_ENCODER=OFF \
-DWITH_DEFLATE_HEADER_COMPRESSION=OFF \
-DWITH_EXAMPLES=OFF \
-DWITH_GDK_PIXBUF=OFF \
-DWITH_LIBSHARPYUV=OFF \
-DWITH_RAV1E=OFF \
-DWITH_REDUCED_VISIBILITY=ON \
-DWITH_SvtEnc=OFF
ifeq ($(BR2_PACKAGE_DAV1D),y)
LIBHEIF_CONF_OPTS += -DWITH_DAV1D=ON
LIBHEIF_DEPENDENCIES += dav1d
else
LIBHEIF_CONF_OPTS += -DWITH_DAV1D=OFF
endif
ifeq ($(BR2_PACKAGE_LIBDE265),y)
LIBHEIF_CONF_OPTS += -DWITH_LIBDE265=ON
LIBHEIF_DEPENDENCIES += libde265
else
LIBHEIF_CONF_OPTS += -DWITH_LIBDE265=OFF
endif
ifeq ($(BR2_PACKAGE_X265),y)
LIBHEIF_CONF_OPTS += -DWITH_X265=ON
LIBHEIF_DEPENDENCIES += x265
else
LIBHEIF_CONF_OPTS += -DWITH_X265=OFF
endif
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
LIBHEIF_CONF_OPTS += -DENABLE_MULTITHREADING_SUPPORT=ON
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_64735),y)
LIBHEIF_CONF_OPTS += -DENABLE_PARALLEL_TILE_DECODING=OFF
else
LIBHEIF_CONF_OPTS += -DENABLE_PARALLEL_TILE_DECODING=ON
endif
else
LIBHEIF_CONF_OPTS += \
-DENABLE_MULTITHREADING_SUPPORT=OFF \
-DENABLE_PARALLEL_TILE_DECODING=OFF
endif
$(eval $(cmake-package))