Update of /cvsroot/ufraw/ufraw In directory vz-cvs-2.sog:/tmp/cvs-serv7299 Modified Files: dcraw.cc Log Message: dcraw modified 9.07 (1.442). Changelog: Support the Hasselblad 9044x6732 back, Leaf 1068x1464 back, Fuji X100, and Canon 600D and 1100D.
Index: dcraw.cc =================================================================== RCS file: /cvsroot/ufraw/ufraw/dcraw.cc,v retrieving revision 1.240 retrieving revision 1.241 diff -u -d -r1.240 -r1.241 --- dcraw.cc 1 Mar 2011 03:38:35 -0000 1.240 +++ dcraw.cc 2 Apr 2011 04:15:47 -0000 1.241 @@ -22,7 +22,7 @@ #include "uf_progress.h" } -#define DCRAW_VERSION "9.06" +#define DCRAW_VERSION "9.07" #ifndef _GNU_SOURCE #define _GNU_SOURCE @@ -1736,7 +1736,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) { @@ -5914,9 +5914,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) { @@ -6215,8 +6224,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, @@ -6661,7 +6674,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 } }, @@ -6723,6 +6736,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, @@ -7422,6 +7437,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; @@ -7447,6 +7468,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; @@ -7629,8 +7652,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 ); @@ -7855,6 +7878,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); @@ -7877,8 +7907,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