Author: post
Date: 2010-01-18 18:24:38 +0100 (Mon, 18 Jan 2010)
New Revision: 187
Modified:
RawSpeed/DngDecoder.cpp
Log:
DNG: Read black level, even without "BlackLevelDeltaV"
Modified: RawSpeed/DngDecoder.cpp
===================================================================
--- RawSpeed/DngDecoder.cpp 2010-01-14 19:27:56 UTC (rev 186)
+++ RawSpeed/DngDecoder.cpp 2010-01-18 17:24:38 UTC (rev 187)
@@ -368,6 +368,20 @@
} else {
black = 0;
}
+ } else if (raw->hasEntry(BLACKLEVEL)) {
+ // Attempt to read a single value as black
+ TiffEntry *blacklevel = raw->getEntry(BLACKLEVEL);
+ if (blacklevel->count >= 1 && blacklevel->type == TIFF_LONG)
+ black = blacklevel->getInt();
+ if (blacklevel->count >= 1 && blacklevel->type == TIFF_SHORT)
+ black = blacklevel->getShort();
+ if (blacklevel->count >= 1 && blacklevel->type == TIFF_RATIONAL) {
+ const guint* blackarray = (const guint*)blacklevel->getData();
+ if (blackarray[1])
+ black = blackarray[0] / blackarray[1];
+ else
+ black = 0;
+ }
}
mRaw->blackLevel = black;
return mRaw;
_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit