Author: abrander
Date: 2009-12-02 08:26:59 +0100 (Wed, 02 Dec 2009)
New Revision: 2781
Modified:
trunk/plugins/meta-tiff/tiff-meta.c
Log:
[260] Added camera WB support for Canon G9.
Modified: trunk/plugins/meta-tiff/tiff-meta.c
===================================================================
--- trunk/plugins/meta-tiff/tiff-meta.c 2009-12-02 06:32:01 UTC (rev 2780)
+++ trunk/plugins/meta-tiff/tiff-meta.c 2009-12-02 07:26:59 UTC (rev 2781)
@@ -191,6 +191,7 @@
{
gushort number_of_entries = 0;
gushort ushort_temp1;
+ guint uint_temp1;
gushort wb_index = 0;
struct IFD ifd;
@@ -255,6 +256,23 @@
case 0x0004: /* CanonShotInfo */
raw_get_ushort(rawfile, ifd.value_offset+14, &wb_index);
break;
+ case 0x0029: /* White Balance for G9 */
+ if (g_str_equal(meta->model_ascii, "Canon PowerShot
G9"))
+ {
+ gint wb_offset = (wb_index < 18) ?
"012347800000005896"[wb_index]-'0' : 0;
+ wb_offset = ifd.value_offset + wb_offset*32 + 8;
+
+ raw_get_uint(rawfile, wb_offset, &uint_temp1);
+ meta->cam_mul[1] = (gdouble) uint_temp1;
+ raw_get_uint(rawfile, wb_offset+4, &uint_temp1);
+ meta->cam_mul[0] = (gdouble) uint_temp1;
+ raw_get_uint(rawfile, wb_offset+8, &uint_temp1);
+ meta->cam_mul[2] = (gdouble) uint_temp1;
+ raw_get_uint(rawfile, wb_offset+12,
&uint_temp1);
+ meta->cam_mul[3] = (gdouble) uint_temp1;
+ rs_metadata_normalize_wb(meta);
+ }
+ break;
case 0x00a4: /* WhiteBalanceTable */
raw_get_ushort(rawfile, ifd.value_offset+wb_index*48+0,
&ushort_temp1);
meta->cam_mul[0] = (gdouble) ushort_temp1;
_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit