diff --git a/rtengine/imageio.cc b/rtengine/imageio.cc index 08922e436..802365d74 100644 --- a/rtengine/imageio.cc +++ b/rtengine/imageio.cc @@ -704,7 +704,7 @@ int ImageIO::getTIFFSampleFormat (Glib::ustring fname, IIOSampleFormat &sFormat, sFormat = IIOSF_UNSIGNED_SHORT; return IMIO_SUCCESS; } - } else if (samplesperpixel == 3 && sampleformat == SAMPLEFORMAT_IEEEFP) { + } else if ((samplesperpixel == 3 || samplesperpixel == 4) && sampleformat == SAMPLEFORMAT_IEEEFP) { if (bitspersample==16) { sFormat = IIOSF_FLOAT16; return IMIO_SUCCESS; @@ -718,7 +718,7 @@ int ImageIO::getTIFFSampleFormat (Glib::ustring fname, IIOSampleFormat &sFormat, return IMIO_SUCCESS; } } - } else if (samplesperpixel == 3 && photometric == PHOTOMETRIC_LOGLUV) { + } else if ((samplesperpixel == 3 || samplesperpixel == 4) && photometric == PHOTOMETRIC_LOGLUV) { if (compression == COMPRESSION_SGILOG24) { sFormat = IIOSF_LOGLUV24; return IMIO_SUCCESS; diff --git a/rtexif/rtexif.cc b/rtexif/rtexif.cc index 0715ccfd6..c35ba7e0b 100644 --- a/rtexif/rtexif.cc +++ b/rtexif/rtexif.cc @@ -3043,7 +3043,7 @@ void ExifManager::parse (bool isRaw, bool skipIgnored) if (!sftTagList.empty()) { for (auto sft : sftTagList) { int sftVal = sft->toInt(); - if (sftVal == (isRaw ? 0 : 2)) { + if (sftVal == 0 || (!isRaw && sftVal == 2)) { frames.push_back(sft->getParent()); frameRootDetected = true;