[Rawstudio-commit] r2002 - trunk/src
Anders Brander
anders at brander.dk
Mon Sep 15 21:06:22 CEST 2008
Author: abrander
Date: 2008-09-15 21:06:22 +0200 (Mon, 15 Sep 2008)
New Revision: 2002
Modified:
trunk/src/tiff-meta.c
Log:
Fixed Panasonic regression.
Modified: trunk/src/tiff-meta.c
===================================================================
--- trunk/src/tiff-meta.c 2008-09-15 18:08:56 UTC (rev 2001)
+++ trunk/src/tiff-meta.c 2008-09-15 19:06:22 UTC (rev 2002)
@@ -234,6 +234,7 @@
static gboolean
makernote_leica(RAWFILE *rawfile, guint offset, RS_METADATA *meta)
{
+ gboolean ret = FALSE;
gushort number_of_entries = 0;
guint version = 0;
@@ -289,17 +290,40 @@
switch(ifd.tag)
{
case 0x0001: /* Raw version */
- if (ifd.value_offset == 0x30303130)
- version = 100;
- else if (ifd.value_offset == 0x30303230)
- version = 200;
+ switch (ifd.value_offset)
+ {
+ case 0x30303130: /* Leica */
+ version = 100;
+ ret = TRUE;
+ break;
+ case 0x30303230: /* Leica / Panasonic */
+ version = 200;
+ ret = FALSE;
+ break;
+ case 0x30313230: /* Panasonic */
+ version = 210;
+ ret = FALSE;
+ break;
+ case 0x31303230: /* Panasonic */
+ version = 201;
+ ret = FALSE;
+ break;
+ case 0x32303230: /* Panasonic */
+ version = 202;
+ ret = FALSE;
+ break;
+ default:
+ ret = FALSE;
+ break;
+ }
+ break;
}
break;
}
}
rs_metadata_normalize_wb(meta);
- return TRUE;
+ return ret;
}
static gboolean
@@ -1047,7 +1071,8 @@
switch (meta->make)
{
case MAKE_LEICA:
- makernote_leica(rawfile, offset, meta);
+ if (!makernote_leica(rawfile, offset, meta))
+ ifd_reader(rawfile, offset, meta);
break;
default:
ifd_reader(rawfile, offset, meta);
More information about the Rawstudio-commit
mailing list