diff options
author | Martin Reboredo <39890836+YakoYakoYokuYoku@users.noreply.github.com> | 2021-03-16 12:53:16 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-16 11:53:16 -0400 |
commit | f7d12c91fa8bb0313dfc9d5ca827674c49a7bc9d (patch) | |
tree | 5aa1a920503fc2102e8a8dcd33e18d641c05358e /src/gd_heif.c | |
parent | 048cb47f20cb56c2d3b064f6ae1d24f89243e124 (diff) | |
download | libgd-f7d12c91fa8bb0313dfc9d5ca827674c49a7bc9d.tar.gz |
Permit compilation with libheif version 1.7.0 (#686)
libheif versions that came before 1.9.0 don't support changing the output image chroma.
I did not notice that and it resulted with tests failures across other OSes that don't have
a much newer libheif.
See #678. Supersedes #685.
Diffstat (limited to 'src/gd_heif.c')
-rw-r--r-- | src/gd_heif.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/gd_heif.c b/src/gd_heif.c index 3b00a6c..47ecd7a 100644 --- a/src/gd_heif.c +++ b/src/gd_heif.c @@ -321,12 +321,14 @@ static int _gdImageHeifCtx(gdImagePtr im, gdIOCtx *outfile, int quality, gdHeifC return GD_FALSE; } - err = heif_encoder_set_parameter_string(heif_enc, "chroma", chroma); - if (err.code != heif_error_Ok) { - gd_error("gd-heif invalid chroma subsampling parameter\n"); - heif_encoder_release(heif_enc); - heif_context_free(heif_ctx); - return GD_FALSE; + if (heif_get_version_number_major() >= 1 && heif_get_version_number_minor() >= 9) { + err = heif_encoder_set_parameter_string(heif_enc, "chroma", chroma); + if (err.code != heif_error_Ok) { + gd_error("gd-heif invalid chroma subsampling parameter\n"); + heif_encoder_release(heif_enc); + heif_context_free(heif_ctx); + return GD_FALSE; + } } err = heif_image_create(gdImageSX(im), gdImageSY(im), heif_colorspace_RGB, heif_chroma_interleaved_RGBA, &heif_im); |