diff --git a/src/common/exif.cc b/src/common/exif.cc index bd475b2a3718..e7c9d171321f 100644 --- a/src/common/exif.cc +++ b/src/common/exif.cc @@ -1160,6 +1160,18 @@ static void _check_highlight_preservation(Exiv2::ExifData &exifData, else if(state == 2) img->exif_highlight_preservation = 0.66f; // estimated strength for Strong } + else if(FIND_EXIF_TAG("Exif.CanonLiOp.AutoLightingOptimizer")) + { + // Canon CR3 contains another tag, but same enum values + // [0] state - 0=standard, 1=low, 2=strong, 3=off + const long state = pos->toLong(0); + if(state == 0) + img->exif_highlight_preservation = 0.50f; // estimated strength for Standard + else if(state == 1) + img->exif_highlight_preservation = 0.33f; // estimated strength for Low + else if(state == 2) + img->exif_highlight_preservation = 0.66f; // estimated strength for Strong + } else if(FIND_EXIF_TAG("Exif.Fujifilm.DevelopmentDynamicRange") // manual mode DR100/DR200/DR400 || FIND_EXIF_TAG("Exif.Fujifilm.AutoDynamicRange")) // auto mode { diff --git a/src/imageio/imageio_libraw.c b/src/imageio/imageio_libraw.c index 52cf7347dee6..93cfc212eda7 100644 --- a/src/imageio/imageio_libraw.c +++ b/src/imageio/imageio_libraw.c @@ -487,6 +487,8 @@ dt_imageio_retval_t dt_imageio_open_libraw(dt_image_t *img, img->buf_dsc.filters = raw->idata.filters; } + dt_exif_img_check_additional_tags(img, filename); + // For CR3, we only have Bayer data and a single channel img->buf_dsc.channels = 1;