diff --git a/graphics/libheif/Makefile b/graphics/libheif/Makefile index 559bcc927bc1..b555fed97540 100644 --- a/graphics/libheif/Makefile +++ b/graphics/libheif/Makefile @@ -1,90 +1,90 @@ PORTNAME= libheif DISTVERSION= 1.21.2 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= graphics MASTER_SITES= https://github.com/strukturag/${PORTNAME}/releases/download/v${DISTVERSION}/ PATCH_SITES= https://github.com/strukturag/${PORTNAME}/commit/ PATCHFILES+= 61923302d12f.patch:-p1 # https://github.com/strukturag/libheif/pull/1680 PATCHFILES+= f9919e348689.patch:-p1 # https://github.com/strukturag/libheif/pull/1680 MAINTAINER= makc@FreeBSD.org COMMENT= ISO/IEC 23008-12:2017 HEIF file format de- and encoder WWW= https://github.com/strukturag/libheif LICENSE= LGPL3+ LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libsharpyuv.so:graphics/webp USES= cmake:testing compiler:c++20-lang cpe gettext-runtime gnome \ localbase:ldflags pathfix pkgconfig CPE_VENDOR= struktur USE_GNOME= gdkpixbuf glib20 USE_LDCONFIG= yes PLIST_SUB= LIB_VER=${DISTVERSION} CMAKE_OFF= BUILD_TESTING \ WITH_KVAZAAR \ WITH_UVG266 \ WITH_VVDEC \ WITH_VVENC \ CMAKE_COMPILE_WARNING_AS_ERROR CMAKE_ON= CMAKE_DISABLE_FIND_PACKAGE_Doxygen OPTIONS_DEFINE= AOM DAV1D EXAMPLES FFMPEG JPEG LIBDE265 OPENH264 \ OPENJPEG OPENJPH SVTAV1 RAV1E X265 OPTIONS_DEFAULT=AOM DAV1D FFMPEG JPEG OPENH264 OPENJPEG OPENJPH SVTAV1 X265 OPTIONS_SUB= yes AOM_DESC= AV1 encoding/decoding via libaom FFMPEG_DESC= Use FFmpeg (support for HEVC decoding) DAV1D_DESC= Build dav1e decoder LIBDE265_DESC= Use libde265 (support for HEVC decoding) OPENH264_DESC= AVC decoding via OpenH264 OPENJPH_DESC= HT-J2K encoding via OpenJPH SVTAV1_DESC= Build svt-av1 encoder RAV1E_DESC= Build rav1e encoder X265_DESC= Use x265 (support for HEVC encoding) AOM_LIB_DEPENDS= libaom.so:multimedia/aom AOM_CMAKE_BOOL= WITH_AOM_ENCODER WITH_AOM_DECODER DAV1D_LIB_DEPENDS= libdav1d.so:multimedia/dav1d DAV1D_CMAKE_BOOL= WITH_DAV1D EXAMPLES_LIB_DEPENDS= libpng16.so:graphics/png \ libtiff.so:graphics/tiff EXAMPLES_USES= sdl EXAMPLES_USE= SDL=sdl2 EXAMPLES_CMAKE_BOOL= WITH_EXAMPLES EXAMPLE_IMPLIES= JPEG FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg FFMPEG_CMAKE_BOOL= WITH_FFMPEG_DECODER JPEG_USES= jpeg JPEG_CMAKE_BOOL= WITH_JPEG_ENCODER WITH_JPEG_DECODER LIBDE265_LIB_DEPENDS= libde265.so:multimedia/libde265 LIBDE265_CMAKE_BOOL= WITH_LIBDE265 OPENH264_LIB_DEPENDS= libopenh264.so:multimedia/openh264 OPENH264_CMAKE_BOOL= WITH_OpenH264_DECODER OPENJPEG_LIB_DEPENDS= libopenjp2.so:graphics/openjpeg OPENJPEG_CMAKE_BOOL= WITH_OpenJPEG_ENCODER WITH_OpenJPEG_DECODER OPENJPH_LIB_DEPENDS= libopenjph.so:graphics/openjph OPENJPH_CMAKE_BOOL= WITH_OPENJPH_ENCODER WITH_OPENJPH_DECODER SVTAV1_LIB_DEPENDS= libSvtAv1Enc.so:multimedia/svt-av1 SVTAV1_CMAKE_BOOL= WITH_SvtEnc RAV1E_LIB_DEPENDS= librav1e.so:multimedia/librav1e RAV1E_CMAKE_BOOL= WITH_RAV1E X265_LIB_DEPENDS= libx265.so:multimedia/x265 X265_CMAKE_BOOL= WITH_X265 .include diff --git a/graphics/libheif/files/patch-svt-av1-4.1 b/graphics/libheif/files/patch-svt-av1-4.1 new file mode 100644 index 000000000000..62f15cbe3e51 --- /dev/null +++ b/graphics/libheif/files/patch-svt-av1-4.1 @@ -0,0 +1,25 @@ +https://github.com/strukturag/libheif/pull/1680#issuecomment-4117142244 + +--- libheif/plugins/encoder_svt.cc.orig 2026-01-16 08:03:07 UTC ++++ libheif/plugins/encoder_svt.cc +@@ -838,7 +838,19 @@ static heif_error svt_start_sequence_encoding_intern(v + // svt_config.force_key_frames = true; TODO: this does not seem to work (see all [1]) + + #if 1 +-#if SVT_AV1_CHECK_VERSION(4, 0, 0) ++#if SVT_AV1_CHECK_VERSION(4, 1, 0) ++ switch (options->gop_structure) { ++ case heif_sequence_gop_structure_intra_only: ++ //svt_config.pred_structure = PredStructure::LOW_DELAY; ++ break; ++ case heif_sequence_gop_structure_lowdelay: ++ //svt_config.pred_structure = PredStructure::LOW_DELAY; ++ break; ++ case heif_sequence_gop_structure_unrestricted: ++ svt_config.pred_structure = PredStructure::RANDOM_ACCESS; ++ break; ++ } ++#elif SVT_AV1_CHECK_VERSION(4, 0, 0) + switch (options->gop_structure) { + case heif_sequence_gop_structure_intra_only: + //svt_config.pred_structure = 1; // LOW_DELAY