Update of /cvsroot/ufraw/ufraw
In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv20227

Modified Files:
        dcraw.cc 
Log Message:
dcraw modified 9.03 (1.437). Changelog: Support the Canon SX20 IS. Get Fuji 
HS10 black level from the metadata.

Index: dcraw.cc
===================================================================
RCS file: /cvsroot/ufraw/ufraw/dcraw.cc,v
retrieving revision 1.222
retrieving revision 1.223
diff -u -d -r1.222 -r1.223
--- dcraw.cc    15 Jun 2010 03:45:13 -0000      1.222
+++ dcraw.cc    27 Jun 2010 04:45:11 -0000      1.223
@@ -22,7 +22,7 @@
 #include "uf_progress.h"
 }
 
-#define DCRAW_VERSION "9.02"
+#define DCRAW_VERSION "9.03"
 
 #ifndef _GNU_SOURCE
 #define _GNU_SOURCE
@@ -4979,10 +4979,12 @@
          fseek (ifp, tiff_ifd[ifd].offset, SEEK_SET);
          if (ljpeg_start (&jh, 1)) {
            tiff_ifd[ifd].comp    = 6;
-           tiff_ifd[ifd].width   = jh.wide << (jh.clrs == 2);
+           tiff_ifd[ifd].width   = jh.wide;
            tiff_ifd[ifd].height  = jh.high;
            tiff_ifd[ifd].bps     = jh.bits;
            tiff_ifd[ifd].samples = jh.clrs;
+           if (!(jh.sraw || (jh.clrs & 1)))
+             tiff_ifd[ifd].width *= jh.clrs;
          }
        }
        break;
@@ -5227,6 +5229,8 @@
        blrr = get2();
        blrc = get2();
        break;
+      case 61450:
+       blrr = blrc = 2;
       case 50714:                      /* BlackLevel */
        black = getreal(type);
        if (!filters || !~filters) break;
@@ -6283,8 +6287,8 @@
        { 21461,-10807,-1441,-2332,10599,1999,289,875,7703 } },
     { "FUJIFILM IS Pro", 0, 0,
        { 12300,-5110,-1304,-9117,17143,1998,-1947,2448,8100 } },
-    { "FUJIFILM FinePix HS10 HS11", 79, 0xf68, /* DJC */
-       { 12123,-3090,-1806,-1486,10894,593,-683,2369,3114 } },
+    { "FUJIFILM FinePix HS10 HS11", 0, 0xf68, /* DJC */
+       { 12164,-3169,-1662,-1020,10358,662,-224,2108,3106 } },
     { "Imacon Ixpress", 0, 0,          /* DJC */
        { 7025,-1415,-704,-5188,13765,1424,-1248,2742,6038 } },
     { "KODAK NC2000", 0, 0,
@@ -6750,6 +6754,7 @@
     {  5298000, "Canon",    "PowerShot SD300" ,0 },
     {  7710960, "Canon",    "PowerShot S3 IS" ,0 },
     { 15467760, "Canon",    "PowerShot SX110 IS",0 },
+    { 18653760, "Canon",    "PowerShot SX20 IS",0 },
     {  5939200, "OLYMPUS",  "C770UZ"          ,0 },
     {  1581060, "NIKON",    "E900"            ,1 },  /* or E900s,E910 */
     {  2465792, "NIKON",    "E950"            ,1 },  /* or E800,E700 */
@@ -7121,6 +7126,16 @@
     load_raw = &CLASS packed_load_raw;
     load_flags = 40;
     zero_is_bad = 1;
+  } else if (!strcmp(model,"PowerShot SX20 IS")) {
+    height = 3024;
+    width  = 4032;
+    raw_height = 3048;
+    raw_width  = 4080;
+    top_margin  = 12;
+    left_margin = 24;
+    load_raw = &CLASS packed_load_raw;
+    load_flags = 40;
+    zero_is_bad = 1;
   } else if (!strcmp(model,"PowerShot Pro90 IS")) {
     width  = 1896;
     colors = 4;
@@ -7229,34 +7244,29 @@
     top_margin  = 10;
     left_margin = 12;
     filters = 0x49494949;
-  } else if (is_canon && raw_width == 1208) {
+  } else if (is_canon && raw_width == 4832) {
     top_margin = unique_id == 0x80000261 ? 51:26;
     left_margin = 62;
-    raw_width = width *= 4;
     if (unique_id == 0x80000252)
       adobe_coeff ("Canon","EOS 500D");
     goto canon_cr2;
-  } else if (is_canon && raw_width == 1280) {
+  } else if (is_canon && raw_width == 5120) {
     height -= top_margin = 45;
     left_margin = 142;
-    raw_width *= 4;
     width = 4916;
-  } else if (is_canon && raw_width == 1336) {
+  } else if (is_canon && raw_width == 5344) {
     top_margin = 51;
     left_margin = 142;
-    raw_width = width *= 4;
     if (unique_id == 0x80000270)
       adobe_coeff ("Canon","EOS 550D");
     goto canon_cr2;
-  } else if (is_canon && raw_width == 1340) {
+  } else if (is_canon && raw_width == 5360) {
     top_margin = 51;
     left_margin = 158;
-    raw_width = width *= 4;
     goto canon_cr2;
-  } else if (is_canon && raw_width == 1448) {
+  } else if (is_canon && raw_width == 5792) {
     top_margin  = 51;
     left_margin = 158;
-    raw_width = width *= 4;
     goto canon_cr2;
   } else if (is_canon && raw_width == 5108) {
     top_margin  = 13;


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
ufraw-cvs mailing list
ufraw-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ufraw-cvs

Reply via email to