summaryrefslogtreecommitdiffstats
path: root/heif.patch
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2026-07-06 07:15:15 +0200
committerRemi Collet <remi@php.net>2026-07-06 07:15:15 +0200
commitf65b1ee4b76dd43290c20a6c1bd9146cdcdc627d (patch)
treef449bcd1492acde168cb409e2dc1033410737419 /heif.patch
parent4086b08ef70612eeb024f5cba37fcdbafc00e8df (diff)
update to version 7.1.2 patch level 27
drop patch merged upstream
Diffstat (limited to 'heif.patch')
-rw-r--r--heif.patch117
1 files changed, 117 insertions, 0 deletions
diff --git a/heif.patch b/heif.patch
new file mode 100644
index 0000000..0812295
--- /dev/null
+++ b/heif.patch
@@ -0,0 +1,117 @@
+From c893eb2386365afce7b43179c622b62fe88302d4 Mon Sep 17 00:00:00 2001
+From: Dirk Lemstra <dirk@lemstra.org>
+Date: Sat, 4 Jul 2026 10:06:57 +0200
+Subject: [PATCH] Require at least version 1.11.0 of the libheif library.
+
+---
+ coders/heic.c | 17 ++---------------
+ configure.ac | 2 +-
+ 2 files changed, 3 insertions(+), 16 deletions(-)
+
+diff --git a/coders/heic.c b/coders/heic.c
+index 449f0e1ff5d..d7cae5b29fc 100644
+--- a/coders/heic.c
++++ b/coders/heic.c
+@@ -87,7 +87,8 @@
+ #include <libheif/heif_sequences.h>
+ #endif
+ #endif
+-
++
++
+ #if defined(MAGICKCORE_HEIC_DELEGATE)
+ /*
+ Forward declarations.
+@@ -1034,10 +1035,8 @@ static Image *ReadHEICImage(const ImageInfo *image_info,ExceptionInfo *exception
+ #endif
+ ThrowReaderException(CoderError,"ImageTypeNotSupported");
+ (void) CloseBlob(image);
+-#if LIBHEIF_NUMERIC_VERSION >= HEIC_COMPUTE_NUMERIC_VERSION(1,11,0)
+ if (heif_has_compatible_brand(magic,sizeof(magic), "avif") == 1)
+ (void) CopyMagickString(image->magick,"AVIF",MagickPathExtent);
+-#endif
+ /*
+ Decode HEIF image.
+ */
+@@ -1250,7 +1249,6 @@ ModuleExport size_t RegisterHEICImage(void)
+ entry->flags|=CoderDecoderSeekableStreamFlag;
+ entry->flags^=CoderBlobSupportFlag;
+ (void) RegisterMagickInfo(entry);
+-#if LIBHEIF_NUMERIC_VERSION >= HEIC_COMPUTE_NUMERIC_VERSION(1,7,0)
+ entry=AcquireMagickInfo("HEIC","AVCI","AVC Image File Format");
+ #if defined(MAGICKCORE_HEIC_DELEGATE)
+ if (heif_have_decoder_for_format(heif_compression_AVC))
+@@ -1266,8 +1264,6 @@ ModuleExport size_t RegisterHEICImage(void)
+ entry->flags|=CoderDecoderSeekableStreamFlag;
+ entry->flags^=CoderBlobSupportFlag;
+ (void) RegisterMagickInfo(entry);
+-#endif
+-#if LIBHEIF_NUMERIC_VERSION >= HEIC_COMPUTE_NUMERIC_VERSION(1,7,0)
+ entry=AcquireMagickInfo("HEIC","AVIF","AV1 Image File Format");
+ #if defined(MAGICKCORE_HEIC_DELEGATE)
+ if (heif_have_decoder_for_format(heif_compression_AV1))
+@@ -1283,7 +1279,6 @@ ModuleExport size_t RegisterHEICImage(void)
+ entry->flags|=CoderDecoderSeekableStreamFlag;
+ entry->flags^=CoderBlobSupportFlag;
+ (void) RegisterMagickInfo(entry);
+-#endif
+ return(MagickImageCoderSignature);
+ }
+
+@@ -1308,9 +1303,7 @@ ModuleExport size_t RegisterHEICImage(void)
+ */
+ ModuleExport void UnregisterHEICImage(void)
+ {
+-#if LIBHEIF_NUMERIC_VERSION >= HEIC_COMPUTE_NUMERIC_VERSION(1,7,0)
+ (void) UnregisterMagickInfo("AVIF");
+-#endif
+ (void) UnregisterMagickInfo("HEIC");
+ (void) UnregisterMagickInfo("HEIF");
+ #if defined(MAGICKCORE_HEIC_DELEGATE)
+@@ -2357,9 +2350,7 @@ static MagickBooleanType WriteHEICImage(const ImageInfo *image_info,
+ Image *image,ExceptionInfo *exception)
+ {
+ MagickBooleanType
+-#if LIBHEIF_NUMERIC_VERSION >= HEIC_COMPUTE_NUMERIC_VERSION(1,7,0)
+ encode_avif,
+-#endif
+ status;
+
+ MagickOffsetType
+@@ -2391,10 +2382,8 @@ static MagickBooleanType WriteHEICImage(const ImageInfo *image_info,
+ return(status);
+ scene=0;
+ heif_context=heif_context_alloc();
+-#if LIBHEIF_NUMERIC_VERSION >= HEIC_COMPUTE_NUMERIC_VERSION(1,7,0)
+ encode_avif=(LocaleCompare(image_info->magick,"AVIF") == 0) ? MagickTrue :
+ MagickFalse;
+-#endif
+ #if LIBHEIF_NUMERIC_VERSION >= HEIC_COMPUTE_NUMERIC_VERSION(1,20,0)
+ if ((encode_avif != MagickFalse) && (image_info->adjoin != MagickFalse) &&
+ (GetNextImageInList(image) != (Image *) NULL))
+@@ -2457,12 +2446,10 @@ static MagickBooleanType WriteHEICImage(const ImageInfo *image_info,
+ /*
+ Get encoder for the specified format.
+ */
+-#if LIBHEIF_NUMERIC_VERSION >= HEIC_COMPUTE_NUMERIC_VERSION(1,7,0)
+ if (encode_avif != MagickFalse)
+ error=heif_context_get_encoder_for_format(heif_context,
+ heif_compression_AV1,&heif_encoder);
+ else
+-#endif
+ error=heif_context_get_encoder_for_format(heif_context,
+ heif_compression_HEVC,&heif_encoder);
+ if (IsHEIFSuccess(image,&error,exception) == MagickFalse)
+diff --git a/configure.ac b/configure.ac
+index 548268ea02e..3776989ef04 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2386,7 +2386,7 @@ HEIF_LIBS=""
+ HEIF_PKG=""
+ if test "x$with_heic" = "xyes"; then
+ AC_MSG_RESULT([-------------------------------------------------------------])
+- PKG_CHECK_MODULES([HEIF],[libheif >= 1.4.0],[have_heic=yes],[have_heic=no])
++ PKG_CHECK_MODULES([HEIF],[libheif >= 1.11.0],[have_heic=yes],[have_heic=no])
+ AC_MSG_RESULT([])
+ fi
+