HEIF plug-in: ensure max quality for lossless encoding

There is a possible bug in libheif. Lossless setting is not working
when AVIF is saved via rav1e encoder.
This is a workaround of the problem.
This commit is contained in:
Daniel Novomesky
2021-01-12 12:22:30 +01:00
committed by Jehan
parent d29149c875
commit 51d8421eaa

View File

@ -1536,7 +1536,17 @@ save_image (GFile *file,
return FALSE;
}
heif_encoder_set_lossy_quality (encoder, params->quality);
/* workaround for a bug in libheif when heif_encoder_set_lossless is not working
(known problem with encoding via rav1e) */
if (params->lossless)
{
heif_encoder_set_lossy_quality (encoder, 100);
}
else
{
heif_encoder_set_lossy_quality (encoder, params->quality);
}
heif_encoder_set_lossless (encoder, params->lossless);
/* heif_encoder_set_logging_level (encoder, logging_level); */