Update of /cvsroot/ufraw/ufraw
In directory vz-cvs-2.sog:/tmp/cvs-serv4045

Modified Files:
      Tag: dcraw-original-branch
        dcraw.cc 
Log Message:
dcraw original 9.07 (1.442).

Index: dcraw.cc
===================================================================
RCS file: /cvsroot/ufraw/ufraw/dcraw.cc,v
retrieving revision 1.1.2.112
retrieving revision 1.1.2.113
diff -u -d -r1.1.2.112 -r1.1.2.113
--- dcraw.cc    11 Feb 2011 03:41:44 -0000      1.1.2.112
+++ dcraw.cc    2 Apr 2011 04:05:47 -0000       1.1.2.113
@@ -23,7 +23,7 @@
    $Date$
  */
 
-#define VERSION "9.06"
+#define VERSION "9.07"
 
 #ifndef _GNU_SOURCE
 #define _GNU_SOURCE
@@ -1646,7 +1646,7 @@
   order = 0x4949;
   ph1_bits(-1);
   for (row=-top_margin; row < height; row++) {
-    pred[0] = pred[1] = 0x8000;
+    pred[0] = pred[1] = 0x8000 + load_flags;
     for (col=-left_margin; col < raw_width-left_margin; col+=2) {
       FORC(2) len[c] = ph1_huff(jh.huff[0]);
       FORC(2) {
@@ -4933,7 +4933,7 @@
       case 513:                                /* JpegIFOffset */
       case 61447:
        tiff_ifd[ifd].offset = get4()+base;
-       if (!tiff_ifd[ifd].bps) {
+       if (!tiff_ifd[ifd].bps && tiff_ifd[ifd].offset > 0) {
          fseek (ifp, tiff_ifd[ifd].offset, SEEK_SET);
          if (ljpeg_start (&jh, 1)) {
            tiff_ifd[ifd].comp    = 6;
@@ -5811,9 +5811,18 @@
       fuji_layout = fgetc(ifp) >> 7;
       load_raw = fgetc(ifp) & 8 ?
        &CLASS unpacked_load_raw : &CLASS fuji_load_raw;
-    }
-    if (tag == 0x2ff0)
+    } else if (tag == 0x2ff0) {
       FORC4 cam_mul[c ^ 1] = get2();
+    } else if (tag == 0xc000) {
+      raw_height = order;
+      order = 0x4949;
+      width  = get4();
+      height = get4();
+      order = raw_height;
+      raw_height = 1;
+      load_raw = &CLASS packed_load_raw;
+      load_flags = 16;
+    }
     fseek (ifp, save+len, SEEK_SET);
   }
   if (!raw_height) {
@@ -6108,8 +6117,12 @@
        { 4763,712,-646,-6821,14399,2640,-1921,3276,6561 } },
     { "Canon EOS 550D", 0, 0x3dd7,
        { 6941,-1164,-857,-3825,11597,2534,-416,1540,6039 } },
+    { "Canon EOS 600D", 0, 0x3510,     /* DJC */
+       { 5589,-1476,-292,-3401,9372,4030,-706,2038,6350 } },
     { "Canon EOS 1000D", 0, 0xe43,
        { 6771,-1139,-977,-7818,15123,2928,-1244,1437,7533 } },
+    { "Canon EOS 1100D", 0, 0x3510,    /* DJC */
+       { 5193,-1423,-226,-3414,9273,4142,-679,2103,6808 } },
     { "Canon EOS-1Ds Mark III", 0, 0x3bb0,
        { 5859,-211,-930,-8255,16017,2353,-1732,1887,7448 } },
     { "Canon EOS-1Ds Mark II", 0, 0xe80,
@@ -6554,7 +6567,7 @@
        { 8048,-2810,-623,-6450,13519,3272,-1700,2146,7049 } },
     { "Panasonic DMC-LX3", 15, 0,
        { 8128,-2668,-655,-6134,13307,3161,-1782,2568,6083 } },
-    { "LEICA D-LUX4", 15, 0,
+    { "LEICA D-LUX 4", 15, 0,
        { 8128,-2668,-655,-6134,13307,3161,-1782,2568,6083 } },
     { "Panasonic DMC-LX5", 143, 0,
        { 10909,-4295,-948,-1333,9306,2399,22,1738,4582 } },
@@ -6616,6 +6629,8 @@
        { 6038,-1484,-578,-9146,16746,2513,-875,746,7217 } },
     { "SONY DSLR-A380", 0, 0,
        { 6038,-1484,-579,-9145,16746,2512,-875,746,7218 } },
+    { "SONY DSLR-A390", 0, 0,
+       { 6038,-1484,-579,-9145,16746,2512,-875,746,7218 } },
     { "SONY DSLR-A450", 128, 0xfeb,
        { 4950,-580,-103,-5228,12542,3029,-709,1435,7371 } },
     { "SONY DSLR-A580", 128, 0xfeb,
@@ -7314,6 +7329,12 @@
     if (unique_id == 0x80000176)
       adobe_coeff ("Canon","EOS 450D");
     goto canon_cr2;
+  } else if (is_canon && raw_width == 4352) {
+    top_margin  = 18;
+    left_margin = 62;
+    if (unique_id == 0x80000288)
+      adobe_coeff ("Canon","EOS 1100D");
+    goto canon_cr2;
   } else if (is_canon && raw_width == 4476) {
     top_margin  = 34;
     left_margin = 90;
@@ -7339,6 +7360,8 @@
     left_margin = 142;
     if (unique_id == 0x80000270)
       adobe_coeff ("Canon","EOS 550D");
+    if (unique_id == 0x80000286)
+      adobe_coeff ("Canon","EOS 600D");
     goto canon_cr2;
   } else if (is_canon && raw_width == 5360) {
     top_margin = 51;
@@ -7518,8 +7541,8 @@
       maximum = 0x3e00;
     if (is_raw == 2 && shot_select)
       maximum = 0x2f00;
-    top_margin = (raw_height - height)/2;
-    left_margin = (raw_width - width )/2;
+    top_margin = (raw_height - height) >> 2 << 1;
+    left_margin = (raw_width - width ) >> 2 << 1;
     if (is_raw == 2)
       data_offset += (shot_select > 0) * ( fuji_layout ?
                (raw_width *= 2) : raw_height*raw_width*2 );
@@ -7625,18 +7648,22 @@
     load_flags = 32;
   } else if (!strcmp(model,"EX1")) {
     order = 0x4949;
-    height = 2760;
+    height -= 20;
     top_margin = 2;
     if ((width -= 6) > 3682) {
-      height = 2750;
-      width  = 3668;
+      height -= 10;
+      width  -= 46;
       top_margin = 8;
     }
   } else if (!strcmp(model,"WB2000")) {
     order = 0x4949;
     height -= 3;
-    width -= 10;
     top_margin = 2;
+    if ((width -= 10) > 3718) {
+      height -= 28;
+      width  -= 56;
+      top_margin = 8;
+    }
   } else if (fsize == 20487168) {
     height = 2808;
     width  = 3648;
@@ -7740,6 +7767,13 @@
       top_margin  = 4;
       left_margin = 41;
       filters = 0x61616161;
+    } else if (raw_width == 9044) {
+      height = 6716;
+      width  = 8964;
+      top_margin  = 8;
+      left_margin = 40;
+      black += load_flags = 256;
+      maximum = 0x8101;
     } else if (raw_width == 4090) {
       strcpy (model, "V96C");
       height -= (top_margin = 6);
@@ -7762,8 +7796,10 @@
     if (ljpeg_start (&jh, 1) && jh.bits == 15)
       maximum = 0x1fff;
     if (tiff_samples > 1) filters = 0;
-    if (tiff_samples > 1 || tile_length < raw_height)
+    if (tiff_samples > 1 || tile_length < raw_height) {
       load_raw = &CLASS leaf_hdr_load_raw;
+      raw_width = tile_width;
+    }
     if ((width | height) == 2048) {
       if (tiff_samples == 1) {
        filters = 1;


------------------------------------------------------------------------------
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
_______________________________________________
ufraw-cvs mailing list
ufraw-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ufraw-cvs

Reply via email to