Ensure withMetadata skips default profile for RGB16 #3773

This commit is contained in:
Lovell Fuller
2023-08-24 18:13:00 +01:00
parent 44a0ee3fd3
commit 95635683ac
6 changed files with 29 additions and 11 deletions

View File

@@ -789,12 +789,14 @@ class PipelineWorker : public Napi::AsyncWorker {
// Apply output ICC profile
if (baton->withMetadata) {
image = image.icc_transform(
baton->withMetadataIcc.empty() ? "srgb" : const_cast<char*>(baton->withMetadataIcc.data()),
VImage::option()
->set("input_profile", processingProfile)
->set("embedded", TRUE)
->set("intent", VIPS_INTENT_PERCEPTUAL));
if (image.interpretation() == VIPS_INTERPRETATION_sRGB || !baton->withMetadataIcc.empty()) {
image = image.icc_transform(
baton->withMetadataIcc.empty() ? "srgb" : const_cast<char*>(baton->withMetadataIcc.data()),
VImage::option()
->set("input_profile", processingProfile)
->set("embedded", TRUE)
->set("intent", VIPS_INTENT_PERCEPTUAL));
}
}
// Override EXIF Orientation tag
if (baton->withMetadata && baton->withMetadataOrientation != -1) {