1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
From 1b89b2b729238758a98c596c256a1d5753fa5670 Mon Sep 17 00:00:00 2001
From: Cristy <urban-warrior@imagemagick.org>
Date: Wed, 19 Jan 2022 18:40:35 -0500
Subject: [PATCH] AVIF is supported by the HEIC coder
---
coders/heic.c | 18 +++++++-----------
coders/miff.c | 4 ++--
coders/mpc.c | 7 +++----
3 files changed, 12 insertions(+), 17 deletions(-)
diff --git a/coders/heic.c b/coders/heic.c
index c17ec7848c..29c5fbc0a9 100644
--- a/coders/heic.c
+++ b/coders/heic.c
@@ -586,20 +586,16 @@ static Image *ReadHEICImage(const ImageInfo *image_info,
*/
static MagickBooleanType IsHEIC(const unsigned char *magick,const size_t length)
{
+#if defined(MAGICKCORE_HEIC_DELEGATE)
+ enum heif_filetype_result
+ heif_filetype;
+
if (length < 12)
return(MagickFalse);
- if (LocaleNCompare((const char *) magick+4,"ftyp",4) != 0)
- return(MagickFalse);
- if (LocaleNCompare((const char *) magick+8,"avif",4) == 0)
- return(MagickTrue);
- if (LocaleNCompare((const char *) magick+8,"heic",4) == 0)
- return(MagickTrue);
- if (LocaleNCompare((const char *) magick+8,"heix",4) == 0)
- return(MagickTrue);
- if (LocaleNCompare((const char *) magick+8,"mif1",4) == 0)
- return(MagickTrue);
- if (LocaleNCompare((const char *) magick+8,"msf1",4) == 0)
+ heif_filetype=heif_check_filetype(magick,(int) length);
+ if (heif_filetype == heif_filetype_yes_supported)
return(MagickTrue);
+#endif
return(MagickFalse);
}
|