Fix #4532, Fix #4533 : Pentax HDR/PEF and 16/24 bits float support

This commit is contained in:
Hombre
2018-05-06 17:14:44 +02:00
parent a6f82d0212
commit ec2181f7ff
10 changed files with 103 additions and 40 deletions

View File

@@ -128,7 +128,9 @@ int StdImageSource::load (const Glib::ustring &fname)
case (IIOSF_LOGLUV24):
case (IIOSF_LOGLUV32):
case (IIOSF_FLOAT): {
case (IIOSF_FLOAT16):
case (IIOSF_FLOAT24):
case (IIOSF_FLOAT32): {
img = new Imagefloat;
break;
}
@@ -224,7 +226,7 @@ void StdImageSource::colorSpaceConversion (Imagefloat* im, const ColorManagement
if (embedded) {
in = embedded;
} else {
if (sampleFormat & (IIOSF_LOGLUV24 | IIOSF_LOGLUV32 | IIOSF_FLOAT)) {
if (sampleFormat & (IIOSF_LOGLUV24 | IIOSF_LOGLUV32 | IIOSF_FLOAT16 | IIOSF_FLOAT24 | IIOSF_FLOAT32)) {
skipTransform = true;
} else {
in = ICCStore::getInstance()->getsRGBProfile ();
@@ -237,7 +239,7 @@ void StdImageSource::colorSpaceConversion (Imagefloat* im, const ColorManagement
if (in == nullptr && embedded) {
in = embedded;
} else if (in == nullptr) {
if (sampleFormat & (IIOSF_LOGLUV24 | IIOSF_LOGLUV32 | IIOSF_FLOAT)) {
if (sampleFormat & (IIOSF_LOGLUV24 | IIOSF_LOGLUV32 | IIOSF_FLOAT16 | IIOSF_FLOAT24 | IIOSF_FLOAT32)) {
skipTransform = true;
} else {
in = ICCStore::getInstance()->getsRGBProfile ();