From 9e7b981d82c440d88d4439e7258169c6f9aa38a4 Mon Sep 17 00:00:00 2001 From: Cristy Date: Sun, 19 Nov 2017 09:35:36 -0500 Subject: [PATCH] Add framework for future support of HEIC image format --- MagickCore/magic.c | 1 + MagickCore/static.c | 6 + MagickCore/static.h | 2 + Makefile.in | 267 ++++++++++++++++++++++++++------------------ coders/Makefile.am | 13 +++ coders/heic.c | 211 ++++++++++++++++++++++++++++++++++ config/config.h.in | 3 + configure | 140 ++++++++++++++++++++++- configure.ac | 40 ++++++- 9 files changed, 569 insertions(+), 114 deletions(-) create mode 100644 coders/heic.c diff --git a/MagickCore/magic.c b/MagickCore/magic.c index 6b92b54cf..c924a55f7 100644 --- a/MagickCore/magic.c +++ b/MagickCore/magic.c @@ -128,6 +128,7 @@ static const MagicMapInfo { "HDF", 1, MagicPattern("HDF") }, { "HDR", 0, MagicPattern("#?RADIANCE") }, { "HDR", 0, MagicPattern("#?RGBE") }, + { "HEIC", 8, MagicPattern("heic") }, { "HPGL", 0, MagicPattern("IN;") }, { "HTML", 1, MagicPattern("HTML") }, { "HTML", 1, MagicPattern("html") }, diff --git a/MagickCore/static.c b/MagickCore/static.c index 770c7e0d0..932f12a66 100644 --- a/MagickCore/static.c +++ b/MagickCore/static.c @@ -219,6 +219,9 @@ MagickExport void RegisterStaticModules(void) (void) RegisterGRADIENTImage(); (void) RegisterHALDImage(); (void) RegisterHDRImage(); +#if defined(MAGICKCORE_HEIC_DELEGATE) + (void) RegisterHEICImage(); +#endif (void) RegisterHISTOGRAMImage(); (void) RegisterHRZImage(); (void) RegisterHTMLImage(); @@ -407,6 +410,9 @@ MagickExport void UnregisterStaticModules(void) UnregisterGRADIENTImage(); UnregisterHALDImage(); UnregisterHDRImage(); +#if defined(MAGICKCORE_HEIC_DELEGATE) + UnregisterHEICImage(); +#endif UnregisterHISTOGRAMImage(); UnregisterHRZImage(); UnregisterHTMLImage(); diff --git a/MagickCore/static.h b/MagickCore/static.h index f37f865a8..d9bdff102 100644 --- a/MagickCore/static.h +++ b/MagickCore/static.h @@ -74,6 +74,7 @@ extern ModuleExport size_t RegisterGRAYImage(void), RegisterHALDImage(void), RegisterHDRImage(void), + RegisterHEICImage(void), RegisterHImage(void), RegisterHISTOGRAMImage(void), RegisterHRZImage(void), @@ -237,6 +238,7 @@ extern ModuleExport void UnregisterGRAYImage(void), UnregisterHALDImage(void), UnregisterHDRImage(void), + UnregisterHEICImage(void), UnregisterHImage(void), UnregisterHISTOGRAMImage(void), UnregisterHRZImage(void), diff --git a/Makefile.in b/Makefile.in index f58fa02c3..b5292e987 100644 --- a/Makefile.in +++ b/Makefile.in @@ -524,9 +524,9 @@ am__MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_SOURC coders/xpm.c coders/xps.c coders/xtrn.c coders/ycbcr.c \ coders/yuv.c coders/dps.c coders/djvu.c coders/exr.c \ coders/flif.c coders/fpx.c coders/clipboard.c coders/emf.c \ - coders/jbig.c coders/jpeg.c coders/jp2.c coders/png.c \ - coders/ept.c coders/tiff.c coders/webp.c coders/wmf.c \ - coders/x.c coders/xwd.c filters/analyze.c + coders/heic.c coders/jbig.c coders/jpeg.c coders/jp2.c \ + coders/png.c coders/ept.c coders/tiff.c coders/webp.c \ + coders/wmf.c coders/x.c coders/xwd.c filters/analyze.c am__objects_1 = MagickCore/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-accelerate.lo \ MagickCore/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-animate.lo \ MagickCore/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-annotate.lo \ @@ -628,17 +628,18 @@ am__objects_1 = MagickCore/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGI @FPX_DELEGATE_TRUE@am__objects_7 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-fpx.lo @WINGDI32_DELEGATE_TRUE@am__objects_8 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-clipboard.lo \ @WINGDI32_DELEGATE_TRUE@ coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-emf.lo -@JBIG_DELEGATE_TRUE@am__objects_9 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-jbig.lo -@JPEG_DELEGATE_TRUE@am__objects_10 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-jpeg.lo -@LIBOPENJP2_DELEGATE_TRUE@am__objects_11 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-jp2.lo -@PNG_DELEGATE_TRUE@am__objects_12 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-png.lo -@TIFF_DELEGATE_TRUE@am__objects_13 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-ept.lo \ +@HEIC_DELEGATE_TRUE@am__objects_9 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-heic.lo +@JBIG_DELEGATE_TRUE@am__objects_10 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-jbig.lo +@JPEG_DELEGATE_TRUE@am__objects_11 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-jpeg.lo +@LIBOPENJP2_DELEGATE_TRUE@am__objects_12 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-jp2.lo +@PNG_DELEGATE_TRUE@am__objects_13 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-png.lo +@TIFF_DELEGATE_TRUE@am__objects_14 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-ept.lo \ @TIFF_DELEGATE_TRUE@ coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-tiff.lo -@WEBP_DELEGATE_TRUE@am__objects_14 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-webp.lo -@WMF_DELEGATE_TRUE@am__objects_15 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-wmf.lo -@X11_DELEGATE_TRUE@am__objects_16 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-x.lo \ +@WEBP_DELEGATE_TRUE@am__objects_15 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-webp.lo +@WMF_DELEGATE_TRUE@am__objects_16 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-wmf.lo +@X11_DELEGATE_TRUE@am__objects_17 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-x.lo \ @X11_DELEGATE_TRUE@ coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-xwd.lo -am__objects_17 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-aai.lo \ +am__objects_18 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-aai.lo \ coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-art.lo \ coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-avs.lo \ coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-bgr.lo \ @@ -753,11 +754,11 @@ am__objects_17 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ $(am__objects_6) $(am__objects_7) $(am__objects_8) \ $(am__objects_9) $(am__objects_10) $(am__objects_11) \ $(am__objects_12) $(am__objects_13) $(am__objects_14) \ - $(am__objects_15) $(am__objects_16) -am__objects_18 = filters/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-analyze.lo + $(am__objects_15) $(am__objects_16) $(am__objects_17) +am__objects_19 = filters/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-analyze.lo @WITH_MODULES_FALSE@am_MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_OBJECTS = \ @WITH_MODULES_FALSE@ $(am__objects_1) $(am__objects_2) \ -@WITH_MODULES_FALSE@ $(am__objects_17) $(am__objects_18) +@WITH_MODULES_FALSE@ $(am__objects_18) $(am__objects_19) @WITH_MODULES_TRUE@am_MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_OBJECTS = \ @WITH_MODULES_TRUE@ $(am__objects_1) $(am__objects_2) MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_OBJECTS = $(am_MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_OBJECTS) @@ -769,7 +770,7 @@ MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_LINK = \ MagickWand_libMagickWand_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_DEPENDENCIES = \ $(MAGICKCORE_LIBS) $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) -am__objects_19 = MagickWand/MagickWand_libMagickWand_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-animate.lo \ +am__objects_20 = MagickWand/MagickWand_libMagickWand_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-animate.lo \ MagickWand/MagickWand_libMagickWand_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-compare.lo \ MagickWand/MagickWand_libMagickWand_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-composite.lo \ MagickWand/MagickWand_libMagickWand_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-conjure.lo \ @@ -794,7 +795,7 @@ am__objects_19 = MagickWand/MagickWand_libMagickWand_@MAGICK_MAJOR_VERSION@_@MAG MagickWand/MagickWand_libMagickWand_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-wandcli.lo \ MagickWand/MagickWand_libMagickWand_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-wand-view.lo am_MagickWand_libMagickWand_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_OBJECTS = \ - $(am__objects_19) + $(am__objects_20) MagickWand_libMagickWand_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_OBJECTS = $(am_MagickWand_libMagickWand_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_OBJECTS) MagickWand_libMagickWand_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_LINK = \ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ @@ -1083,6 +1084,15 @@ coders_hdr_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(coders_hdr_la_LDFLAGS) $(LDFLAGS) -o $@ @WITH_MODULES_TRUE@am_coders_hdr_la_rpath = -rpath $(codersdir) +coders_heic_la_DEPENDENCIES = $(MAGICKCORE_LIBS) $(am__DEPENDENCIES_1) +am_coders_heic_la_OBJECTS = coders/coders_heic_la-heic.lo +coders_heic_la_OBJECTS = $(am_coders_heic_la_OBJECTS) +coders_heic_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(AM_CFLAGS) $(CFLAGS) $(coders_heic_la_LDFLAGS) $(LDFLAGS) -o \ + $@ +@HEIC_DELEGATE_TRUE@@WITH_MODULES_TRUE@am_coders_heic_la_rpath = \ +@HEIC_DELEGATE_TRUE@@WITH_MODULES_TRUE@ -rpath $(codersdir) coders_histogram_la_DEPENDENCIES = $(MAGICKCORE_LIBS) \ $(am__DEPENDENCIES_1) am_coders_histogram_la_OBJECTS = \ @@ -2032,53 +2042,53 @@ SOURCES = $(Magick___lib_libMagick___@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_ $(coders_fpx_la_SOURCES) $(coders_gif_la_SOURCES) \ $(coders_gradient_la_SOURCES) $(coders_gray_la_SOURCES) \ $(coders_hald_la_SOURCES) $(coders_hdr_la_SOURCES) \ - $(coders_histogram_la_SOURCES) $(coders_hrz_la_SOURCES) \ - $(coders_html_la_SOURCES) $(coders_icon_la_SOURCES) \ - $(coders_info_la_SOURCES) $(coders_inline_la_SOURCES) \ - $(coders_ipl_la_SOURCES) $(coders_jbig_la_SOURCES) \ - $(coders_jnx_la_SOURCES) $(coders_jp2_la_SOURCES) \ - $(coders_jpeg_la_SOURCES) $(coders_json_la_SOURCES) \ - $(coders_label_la_SOURCES) $(coders_mac_la_SOURCES) \ - $(coders_magick_la_SOURCES) $(coders_map_la_SOURCES) \ - $(coders_mask_la_SOURCES) $(coders_mat_la_SOURCES) \ - $(coders_matte_la_SOURCES) $(coders_meta_la_SOURCES) \ - $(coders_miff_la_SOURCES) $(coders_mono_la_SOURCES) \ - $(coders_mpc_la_SOURCES) $(coders_mpeg_la_SOURCES) \ - $(coders_mpr_la_SOURCES) $(coders_msl_la_SOURCES) \ - $(coders_mtv_la_SOURCES) $(coders_mvg_la_SOURCES) \ - $(coders_null_la_SOURCES) $(coders_otb_la_SOURCES) \ - $(coders_palm_la_SOURCES) $(coders_pango_la_SOURCES) \ - $(coders_pattern_la_SOURCES) $(coders_pcd_la_SOURCES) \ - $(coders_pcl_la_SOURCES) $(coders_pcx_la_SOURCES) \ - $(coders_pdb_la_SOURCES) $(coders_pdf_la_SOURCES) \ - $(coders_pes_la_SOURCES) $(coders_pgx_la_SOURCES) \ - $(coders_pict_la_SOURCES) $(coders_pix_la_SOURCES) \ - $(coders_plasma_la_SOURCES) $(coders_png_la_SOURCES) \ - $(coders_pnm_la_SOURCES) $(coders_ps_la_SOURCES) \ - $(coders_ps2_la_SOURCES) $(coders_ps3_la_SOURCES) \ - $(coders_psd_la_SOURCES) $(coders_pwp_la_SOURCES) \ - $(coders_raw_la_SOURCES) $(coders_rgb_la_SOURCES) \ - $(coders_rgf_la_SOURCES) $(coders_rla_la_SOURCES) \ - $(coders_rle_la_SOURCES) $(coders_scr_la_SOURCES) \ - $(coders_sct_la_SOURCES) $(coders_sfw_la_SOURCES) \ - $(coders_sgi_la_SOURCES) $(coders_sixel_la_SOURCES) \ - $(coders_stegano_la_SOURCES) $(coders_sun_la_SOURCES) \ - $(coders_svg_la_SOURCES) $(coders_tga_la_SOURCES) \ - $(coders_thumbnail_la_SOURCES) $(coders_tiff_la_SOURCES) \ - $(coders_tile_la_SOURCES) $(coders_tim_la_SOURCES) \ - $(coders_ttf_la_SOURCES) $(coders_txt_la_SOURCES) \ - $(coders_uil_la_SOURCES) $(coders_url_la_SOURCES) \ - $(coders_uyvy_la_SOURCES) $(coders_vicar_la_SOURCES) \ - $(coders_vid_la_SOURCES) $(coders_viff_la_SOURCES) \ - $(coders_vips_la_SOURCES) $(coders_wbmp_la_SOURCES) \ - $(coders_webp_la_SOURCES) $(coders_wmf_la_SOURCES) \ - $(coders_wpg_la_SOURCES) $(coders_x_la_SOURCES) \ - $(coders_xbm_la_SOURCES) $(coders_xc_la_SOURCES) \ - $(coders_xcf_la_SOURCES) $(coders_xpm_la_SOURCES) \ - $(coders_xps_la_SOURCES) $(coders_xtrn_la_SOURCES) \ - $(coders_xwd_la_SOURCES) $(coders_ycbcr_la_SOURCES) \ - $(coders_yuv_la_SOURCES) $(filters_analyze_la_SOURCES) \ - $(Magick___demo_analyze_SOURCES) \ + $(coders_heic_la_SOURCES) $(coders_histogram_la_SOURCES) \ + $(coders_hrz_la_SOURCES) $(coders_html_la_SOURCES) \ + $(coders_icon_la_SOURCES) $(coders_info_la_SOURCES) \ + $(coders_inline_la_SOURCES) $(coders_ipl_la_SOURCES) \ + $(coders_jbig_la_SOURCES) $(coders_jnx_la_SOURCES) \ + $(coders_jp2_la_SOURCES) $(coders_jpeg_la_SOURCES) \ + $(coders_json_la_SOURCES) $(coders_label_la_SOURCES) \ + $(coders_mac_la_SOURCES) $(coders_magick_la_SOURCES) \ + $(coders_map_la_SOURCES) $(coders_mask_la_SOURCES) \ + $(coders_mat_la_SOURCES) $(coders_matte_la_SOURCES) \ + $(coders_meta_la_SOURCES) $(coders_miff_la_SOURCES) \ + $(coders_mono_la_SOURCES) $(coders_mpc_la_SOURCES) \ + $(coders_mpeg_la_SOURCES) $(coders_mpr_la_SOURCES) \ + $(coders_msl_la_SOURCES) $(coders_mtv_la_SOURCES) \ + $(coders_mvg_la_SOURCES) $(coders_null_la_SOURCES) \ + $(coders_otb_la_SOURCES) $(coders_palm_la_SOURCES) \ + $(coders_pango_la_SOURCES) $(coders_pattern_la_SOURCES) \ + $(coders_pcd_la_SOURCES) $(coders_pcl_la_SOURCES) \ + $(coders_pcx_la_SOURCES) $(coders_pdb_la_SOURCES) \ + $(coders_pdf_la_SOURCES) $(coders_pes_la_SOURCES) \ + $(coders_pgx_la_SOURCES) $(coders_pict_la_SOURCES) \ + $(coders_pix_la_SOURCES) $(coders_plasma_la_SOURCES) \ + $(coders_png_la_SOURCES) $(coders_pnm_la_SOURCES) \ + $(coders_ps_la_SOURCES) $(coders_ps2_la_SOURCES) \ + $(coders_ps3_la_SOURCES) $(coders_psd_la_SOURCES) \ + $(coders_pwp_la_SOURCES) $(coders_raw_la_SOURCES) \ + $(coders_rgb_la_SOURCES) $(coders_rgf_la_SOURCES) \ + $(coders_rla_la_SOURCES) $(coders_rle_la_SOURCES) \ + $(coders_scr_la_SOURCES) $(coders_sct_la_SOURCES) \ + $(coders_sfw_la_SOURCES) $(coders_sgi_la_SOURCES) \ + $(coders_sixel_la_SOURCES) $(coders_stegano_la_SOURCES) \ + $(coders_sun_la_SOURCES) $(coders_svg_la_SOURCES) \ + $(coders_tga_la_SOURCES) $(coders_thumbnail_la_SOURCES) \ + $(coders_tiff_la_SOURCES) $(coders_tile_la_SOURCES) \ + $(coders_tim_la_SOURCES) $(coders_ttf_la_SOURCES) \ + $(coders_txt_la_SOURCES) $(coders_uil_la_SOURCES) \ + $(coders_url_la_SOURCES) $(coders_uyvy_la_SOURCES) \ + $(coders_vicar_la_SOURCES) $(coders_vid_la_SOURCES) \ + $(coders_viff_la_SOURCES) $(coders_vips_la_SOURCES) \ + $(coders_wbmp_la_SOURCES) $(coders_webp_la_SOURCES) \ + $(coders_wmf_la_SOURCES) $(coders_wpg_la_SOURCES) \ + $(coders_x_la_SOURCES) $(coders_xbm_la_SOURCES) \ + $(coders_xc_la_SOURCES) $(coders_xcf_la_SOURCES) \ + $(coders_xpm_la_SOURCES) $(coders_xps_la_SOURCES) \ + $(coders_xtrn_la_SOURCES) $(coders_xwd_la_SOURCES) \ + $(coders_ycbcr_la_SOURCES) $(coders_yuv_la_SOURCES) \ + $(filters_analyze_la_SOURCES) $(Magick___demo_analyze_SOURCES) \ $(Magick___demo_button_SOURCES) $(Magick___demo_demo_SOURCES) \ $(Magick___demo_detrans_SOURCES) $(Magick___demo_flip_SOURCES) \ $(Magick___demo_gravity_SOURCES) \ @@ -2120,53 +2130,53 @@ DIST_SOURCES = $(Magick___lib_libMagick___@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUF $(coders_fpx_la_SOURCES) $(coders_gif_la_SOURCES) \ $(coders_gradient_la_SOURCES) $(coders_gray_la_SOURCES) \ $(coders_hald_la_SOURCES) $(coders_hdr_la_SOURCES) \ - $(coders_histogram_la_SOURCES) $(coders_hrz_la_SOURCES) \ - $(coders_html_la_SOURCES) $(coders_icon_la_SOURCES) \ - $(coders_info_la_SOURCES) $(coders_inline_la_SOURCES) \ - $(coders_ipl_la_SOURCES) $(coders_jbig_la_SOURCES) \ - $(coders_jnx_la_SOURCES) $(coders_jp2_la_SOURCES) \ - $(coders_jpeg_la_SOURCES) $(coders_json_la_SOURCES) \ - $(coders_label_la_SOURCES) $(coders_mac_la_SOURCES) \ - $(coders_magick_la_SOURCES) $(coders_map_la_SOURCES) \ - $(coders_mask_la_SOURCES) $(coders_mat_la_SOURCES) \ - $(coders_matte_la_SOURCES) $(coders_meta_la_SOURCES) \ - $(coders_miff_la_SOURCES) $(coders_mono_la_SOURCES) \ - $(coders_mpc_la_SOURCES) $(coders_mpeg_la_SOURCES) \ - $(coders_mpr_la_SOURCES) $(coders_msl_la_SOURCES) \ - $(coders_mtv_la_SOURCES) $(coders_mvg_la_SOURCES) \ - $(coders_null_la_SOURCES) $(coders_otb_la_SOURCES) \ - $(coders_palm_la_SOURCES) $(coders_pango_la_SOURCES) \ - $(coders_pattern_la_SOURCES) $(coders_pcd_la_SOURCES) \ - $(coders_pcl_la_SOURCES) $(coders_pcx_la_SOURCES) \ - $(coders_pdb_la_SOURCES) $(coders_pdf_la_SOURCES) \ - $(coders_pes_la_SOURCES) $(coders_pgx_la_SOURCES) \ - $(coders_pict_la_SOURCES) $(coders_pix_la_SOURCES) \ - $(coders_plasma_la_SOURCES) $(coders_png_la_SOURCES) \ - $(coders_pnm_la_SOURCES) $(coders_ps_la_SOURCES) \ - $(coders_ps2_la_SOURCES) $(coders_ps3_la_SOURCES) \ - $(coders_psd_la_SOURCES) $(coders_pwp_la_SOURCES) \ - $(coders_raw_la_SOURCES) $(coders_rgb_la_SOURCES) \ - $(coders_rgf_la_SOURCES) $(coders_rla_la_SOURCES) \ - $(coders_rle_la_SOURCES) $(coders_scr_la_SOURCES) \ - $(coders_sct_la_SOURCES) $(coders_sfw_la_SOURCES) \ - $(coders_sgi_la_SOURCES) $(coders_sixel_la_SOURCES) \ - $(coders_stegano_la_SOURCES) $(coders_sun_la_SOURCES) \ - $(coders_svg_la_SOURCES) $(coders_tga_la_SOURCES) \ - $(coders_thumbnail_la_SOURCES) $(coders_tiff_la_SOURCES) \ - $(coders_tile_la_SOURCES) $(coders_tim_la_SOURCES) \ - $(coders_ttf_la_SOURCES) $(coders_txt_la_SOURCES) \ - $(coders_uil_la_SOURCES) $(coders_url_la_SOURCES) \ - $(coders_uyvy_la_SOURCES) $(coders_vicar_la_SOURCES) \ - $(coders_vid_la_SOURCES) $(coders_viff_la_SOURCES) \ - $(coders_vips_la_SOURCES) $(coders_wbmp_la_SOURCES) \ - $(coders_webp_la_SOURCES) $(coders_wmf_la_SOURCES) \ - $(coders_wpg_la_SOURCES) $(coders_x_la_SOURCES) \ - $(coders_xbm_la_SOURCES) $(coders_xc_la_SOURCES) \ - $(coders_xcf_la_SOURCES) $(coders_xpm_la_SOURCES) \ - $(coders_xps_la_SOURCES) $(coders_xtrn_la_SOURCES) \ - $(coders_xwd_la_SOURCES) $(coders_ycbcr_la_SOURCES) \ - $(coders_yuv_la_SOURCES) $(filters_analyze_la_SOURCES) \ - $(Magick___demo_analyze_SOURCES) \ + $(coders_heic_la_SOURCES) $(coders_histogram_la_SOURCES) \ + $(coders_hrz_la_SOURCES) $(coders_html_la_SOURCES) \ + $(coders_icon_la_SOURCES) $(coders_info_la_SOURCES) \ + $(coders_inline_la_SOURCES) $(coders_ipl_la_SOURCES) \ + $(coders_jbig_la_SOURCES) $(coders_jnx_la_SOURCES) \ + $(coders_jp2_la_SOURCES) $(coders_jpeg_la_SOURCES) \ + $(coders_json_la_SOURCES) $(coders_label_la_SOURCES) \ + $(coders_mac_la_SOURCES) $(coders_magick_la_SOURCES) \ + $(coders_map_la_SOURCES) $(coders_mask_la_SOURCES) \ + $(coders_mat_la_SOURCES) $(coders_matte_la_SOURCES) \ + $(coders_meta_la_SOURCES) $(coders_miff_la_SOURCES) \ + $(coders_mono_la_SOURCES) $(coders_mpc_la_SOURCES) \ + $(coders_mpeg_la_SOURCES) $(coders_mpr_la_SOURCES) \ + $(coders_msl_la_SOURCES) $(coders_mtv_la_SOURCES) \ + $(coders_mvg_la_SOURCES) $(coders_null_la_SOURCES) \ + $(coders_otb_la_SOURCES) $(coders_palm_la_SOURCES) \ + $(coders_pango_la_SOURCES) $(coders_pattern_la_SOURCES) \ + $(coders_pcd_la_SOURCES) $(coders_pcl_la_SOURCES) \ + $(coders_pcx_la_SOURCES) $(coders_pdb_la_SOURCES) \ + $(coders_pdf_la_SOURCES) $(coders_pes_la_SOURCES) \ + $(coders_pgx_la_SOURCES) $(coders_pict_la_SOURCES) \ + $(coders_pix_la_SOURCES) $(coders_plasma_la_SOURCES) \ + $(coders_png_la_SOURCES) $(coders_pnm_la_SOURCES) \ + $(coders_ps_la_SOURCES) $(coders_ps2_la_SOURCES) \ + $(coders_ps3_la_SOURCES) $(coders_psd_la_SOURCES) \ + $(coders_pwp_la_SOURCES) $(coders_raw_la_SOURCES) \ + $(coders_rgb_la_SOURCES) $(coders_rgf_la_SOURCES) \ + $(coders_rla_la_SOURCES) $(coders_rle_la_SOURCES) \ + $(coders_scr_la_SOURCES) $(coders_sct_la_SOURCES) \ + $(coders_sfw_la_SOURCES) $(coders_sgi_la_SOURCES) \ + $(coders_sixel_la_SOURCES) $(coders_stegano_la_SOURCES) \ + $(coders_sun_la_SOURCES) $(coders_svg_la_SOURCES) \ + $(coders_tga_la_SOURCES) $(coders_thumbnail_la_SOURCES) \ + $(coders_tiff_la_SOURCES) $(coders_tile_la_SOURCES) \ + $(coders_tim_la_SOURCES) $(coders_ttf_la_SOURCES) \ + $(coders_txt_la_SOURCES) $(coders_uil_la_SOURCES) \ + $(coders_url_la_SOURCES) $(coders_uyvy_la_SOURCES) \ + $(coders_vicar_la_SOURCES) $(coders_vid_la_SOURCES) \ + $(coders_viff_la_SOURCES) $(coders_vips_la_SOURCES) \ + $(coders_wbmp_la_SOURCES) $(coders_webp_la_SOURCES) \ + $(coders_wmf_la_SOURCES) $(coders_wpg_la_SOURCES) \ + $(coders_x_la_SOURCES) $(coders_xbm_la_SOURCES) \ + $(coders_xc_la_SOURCES) $(coders_xcf_la_SOURCES) \ + $(coders_xpm_la_SOURCES) $(coders_xps_la_SOURCES) \ + $(coders_xtrn_la_SOURCES) $(coders_xwd_la_SOURCES) \ + $(coders_ycbcr_la_SOURCES) $(coders_yuv_la_SOURCES) \ + $(filters_analyze_la_SOURCES) $(Magick___demo_analyze_SOURCES) \ $(Magick___demo_button_SOURCES) $(Magick___demo_demo_SOURCES) \ $(Magick___demo_detrans_SOURCES) $(Magick___demo_flip_SOURCES) \ $(Magick___demo_gravity_SOURCES) \ @@ -2582,6 +2592,8 @@ GS_LIBS = @GS_LIBS@ GVCDecodeDelegate = @GVCDecodeDelegate@ GVC_CFLAGS = @GVC_CFLAGS@ GVC_LIBS = @GVC_LIBS@ +HEIC_CFLAGS = @HEIC_CFLAGS@ +HEIC_LIBS = @HEIC_LIBS@ HPGLDecodeDelegate = @HPGLDecodeDelegate@ HTMLDecodeDelegate = @HTMLDecodeDelegate@ ILBMDecodeDelegate = @ILBMDecodeDelegate@ @@ -3089,6 +3101,8 @@ codersdir = $(CODER_PATH) @FLIF_DELEGATE_TRUE@MAGICKCORE_FLIF_SRCS = coders/flif.c @FPX_DELEGATE_TRUE@MAGICKCORE_FPX_MODULES = coders/fpx.la @FPX_DELEGATE_TRUE@MAGICKCORE_FPX_SRCS = coders/fpx.c +@HEIC_DELEGATE_TRUE@MAGICKCORE_HEIC_MODULES = coders/heic.la +@HEIC_DELEGATE_TRUE@MAGICKCORE_HEIC_SRCS = coders/heic.c @JBIG_DELEGATE_TRUE@MAGICKCORE_JBIG_MODULES = coders/jbig.la @JBIG_DELEGATE_TRUE@MAGICKCORE_JBIG_SRCS = coders/jbig.c @JPEG_DELEGATE_TRUE@MAGICKCORE_JPEG_MODULES = coders/jpeg.la @@ -3230,6 +3244,7 @@ MAGICKCORE_CODER_SRCS = \ $(MAGICKCORE_FLIF_SRCS) \ $(MAGICKCORE_FPX_SRCS) \ $(MAGICKCORE_GDI32_SRCS) \ + $(MAGICKCORE_HEIC_SRCS) \ $(MAGICKCORE_JBIG_SRCS) \ $(MAGICKCORE_JPEG_SRCS) \ $(MAGICKCORE_JP2_SRCS) \ @@ -3357,6 +3372,7 @@ MAGICKCORE_CODER_SRCS = \ @WITH_MODULES_TRUE@ $(MAGICKCORE_FLIF_MODULES) \ @WITH_MODULES_TRUE@ $(MAGICKCORE_FPX_MODULES) \ @WITH_MODULES_TRUE@ $(MAGICKCORE_GDI32_MODULES) \ +@WITH_MODULES_TRUE@ $(MAGICKCORE_HEIC_MODULES) \ @WITH_MODULES_TRUE@ $(MAGICKCORE_JBIG_MODULES) \ @WITH_MODULES_TRUE@ $(MAGICKCORE_JPEG_MODULES) \ @WITH_MODULES_TRUE@ $(MAGICKCORE_JP2_MODULES) \ @@ -3589,6 +3605,12 @@ coders_hdr_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS) coders_hdr_la_LDFLAGS = $(MODULECOMMONFLAGS) coders_hdr_la_LIBADD = $(MAGICKCORE_LIBS) $(GOMP_LIBS) $(MATH_LIBS) +# HEIC coder module +coders_heic_la_SOURCES = coders/heic.c +coders_heic_la_CPPFLAGS = $(MODULE_CODER_CPPFLAGS) +coders_heic_la_LDFLAGS = $(MODULECOMMONFLAGS) +coders_heic_la_LIBADD = $(MAGICKCORE_LIBS) $(HEIC_LIBS) + # HRZ coder module coders_hrz_la_SOURCES = coders/hrz.c coders_hrz_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS) @@ -6004,6 +6026,8 @@ coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-cl coders/$(am__dirstamp) coders/$(DEPDIR)/$(am__dirstamp) coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-emf.lo: \ coders/$(am__dirstamp) coders/$(DEPDIR)/$(am__dirstamp) +coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-heic.lo: \ + coders/$(am__dirstamp) coders/$(DEPDIR)/$(am__dirstamp) coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-jbig.lo: \ coders/$(am__dirstamp) coders/$(DEPDIR)/$(am__dirstamp) coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-jpeg.lo: \ @@ -6296,6 +6320,11 @@ coders/coders_hdr_la-hdr.lo: coders/$(am__dirstamp) \ coders/hdr.la: $(coders_hdr_la_OBJECTS) $(coders_hdr_la_DEPENDENCIES) $(EXTRA_coders_hdr_la_DEPENDENCIES) coders/$(am__dirstamp) $(AM_V_CCLD)$(coders_hdr_la_LINK) $(am_coders_hdr_la_rpath) $(coders_hdr_la_OBJECTS) $(coders_hdr_la_LIBADD) $(LIBS) +coders/coders_heic_la-heic.lo: coders/$(am__dirstamp) \ + coders/$(DEPDIR)/$(am__dirstamp) + +coders/heic.la: $(coders_heic_la_OBJECTS) $(coders_heic_la_DEPENDENCIES) $(EXTRA_coders_heic_la_DEPENDENCIES) coders/$(am__dirstamp) + $(AM_V_CCLD)$(coders_heic_la_LINK) $(am_coders_heic_la_rpath) $(coders_heic_la_OBJECTS) $(coders_heic_la_LIBADD) $(LIBS) coders/coders_histogram_la-histogram.lo: coders/$(am__dirstamp) \ coders/$(DEPDIR)/$(am__dirstamp) @@ -7267,6 +7296,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-gray.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-hald.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-hdr.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-heic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-histogram.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-hrz.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-html.Plo@am__quote@ @@ -7395,6 +7425,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/coders_gray_la-gray.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/coders_hald_la-hald.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/coders_hdr_la-hdr.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/coders_heic_la-heic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/coders_histogram_la-histogram.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/coders_hrz_la-hrz.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/coders_html_la-html.Plo@am__quote@ @@ -8995,6 +9026,13 @@ coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-em @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-emf.lo `test -f 'coders/emf.c' || echo '$(srcdir)/'`coders/emf.c +coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-heic.lo: coders/heic.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-heic.lo -MD -MP -MF coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-heic.Tpo -c -o coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-heic.lo `test -f 'coders/heic.c' || echo '$(srcdir)/'`coders/heic.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-heic.Tpo coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-heic.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='coders/heic.c' object='coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-heic.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-heic.lo `test -f 'coders/heic.c' || echo '$(srcdir)/'`coders/heic.c + coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-jbig.lo: coders/jbig.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-jbig.lo -MD -MP -MF coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-jbig.Tpo -c -o coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-jbig.lo `test -f 'coders/jbig.c' || echo '$(srcdir)/'`coders/jbig.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-jbig.Tpo coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-jbig.Plo @@ -9492,6 +9530,13 @@ coders/coders_hdr_la-hdr.lo: coders/hdr.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(coders_hdr_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coders/coders_hdr_la-hdr.lo `test -f 'coders/hdr.c' || echo '$(srcdir)/'`coders/hdr.c +coders/coders_heic_la-heic.lo: coders/heic.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(coders_heic_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT coders/coders_heic_la-heic.lo -MD -MP -MF coders/$(DEPDIR)/coders_heic_la-heic.Tpo -c -o coders/coders_heic_la-heic.lo `test -f 'coders/heic.c' || echo '$(srcdir)/'`coders/heic.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) coders/$(DEPDIR)/coders_heic_la-heic.Tpo coders/$(DEPDIR)/coders_heic_la-heic.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='coders/heic.c' object='coders/coders_heic_la-heic.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(coders_heic_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coders/coders_heic_la-heic.lo `test -f 'coders/heic.c' || echo '$(srcdir)/'`coders/heic.c + coders/coders_histogram_la-histogram.lo: coders/histogram.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(coders_histogram_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT coders/coders_histogram_la-histogram.lo -MD -MP -MF coders/$(DEPDIR)/coders_histogram_la-histogram.Tpo -c -o coders/coders_histogram_la-histogram.lo `test -f 'coders/histogram.c' || echo '$(srcdir)/'`coders/histogram.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) coders/$(DEPDIR)/coders_histogram_la-histogram.Tpo coders/$(DEPDIR)/coders_histogram_la-histogram.Plo diff --git a/coders/Makefile.am b/coders/Makefile.am index 947fd6e43..7141abe98 100644 --- a/coders/Makefile.am +++ b/coders/Makefile.am @@ -42,6 +42,11 @@ MAGICKCORE_FPX_MODULES = coders/fpx.la MAGICKCORE_FPX_SRCS = coders/fpx.c endif +if HEIC_DELEGATE +MAGICKCORE_HEIC_MODULES = coders/heic.la +MAGICKCORE_HEIC_SRCS = coders/heic.c +endif + if JBIG_DELEGATE MAGICKCORE_JBIG_MODULES = coders/jbig.la MAGICKCORE_JBIG_SRCS = coders/jbig.c @@ -210,6 +215,7 @@ MAGICKCORE_CODER_SRCS = \ $(MAGICKCORE_FLIF_SRCS) \ $(MAGICKCORE_FPX_SRCS) \ $(MAGICKCORE_GDI32_SRCS) \ + $(MAGICKCORE_HEIC_SRCS) \ $(MAGICKCORE_JBIG_SRCS) \ $(MAGICKCORE_JPEG_SRCS) \ $(MAGICKCORE_JP2_SRCS) \ @@ -337,6 +343,7 @@ coders_LTLIBRARIES = \ $(MAGICKCORE_FLIF_MODULES) \ $(MAGICKCORE_FPX_MODULES) \ $(MAGICKCORE_GDI32_MODULES) \ + $(MAGICKCORE_HEIC_MODULES) \ $(MAGICKCORE_JBIG_MODULES) \ $(MAGICKCORE_JPEG_MODULES) \ $(MAGICKCORE_JP2_MODULES) \ @@ -571,6 +578,12 @@ coders_hdr_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS) coders_hdr_la_LDFLAGS = $(MODULECOMMONFLAGS) coders_hdr_la_LIBADD = $(MAGICKCORE_LIBS) $(GOMP_LIBS) $(MATH_LIBS) +# HEIC coder module +coders_heic_la_SOURCES = coders/heic.c +coders_heic_la_CPPFLAGS = $(MODULE_CODER_CPPFLAGS) +coders_heic_la_LDFLAGS = $(MODULECOMMONFLAGS) +coders_heic_la_LIBADD = $(MAGICKCORE_LIBS) $(HEIC_LIBS) + # HRZ coder module coders_hrz_la_SOURCES = coders/hrz.c coders_hrz_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS) diff --git a/coders/heic.c b/coders/heic.c new file mode 100644 index 000000000..35ed72079 --- /dev/null +++ b/coders/heic.c @@ -0,0 +1,211 @@ +/* +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% % +% % +% H H EEEEE IIIII CCCC % +% H H E I C % +% HHHHH EEE I C % +% H H E I C % +% H H EEEEE IIIII CCCC % +% % +% % +% Read/Write Heic Image Format % +% % +% Software Design % +% Cristy % +% December 2017 % +% % +% % +% Copyright 1999-2017 ImageMagick Studio LLC, a non-profit organization % +% dedicated to making software imaging solutions freely available. % +% % +% You may not use this file except in compliance with the License. You may % +% obtain a copy of the License at % +% % +% https://www.imagemagick.org/script/license.php % +% % +% Unless required by applicable law or agreed to in writing, software % +% distributed under the License is distributed on an "AS IS" BASIS, % +% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. % +% See the License for the specific language governing permissions and % +% limitations under the License. % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% +*/ + +/* + Include declarations. +*/ +#include "MagickCore/studio.h" +#include "MagickCore/blob.h" +#include "MagickCore/blob-private.h" +#include "MagickCore/constitute.h" +#include "MagickCore/exception.h" +#include "MagickCore/exception-private.h" +#include "MagickCore/image.h" +#include "MagickCore/image-private.h" +#include "MagickCore/list.h" +#include "MagickCore/magick.h" +#include "MagickCore/memory_.h" +#include "MagickCore/module.h" +#include "MagickCore/quantum-private.h" +#include "MagickCore/static.h" +#include "MagickCore/resource_.h" +#include "MagickCore/string_.h" +#include "MagickCore/string-private.h" +#include "MagickCore/utility.h" + +/* +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% % +% % +% I s H E I C % +% % +% % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% IsHEIC() returns MagickTrue if the image format type, identified by the +% magick string, is HEIC. +% +% The format of the IsHEIC method is: +% +% MagickBooleanType IsHEIC(const unsigned char *magick,const size_t length) +% +% A description of each parameter follows: +% +% o magick: compare image format pattern against these bytes. +% +% o length: Specifies the length of the magick string. +% +*/ +static MagickBooleanType IsHEIC(const unsigned char *magick,const size_t length) +{ + if (length < 12) + return(MagickFalse); + if (LocaleNCompare((const char *) magick+8,"heic",4) == 0) + return(MagickTrue); + return(MagickFalse); +} + +/* +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% % +% % +% R e a d H E I C I m a g e % +% % +% % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ReadHEICImage retrieves an image via a file descriptor, decodes the image, +% and returns it. It allocates the memory necessary for the new Image +% structure and returns a pointer to the new image. +% +% The format of the ReadHEICImage method is: +% +% Image *ReadHEICImage(const ImageInfo *image_info, +% ExceptionInfo *exception) +% +% A description of each parameter follows: +% +% o image_info: the image info. +% +% o exception: return any errors or warnings in this structure. +% +*/ +static Image *ReadHEICImage(const ImageInfo *image_info, + ExceptionInfo *exception) +{ + Image + *image; + + MagickBooleanType + status; + + /* + Open image file. + */ + assert(image_info != (const ImageInfo *) NULL); + assert(image_info->signature == MagickCoreSignature); + if (image_info->debug != MagickFalse) + (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s", + image_info->filename); + assert(exception != (ExceptionInfo *) NULL); + assert(exception->signature == MagickCoreSignature); + image=AcquireImage(image_info,exception); + status=OpenBlob(image_info,image,ReadBinaryBlobMode,exception); + if (status == MagickFalse) + { + image=DestroyImageList(image); + return((Image *) NULL); + } + ThrowReaderException(CorruptImageError,"HEIC support is pending"); + return(GetFirstImageInList(image)); +} + +/* +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% % +% % +% R e g i s t e r H E I C I m a g e % +% % +% % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% RegisterHEICImage() adds attributes for the HEIC image format to the list of +% supported formats. The attributes include the image format tag, a method +% to read and/or write the format, whether the format supports the saving of +% more than one frame to the same file or blob, whether the format supports +% native in-memory I/O, and a brief description of the format. +% +% The format of the RegisterHEICImage method is: +% +% size_t RegisterHEICImage(void) +% +*/ +ModuleExport size_t RegisterHEICImage(void) +{ + MagickInfo + *entry; + + entry=AcquireMagickInfo("HEIC","HEIC","Apple High efficiency Image Format"); +#if defined(MAGICKCORE_HEIC_DELEGATE) + entry->decoder=(DecodeImageHandler *) ReadHEICImage; +#endif + entry->magick=(IsImageFormatHandler *) IsHEIC; + entry->mime_type=ConstantString("image/x-heic"); + (void) RegisterMagickInfo(entry); + return(MagickImageCoderSignature); +} + +/* +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% % +% % +% U n r e g i s t e r H E I C I m a g e % +% % +% % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% UnregisterHEICImage() removes format registrations made by the HEIC module +% from the list of supported formats. +% +% The format of the UnregisterHEICImage method is: +% +% UnregisterHEICImage(void) +% +*/ +ModuleExport void UnregisterHEICImage(void) +{ + (void) UnregisterMagickInfo("HEIC"); +} diff --git a/config/config.h.in b/config/config.h.in index 1ea471325..4050e6fa8 100644 --- a/config/config.h.in +++ b/config/config.h.in @@ -718,6 +718,9 @@ /* Whether hdri is enabled or not */ #undef HDRI_ENABLE_OBSOLETE_IN_H +/* Define if you have HEIC library */ +#undef HEIC_DELEGATE + /* Define if you have jemalloc memory allocation library */ #undef HasJEMALLOC diff --git a/configure b/configure index aada28c9b..01a3ebc50 100755 --- a/configure +++ b/configure @@ -816,6 +816,10 @@ JPEG_DELEGATE_TRUE JBIG_LIBS JBIG_DELEGATE_FALSE JBIG_DELEGATE_TRUE +HEIC_DELEGATE_FALSE +HEIC_DELEGATE_TRUE +HEIC_LIBS +HEIC_CFLAGS GVC_DELEGATE_FALSE GVC_DELEGATE_TRUE GVC_LIBS @@ -1213,6 +1217,7 @@ with_gslib with_fontpath with_gs_font_dir with_gvc +with_heic with_jbig with_jpeg with_lcms @@ -1266,6 +1271,8 @@ RAQM_CFLAGS RAQM_LIBS GVC_CFLAGS GVC_LIBS +HEIC_CFLAGS +HEIC_LIBS LCMS2_CFLAGS LCMS2_LIBS LIBOPENJP2_CFLAGS @@ -2019,6 +2026,7 @@ Optional Packages: --with-fontpath=DIR prepend to default font search path --with-gs-font-dir=DIR Ghostscript font directory --with-gvc enable GVC support + --without-heic disable HEIC support --without-jbig disable JBIG support --without-jpeg disable JPEG support --without-lcms disable lcms (v1.1X) support @@ -2084,6 +2092,8 @@ Some influential environment variables: RAQM_LIBS linker flags for RAQM, overriding pkg-config GVC_CFLAGS C compiler flags for GVC, overriding pkg-config GVC_LIBS linker flags for GVC, overriding pkg-config + HEIC_CFLAGS C compiler flags for HEIC, overriding pkg-config + HEIC_LIBS linker flags for HEIC, overriding pkg-config LCMS2_CFLAGS C compiler flags for LCMS2, overriding pkg-config LCMS2_LIBS linker flags for LCMS2, overriding pkg-config @@ -4534,7 +4544,7 @@ MAGICK_PATCHLEVEL_VERSION=12 MAGICK_VERSION=7.0.7-12 -MAGICK_GIT_REVISION=21638:b726d6233:20171113 +MAGICK_GIT_REVISION=21694:15073a984:20171119 # Substitute library versioning @@ -32848,6 +32858,123 @@ fi +# +# Check for the HEIC delegate library. +# + +# Check whether --with-heic was given. +if test "${with_heic+set}" = set; then : + withval=$with_heic; with_heic=$withval +else + with_heic='yes' +fi + + +if test "$with_heic" != 'yes'; then + DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-heic=$with_heic " +fi + +have_heic='no' +HEIC_CFLAGS="" +HEIC_LIBS="" +HEIC_PKG="" +if test "x$with_heic" = "xyes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: -------------------------------------------------------------" >&5 +$as_echo "-------------------------------------------------------------" >&6; } + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for HEIC" >&5 +$as_echo_n "checking for HEIC... " >&6; } + +if test -n "$HEIC_CFLAGS"; then + pkg_cv_HEIC_CFLAGS="$HEIC_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libde265\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libde265") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_HEIC_CFLAGS=`$PKG_CONFIG --cflags "libde265" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$HEIC_LIBS"; then + pkg_cv_HEIC_LIBS="$HEIC_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libde265\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libde265") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_HEIC_LIBS=`$PKG_CONFIG --libs "libde265" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + HEIC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libde265" 2>&1` + else + HEIC_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libde265" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$HEIC_PKG_ERRORS" >&5 + + have_heic=no +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + have_heic=no +else + HEIC_CFLAGS=$pkg_cv_HEIC_CFLAGS + HEIC_LIBS=$pkg_cv_HEIC_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + have_heic=yes +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 +$as_echo "" >&6; } +fi + +if test "$have_heic" = 'yes'; then + +$as_echo "#define HEIC_DELEGATE 1" >>confdefs.h + + CFLAGS="$HEIC_CFLAGS $CFLAGS" +fi + + if test "$have_heic" = 'yes'; then + HEIC_DELEGATE_TRUE= + HEIC_DELEGATE_FALSE='#' +else + HEIC_DELEGATE_TRUE='#' + HEIC_DELEGATE_FALSE= +fi + + + + + # # Check for JBIG delegate library. # @@ -37928,6 +38055,9 @@ fi if test "$have_gslib" = 'yes' ; then MAGICK_DELEGATES="$MAGICK_DELEGATES gslib" fi +if test "$have_heic" = 'yes' ; then + MAGICK_DELEGATES="$MAGICK_DELEGATES heic" +fi if test "$have_jbig" = 'yes' ; then MAGICK_DELEGATES="$MAGICK_DELEGATES jbig" fi @@ -38139,7 +38269,7 @@ fi if test "$build_modules" != 'no'; then MAGICK_DEP_LIBS="$USER_LIBS $LCMS_LIBS $FREETYPE_LIBS $RAQM_LIBS $LQR_LIBS $FFTW_LIBS $FLIF_LIBS $FONTCONFIG_LIBS $XEXT_LIBS $IPC_LIBS $X11_LIBS $XT_LIBS $LZMA_LIBS $BZLIB_LIBS $ZLIB_LIBS $LTDL_LIBS $GDI32_LIBS $MATH_LIBS $GOMP_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS" else - MAGICK_DEP_LIBS="$USER_LIBS $JBIG_LIBS $LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $RAQM_LIBS $JPEG_LIBS $GS_LIBS $LQR_LIBS $PNG_LIBS $AUTOTRACE_LIBS $DJVU_LIBS $FFTW_LIBS $FLIF_LIBS $FPX_LIBS $FONTCONFIG_LIBS $WEBP_LIBS $WMF_LIBS $DPS_LIBS $XEXT_LIBS $XT_LIBS $IPC_LIBS $X11_LIBS $LZMA_LIBS $BZLIB_LIBS $OPENEXR_LIBS $LIBOPENJP2_LIBS $PANGO_LIBS $RAW_R_LIBS $RSVG_LIBS $XML_LIBS $GVC_LIBS $ZLIB_LIBS $GDI32_LIBS $MATH_LIBS $GOMP_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS" + MAGICK_DEP_LIBS="$USER_LIBS $JBIG_LIBS $LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $RAQM_LIBS $JPEG_LIBS $GS_LIBS $LQR_LIBS $PNG_LIBS $AUTOTRACE_LIBS $DJVU_LIBS $FFTW_LIBS $FLIF_LIBS $FPX_LIBS $FONTCONFIG_LIBS $HEIC_LIBS $WEBP_LIBS $WMF_LIBS $DPS_LIBS $XEXT_LIBS $XT_LIBS $IPC_LIBS $X11_LIBS $LZMA_LIBS $BZLIB_LIBS $OPENEXR_LIBS $LIBOPENJP2_LIBS $PANGO_LIBS $RAW_R_LIBS $RSVG_LIBS $XML_LIBS $GVC_LIBS $HEIC_$ZLIB_LIBS $GDI32_LIBS $MATH_LIBS $GOMP_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS" fi @@ -38470,6 +38600,10 @@ if test -z "${GVC_DELEGATE_TRUE}" && test -z "${GVC_DELEGATE_FALSE}"; then as_fn_error $? "conditional \"GVC_DELEGATE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${HEIC_DELEGATE_TRUE}" && test -z "${HEIC_DELEGATE_FALSE}"; then + as_fn_error $? "conditional \"HEIC_DELEGATE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${JBIG_DELEGATE_TRUE}" && test -z "${JBIG_DELEGATE_FALSE}"; then as_fn_error $? "conditional \"JBIG_DELEGATE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -41168,6 +41302,7 @@ matches your expectations. FreeType --with-freetype=$with_freetype $have_freetype Ghostscript lib --with-gslib=$with_gslib $have_gslib Graphviz --with-gvc=$with_gvc $have_gvc + HEIC --with-heic=$with_heic $have_heic JBIG --with-jbig=$with_jbig $have_jbig JPEG v1 --with-jpeg=$with_jpeg $have_jpeg LCMS --with-lcms=$with_lcms $have_lcms @@ -41257,6 +41392,7 @@ matches your expectations. FreeType --with-freetype=$with_freetype $have_freetype Ghostscript lib --with-gslib=$with_gslib $have_gslib Graphviz --with-gvc=$with_gvc $have_gvc + HEIC --with-heic=$with_heic $have_heic JBIG --with-jbig=$with_jbig $have_jbig JPEG v1 --with-jpeg=$with_jpeg $have_jpeg LCMS --with-lcms=$with_lcms $have_lcms diff --git a/configure.ac b/configure.ac index 6f006e75a..a19fadbc1 100644 --- a/configure.ac +++ b/configure.ac @@ -2241,6 +2241,40 @@ AC_SUBST(GVC_LIBS) dnl =========================================================================== +# +# Check for the HEIC delegate library. +# +AC_ARG_WITH([heic], + [AC_HELP_STRING([--without-heic], + [disable HEIC support])], + [with_heic=$withval], + [with_heic='yes']) + +if test "$with_heic" != 'yes'; then + DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-heic=$with_heic " +fi + +have_heic='no' +HEIC_CFLAGS="" +HEIC_LIBS="" +HEIC_PKG="" +if test "x$with_heic" = "xyes"; then + AC_MSG_RESULT([-------------------------------------------------------------]) + PKG_CHECK_MODULES(HEIC,[libde265], have_heic=yes, have_heic=no) + AC_MSG_RESULT([]) +fi + +if test "$have_heic" = 'yes'; then + AC_DEFINE(HEIC_DELEGATE,1,Define if you have HEIC library) + CFLAGS="$HEIC_CFLAGS $CFLAGS" +fi + +AM_CONDITIONAL(HEIC_DELEGATE, test "$have_heic" = 'yes') +AC_SUBST(HEIC_CFLAGS) +AC_SUBST(HEIC_LIBS) + +dnl =========================================================================== + # # Check for JBIG delegate library. # @@ -3714,6 +3748,9 @@ fi if test "$have_gslib" = 'yes' ; then MAGICK_DELEGATES="$MAGICK_DELEGATES gslib" fi +if test "$have_heic" = 'yes' ; then + MAGICK_DELEGATES="$MAGICK_DELEGATES heic" +fi if test "$have_jbig" = 'yes' ; then MAGICK_DELEGATES="$MAGICK_DELEGATES jbig" fi @@ -3837,7 +3874,7 @@ fi if test "$build_modules" != 'no'; then MAGICK_DEP_LIBS="$USER_LIBS $LCMS_LIBS $FREETYPE_LIBS $RAQM_LIBS $LQR_LIBS $FFTW_LIBS $FLIF_LIBS $FONTCONFIG_LIBS $XEXT_LIBS $IPC_LIBS $X11_LIBS $XT_LIBS $LZMA_LIBS $BZLIB_LIBS $ZLIB_LIBS $LTDL_LIBS $GDI32_LIBS $MATH_LIBS $GOMP_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS" else - MAGICK_DEP_LIBS="$USER_LIBS $JBIG_LIBS $LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $RAQM_LIBS $JPEG_LIBS $GS_LIBS $LQR_LIBS $PNG_LIBS $AUTOTRACE_LIBS $DJVU_LIBS $FFTW_LIBS $FLIF_LIBS $FPX_LIBS $FONTCONFIG_LIBS $WEBP_LIBS $WMF_LIBS $DPS_LIBS $XEXT_LIBS $XT_LIBS $IPC_LIBS $X11_LIBS $LZMA_LIBS $BZLIB_LIBS $OPENEXR_LIBS $LIBOPENJP2_LIBS $PANGO_LIBS $RAW_R_LIBS $RSVG_LIBS $XML_LIBS $GVC_LIBS $ZLIB_LIBS $GDI32_LIBS $MATH_LIBS $GOMP_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS" + MAGICK_DEP_LIBS="$USER_LIBS $JBIG_LIBS $LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $RAQM_LIBS $JPEG_LIBS $GS_LIBS $LQR_LIBS $PNG_LIBS $AUTOTRACE_LIBS $DJVU_LIBS $FFTW_LIBS $FLIF_LIBS $FPX_LIBS $FONTCONFIG_LIBS $HEIC_LIBS $WEBP_LIBS $WMF_LIBS $DPS_LIBS $XEXT_LIBS $XT_LIBS $IPC_LIBS $X11_LIBS $LZMA_LIBS $BZLIB_LIBS $OPENEXR_LIBS $LIBOPENJP2_LIBS $PANGO_LIBS $RAW_R_LIBS $RSVG_LIBS $XML_LIBS $GVC_LIBS $HEIC_$ZLIB_LIBS $GDI32_LIBS $MATH_LIBS $GOMP_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS" fi AC_SUBST(MAGICK_DEP_LIBS) @@ -3980,6 +4017,7 @@ matches your expectations. FreeType --with-freetype=$with_freetype $have_freetype Ghostscript lib --with-gslib=$with_gslib $have_gslib Graphviz --with-gvc=$with_gvc $have_gvc + HEIC --with-heic=$with_heic $have_heic JBIG --with-jbig=$with_jbig $have_jbig JPEG v1 --with-jpeg=$with_jpeg $have_jpeg LCMS --with-lcms=$with_lcms $have_lcms -- 2.50.1