GraphicsMagick: ReadHEIFImage(): Call heif_init() and heif_deini...
GraphicsMagick Commits <[email protected]> Sun, 08 Oct 2023 19:42:40 -0500
| Newsgroups | gmane.comp.video.graphicsmagick.cvs |
|---|---|
| Message-ID | <mailman.7012.1696812170.1370.graphicsmagick-commit@lists.sourceforge.net> |
changeset ce194c7e588b in /hg/GraphicsMagick details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=ce194c7e588b summary: ReadHEIFImage(): Call heif_init() and heif_deinit() if they are available. diffstat: ChangeLog | 5 +++++ VisualMagick/installer/inc/version.isx | 4 ++-- coders/heif.c | 15 +++++++++++++++ configure | 12 ++++++++++++ configure.ac | 1 + magick/magick_config.h.in | 6 ++++++ magick/version.h | 4 ++-- www/Changelog.html | 7 +++++++ 8 files changed, 50 insertions(+), 4 deletions(-) diffs (141 lines): diff -r c9c18305caf2 -r ce194c7e588b ChangeLog --- a/ChangeLog Sun Oct 08 19:39:09 2023 -0500 +++ b/ChangeLog Sun Oct 08 19:42:38 2023 -0500 @@ -1,3 +1,8 @@ +2023-10-08 Bob Friesenhahn <[email protected]> + + * coders/heif.c (ReadHEIFImage): Call heif_init() and + heif_deinit() if they are available. + 2023-10-02 Fojtik Jaroslav <[email protected]> * coders/bmp.c: Emit error when ExportImagePixelArea fails. diff -r c9c18305caf2 -r ce194c7e588b VisualMagick/installer/inc/version.isx --- a/VisualMagick/installer/inc/version.isx Sun Oct 08 19:39:09 2023 -0500 +++ b/VisualMagick/installer/inc/version.isx Sun Oct 08 19:42:38 2023 -0500 @@ -10,5 +10,5 @@ #define public MagickPackageName "GraphicsMagick" #define public MagickPackageVersion "1.4" -#define public MagickPackageVersionAddendum ".020231002" -#define public MagickPackageReleaseDate "snapshot-20231002" +#define public MagickPackageVersionAddendum ".020231008" +#define public MagickPackageReleaseDate "snapshot-20231008" diff -r c9c18305caf2 -r ce194c7e588b coders/heif.c --- a/coders/heif.c Sun Oct 08 19:39:09 2023 -0500 +++ b/coders/heif.c Sun Oct 08 19:42:38 2023 -0500 @@ -39,6 +39,9 @@ #define HEIF_ENABLE_PROGRESS_MONITOR 0 #include <libheif/heif.h> +#ifdef HAVE_HEIF_INIT +static MagickBool heif_initialized = MagickFalse; +#endif /* ifdef HAVE_HEIF_INIT */ /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -492,6 +495,14 @@ assert(exception != (ExceptionInfo *) NULL); assert(exception->signature == MagickSignature); +#ifdef HAVE_HEIF_INIT + if (!heif_initialized) + { + heif_init(); + heif_initialized = MagickTrue; + } +#endif /* HAVE_HEIF_INIT */ + /* Open image file. */ @@ -836,5 +847,9 @@ (void) UnregisterMagickInfo("AVIF"); (void) UnregisterMagickInfo("HEIF"); (void) UnregisterMagickInfo("HEIC"); +#ifdef HAVE_HEIF_DEINIT + if (heif_initialized) + heif_deinit(); +#endif /* HAVE_HEIF_DEINIT */ #endif /* HasHEIF */ } diff -r c9c18305caf2 -r ce194c7e588b configure --- a/configure Sun Oct 08 19:39:09 2023 -0500 +++ b/configure Sun Oct 08 19:42:38 2023 -0500 @@ -27758,6 +27758,18 @@ failed=`expr $failed + 1` fi + for ac_func in heif_init heif_deinit +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if HEIF package is complete" >&5 $as_echo_n "checking if HEIF package is complete... " >&6; } if test $passed -gt 0 diff -r c9c18305caf2 -r ce194c7e588b configure.ac --- a/configure.ac Sun Oct 08 19:39:09 2023 -0500 +++ b/configure.ac Sun Oct 08 19:42:38 2023 -0500 @@ -2659,6 +2659,7 @@ # libheif that contains a avif codec. heif_libs="-lheif -lde265"]) AC_CHECK_LIB([heif],[heif_context_alloc],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[$heif_libs]) + AC_CHECK_FUNCS([heif_init heif_deinit]) AC_MSG_CHECKING([if HEIF package is complete]) if test $passed -gt 0 then diff -r c9c18305caf2 -r ce194c7e588b magick/magick_config.h.in --- a/magick/magick_config.h.in Sun Oct 08 19:39:09 2023 -0500 +++ b/magick/magick_config.h.in Sun Oct 08 19:42:38 2023 -0500 @@ -143,6 +143,12 @@ /* Define to 1 if you have the `getrlimit' function. */ #undef HAVE_GETRLIMIT +/* Define to 1 if you have the `heif_deinit' function. */ +#undef HAVE_HEIF_DEINIT + +/* Define to 1 if you have the `heif_init' function. */ +#undef HAVE_HEIF_INIT + /* Define to 1 if you have the <inttypes.h> header file. */ #undef HAVE_INTTYPES_H diff -r c9c18305caf2 -r ce194c7e588b magick/version.h --- a/magick/version.h Sun Oct 08 19:39:09 2023 -0500 +++ b/magick/version.h Sun Oct 08 19:42:38 2023 -0500 @@ -38,8 +38,8 @@ #define MagickLibVersion 0x272404 #define MagickLibVersionText "1.4" #define MagickLibVersionNumber 27,24,4 -#define MagickChangeDate "20231002" -#define MagickReleaseDate "snapshot-20231002" +#define MagickChangeDate "20231008" +#define MagickReleaseDate "snapshot-20231008" /* The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines diff -r c9c18305caf2 -r ce194c7e588b www/Changelog.html --- a/www/Changelog.html Sun Oct 08 19:39:09 2023 -0500 +++ b/www/Changelog.html Sun Oct 08 19:42:38 2023 -0500 @@ -37,6 +37,13 @@ </div> <div class="document"> +<p>2023-10-08 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li><p>coders/heif.c (ReadHEIFImage): Call heif_init() and +heif_deinit() if they are available.</p></li> +</ul> +</blockquote> <p>2023-10-02 Fojtik Jaroslav <<a class="reference external" href="mailto:JaFojtik%40yandex.com">JaFojtik<span>@</span>yandex<span>.</span>com</a>></p> <blockquote> <ul class="simple">