Better support of TIFF's SubFileType tag and alpha channel

Fix issue #4868
This commit is contained in:
Hombre 2018-10-15 22:48:37 +02:00
parent 81dd3dc3d9
commit c5ad03c9cc
2 changed files with 3 additions and 3 deletions

View File

@ -704,7 +704,7 @@ int ImageIO::getTIFFSampleFormat (Glib::ustring fname, IIOSampleFormat &sFormat,
sFormat = IIOSF_UNSIGNED_SHORT; sFormat = IIOSF_UNSIGNED_SHORT;
return IMIO_SUCCESS; return IMIO_SUCCESS;
} }
} else if (samplesperpixel == 3 && sampleformat == SAMPLEFORMAT_IEEEFP) { } else if ((samplesperpixel == 3 || samplesperpixel == 4) && sampleformat == SAMPLEFORMAT_IEEEFP) {
if (bitspersample==16) { if (bitspersample==16) {
sFormat = IIOSF_FLOAT16; sFormat = IIOSF_FLOAT16;
return IMIO_SUCCESS; return IMIO_SUCCESS;
@ -718,7 +718,7 @@ int ImageIO::getTIFFSampleFormat (Glib::ustring fname, IIOSampleFormat &sFormat,
return IMIO_SUCCESS; return IMIO_SUCCESS;
} }
} }
} else if (samplesperpixel == 3 && photometric == PHOTOMETRIC_LOGLUV) { } else if ((samplesperpixel == 3 || samplesperpixel == 4) && photometric == PHOTOMETRIC_LOGLUV) {
if (compression == COMPRESSION_SGILOG24) { if (compression == COMPRESSION_SGILOG24) {
sFormat = IIOSF_LOGLUV24; sFormat = IIOSF_LOGLUV24;
return IMIO_SUCCESS; return IMIO_SUCCESS;

View File

@ -3043,7 +3043,7 @@ void ExifManager::parse (bool isRaw, bool skipIgnored)
if (!sftTagList.empty()) { if (!sftTagList.empty()) {
for (auto sft : sftTagList) { for (auto sft : sftTagList) {
int sftVal = sft->toInt(); int sftVal = sft->toInt();
if (sftVal == (isRaw ? 0 : 2)) { if (sftVal == 0 || (!isRaw && sftVal == 2)) {
frames.push_back(sft->getParent()); frames.push_back(sft->getParent());
frameRootDetected = true; frameRootDetected = true;