summaryrefslogtreecommitdiff
path: root/windows
diff options
context:
space:
mode:
authorMartin Reboredo <39890836+YakoYakoYokuYoku@users.noreply.github.com>2021-03-02 14:32:03 -0300
committerGitHub <noreply@github.com>2021-03-02 12:32:03 -0500
commit39c4644fa01f6b9f002119e4109e252bc665b8f1 (patch)
tree852d151b50717219ebff215b4b6f65a945ebf9f3 /windows
parentd6a061850d40110a98364766f654030f929ec0ed (diff)
downloadlibgd-39c4644fa01f6b9f002119e4109e252bc665b8f1.tar.gz
HEIF support through libheif (#670)
With the adoption of AVIF by Firefox and Chromium based browsers (still in experimental phase), the newer incorporation of HEIF by Canon and Sony in their cameras and the newer support of both of them in modern software like ImageMagick, GIMP and Krita, `gd` haven't seen any endorsement for the formats up until this PR. Reading and writing is done by `libheif`, with functionality for chroma subsampling (for now `4:2:0`, `4:2:2` and `4:4:4`), quality (with new `200` for lossless) and compression (whether `HEVC` or `AV1`) selection. This was tested with `libheif` version `1.11.0` in my Solus machine. Also, fixes both #395 and #557.
Diffstat (limited to 'windows')
-rw-r--r--windows/Makefile.vc7
-rw-r--r--windows/msys/Makefile2
2 files changed, 7 insertions, 2 deletions
diff --git a/windows/Makefile.vc b/windows/Makefile.vc
index 67a8014..d97b22f 100644
--- a/windows/Makefile.vc
+++ b/windows/Makefile.vc
@@ -94,10 +94,11 @@ LIB_OBJS= \
$(LIBGD_OBJ_DIR)\gd_version.obj \
$(LIBGD_OBJ_DIR)\gd_crop.obj \
$(LIBGD_OBJ_DIR)\gd_color_map.obj \
+ $(LIBGD_OBJ_DIR)\gd_heif.obj \
$(LIBGD_OBJ_DIR)\gd_webp.obj
LIBS=kernel32.lib ole32.lib user32.lib advapi32.lib shell32.lib ws2_32.lib Dnsapi.lib Gdi32.Lib
-LIBS_GD=libjpeg_a.lib freetype_a.lib libpng_a.lib libiconv_a.lib zlib_a.lib libwebp_a.lib libxpm_a.lib libtiff.lib
+LIBS_GD=libjpeg_a.lib freetype_a.lib libpng_a.lib libiconv_a.lib zlib_a.lib libheif_a.lib libwebp_a.lib libxpm_a.lib libtiff.lib
PROG_EXES= \
$(LIBGD_OBJ_DIR)\gdcmpgif.exe \
@@ -138,6 +139,7 @@ CFLAGS= $(CFLAGS) \
/DHAVE_LIBJPEG=1\
/DHAVE_LIBPNG=1\
/DHAVE_LIBWEBP=1\
+ /DHAVE_LIBHEIF=1\
/DHAVE_LIBZ=1\
/DHAVE_LIBXPM=1\
/DHAVE_LIBTIFF=1\
@@ -196,6 +198,9 @@ make_dirs:
@echo #ifndef HAVE_LIBWEBP>> $(GD_CONFIG_H)
@echo #define HAVE_LIBWEBP>> $(GD_CONFIG_H)
@echo #endif>> $(GD_CONFIG_H)
+ @echo #ifndef HAVE_LIBHEIF>> $(GD_CONFIG_H)
+ @echo #define HAVE_LIBHEIF>> $(GD_CONFIG_H)
+ @echo #endif>> $(GD_CONFIG_H)
@echo #ifndef HAVE_LIBZ>> $(GD_CONFIG_H)
@echo #define HAVE_LIBZ>> $(GD_CONFIG_H)
@echo #endif>> $(GD_CONFIG_H)
diff --git a/windows/msys/Makefile b/windows/msys/Makefile
index d4acaaf..8c5d380 100644
--- a/windows/msys/Makefile
+++ b/windows/msys/Makefile
@@ -97,7 +97,7 @@ gd_gif_out.c gd_io_file.c gd_io_ss.c gd_jpeg.c gd_png.c gd_ss.c \
gd_topal.c gd_wbmp.c gdcache.c gdfontg.c gdfontl.c gdfontmb.c \
gdfonts.c gdfontt.c gdft.c gdhelpers.c gdkanji.c gdtables.c gdxpm.c \
wbmp.c gd_filter.c gd_nnquant.c gd_rotate.c gd_matrix.c \
-gd_interpolation.c gd_crop.c gd_webp.c gd_tiff.c gd_tga.c \
+gd_interpolation.c gd_crop.c gd_webp.c gd_heif.c gd_tiff.c gd_tga.c \
gd_bmp.c gd_xbm.c gd_color_match.c gd_version.c gd_filename.c
OBJ=$(SRC:.c=.o)