Author: post
Date: 2009-08-24 23:19:01 +0200 (Mon, 24 Aug 2009)
New Revision: 120
Modified:
RawSpeed/DngDecoder.cpp
Log:
Preliminary support of Ricoh DNG images.
Modified: RawSpeed/DngDecoder.cpp
===================================================================
--- RawSpeed/DngDecoder.cpp 2009-08-20 17:28:12 UTC (rev 119)
+++ RawSpeed/DngDecoder.cpp 2009-08-24 21:19:01 UTC (rev 120)
@@ -331,11 +331,20 @@
if (blackarrayv[i*2+1])
black = MIN(black, blackbase + blackarrayv[i*2] /
blackarrayv[i*2+1]);
} else {
- const guint *blackarray = raw->getEntry(BLACKLEVEL)->getIntArray();
- if (blackarray[1])
- black = blackarray[0] / blackarray[1];
- else
- black = 0;
+ TiffEntry* black_entry = raw->getEntry(BLACKLEVEL);
+ if (black_entry->type == TIFF_LONG) {
+ const guint* blackarray = black_entry->getIntArray();
+ if (blackarray[1])
+ black = blackarray[0] / blackarray[1];
+ else
+ black = 0;
+ } else if (black_entry->type == TIFF_RATIONAL){
+ const guint* blackarray = (const guint*)black_entry->getData();
+ if (blackarray[1])
+ black = blackarray[0] / blackarray[1];
+ else
+ black = 0;
+ }
}
} else {
black = 0;
_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit