"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/gd_heif.c" between
libgd-2.3.2.tar.gz and libgd-2.3.3.tar.gz

About: LibGD is a library for the dynamic creation of images by programmers (PNG, JPEG, GIF, WebP, XPM, BMP support).

gd_heif.c  (libgd-2.3.2):gd_heif.c  (libgd-2.3.3)
skipping to change at line 248 skipping to change at line 248
See <gdImageCreateFromHeif>. See <gdImageCreateFromHeif>.
*/ */
BGD_DECLARE(gdImagePtr) gdImageCreateFromHeifCtx(gdIOCtx *infile) BGD_DECLARE(gdImagePtr) gdImageCreateFromHeifCtx(gdIOCtx *infile)
{ {
return _gdImageCreateFromHeifCtx(infile, GD_HEIF_BRAND_AVIF | GD_HEIF_BRA ND_MIF1 | GD_HEIF_BRAND_HEIC | GD_HEIF_BRAND_HEIX); return _gdImageCreateFromHeifCtx(infile, GD_HEIF_BRAND_AVIF | GD_HEIF_BRA ND_MIF1 | GD_HEIF_BRAND_HEIC | GD_HEIF_BRAND_HEIX);
} }
static struct heif_error _gdImageWriteHeif(struct heif_context *heif_ctx, const void *data, size_t size, void *userdata) static struct heif_error _gdImageWriteHeif(struct heif_context *heif_ctx, const void *data, size_t size, void *userdata)
{ {
ARG_NOT_USED(heif_ctx);
gdIOCtx *outfile; gdIOCtx *outfile;
struct heif_error err; struct heif_error err;
outfile = (gdIOCtx *)userdata; outfile = (gdIOCtx *)userdata;
gdPutBuf(data, size, outfile); gdPutBuf(data, size, outfile);
err.code = heif_error_Ok; err.code = heif_error_Ok;
err.subcode = heif_suberror_Unspecified; err.subcode = heif_suberror_Unspecified;
err.message = ""; err.message = "";
skipping to change at line 322 skipping to change at line 323
} else { } else {
err = heif_encoder_set_lossy_quality(heif_enc, quality); err = heif_encoder_set_lossy_quality(heif_enc, quality);
} }
if (err.code != heif_error_Ok) { if (err.code != heif_error_Ok) {
gd_error("gd-heif invalid quality number\n"); gd_error("gd-heif invalid quality number\n");
heif_encoder_release(heif_enc); heif_encoder_release(heif_enc);
heif_context_free(heif_ctx); heif_context_free(heif_ctx);
return GD_FALSE; return GD_FALSE;
} }
err = heif_encoder_set_parameter_string(heif_enc, "chroma", chroma); if (heif_get_version_number_major() >= 1 && heif_get_version_number_minor
if (err.code != heif_error_Ok) { () >= 9) {
gd_error("gd-heif invalid chroma subsampling parameter\n"); err = heif_encoder_set_parameter_string(heif_enc, "chroma", chrom
heif_encoder_release(heif_enc); a);
heif_context_free(heif_ctx); if (err.code != heif_error_Ok) {
return GD_FALSE; 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); err = heif_image_create(gdImageSX(im), gdImageSY(im), heif_colorspace_RGB , heif_chroma_interleaved_RGBA, &heif_im);
if (err.code != heif_error_Ok) { if (err.code != heif_error_Ok) {
gd_error("gd-heif image creation failed"); gd_error("gd-heif image creation failed");
heif_encoder_release(heif_enc); heif_encoder_release(heif_enc);
heif_context_free(heif_ctx); heif_context_free(heif_ctx);
return GD_FALSE; return GD_FALSE;
} }
 End of changes. 2 change blocks. 
6 lines changed or deleted 12 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)