Update of /cvsroot/ufraw/ufraw
In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv9374
Modified Files:
Tag: dcraw-original-branch
dcraw.cc
Log Message:
dcraw original 8.99 (1.432).
Index: dcraw.cc
===================================================================
RCS file: /cvsroot/ufraw/ufraw/dcraw.cc,v
retrieving revision 1.1.2.100
retrieving revision 1.1.2.101
diff -u -d -r1.1.2.100 -r1.1.2.101
--- dcraw.cc 23 Sep 2009 03:36:43 -0000 1.1.2.100
+++ dcraw.cc 26 Dec 2009 00:35:54 -0000 1.1.2.101
@@ -23,7 +23,7 @@
$Date$
*/
-#define VERSION "8.98"
+#define VERSION "8.99"
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
@@ -994,7 +994,7 @@
else ip[col][c] = (ip[col-1][c] + ip[col+1][c] + 1) >> 1;
}
for ( ; rp < ip[0]; rp+=4) {
- if (unique_id < 0x80000200) {
+ if (unique_id < 0x80000218) {
pix[0] = rp[0] + rp[2] - 512;
pix[2] = rp[0] + rp[1] - 512;
pix[1] = rp[0] + ((-778*rp[1] - (rp[2] << 11)) >> 12) - 512;
@@ -4538,7 +4538,7 @@
goto get2_rggb;
if (tag == 0x220 && len == 53)
meta_offset = ftell(ifp) + 14;
- if (tag == 0x401 && len == 4) {
+ if (tag == 0x401 && type == 4 && len == 4) {
black = (get4()+get4()+get4()+get4())/4;
}
if (tag == 0xe01) { /* Nikon Capture Note */
@@ -4780,7 +4780,7 @@
{
unsigned entries, tag, type, len, save;
int i, c, wbi=-2, wbtemp=6500;
- float mul[3], num;
+ float mul[3]={1,1,1}, num;
static const int wbtag[]={ 0xfa25,0xfa28,0xfa27,0xfa29,-1,-1,0xfa2a };
entries = get2();
@@ -5155,6 +5155,7 @@
case 50724: /* CameraCalibration2 */
for (i=0; i < colors; i++)
FORCC cc[i][c] = getreal(type);
+ break;
case 50727: /* AnalogBalance */
FORCC ab[c] = getreal(type);
break;
@@ -5293,14 +5294,14 @@
case 262:
load_raw = &CLASS kodak_262_load_raw; break;
case 32767:
+ if (tiff_ifd[raw].bytes == raw_width*raw_height) {
+ tiff_bps = 12;
+ load_raw = &CLASS sony_arw2_load_raw; break;
+ }
if (tiff_ifd[raw].bytes*8 != raw_width*raw_height*tiff_bps) {
raw_height += 8;
load_raw = &CLASS sony_arw_load_raw; break;
}
- if (tiff_bps == 8) {
- tiff_bps = 12;
- load_raw = &CLASS sony_arw2_load_raw; break;
- }
load_flags = 79;
case 32769:
load_flags++;
@@ -5728,8 +5729,11 @@
} else if (tag == 0x121) {
height = get2();
if ((width = get2()) == 4284) width += 3;
- } else if (tag == 0x130)
+ } else if (tag == 0x130) {
fuji_layout = fgetc(ifp) >> 7;
+ load_raw = fgetc(ifp) & 8 ?
+ &CLASS unpacked_load_raw : &CLASS fuji_load_raw;
+ }
if (tag == 0x2ff0)
FORC4 cam_mul[c ^ 1] = get2();
fseek (ifp, save+len, SEEK_SET);
@@ -5993,8 +5997,8 @@
{ 4716,603,-830,-7798,15474,2480,-1496,1937,6651 } },
{ "Canon EOS 5D", 0, 0xe6c,
{ 6347,-479,-972,-8297,15954,2480,-1968,2131,7649 } },
- { "Canon EOS 7D", 0, 0x3510, /* DJC */
- { 7956,-1490,-850,-2896,10428,2469,-827,1800,5680 } },
+ { "Canon EOS 7D", 0, 0x3510,
+ { 6844,-996,-856,-3876,11761,2396,-593,1772,6198 } },
{ "Canon EOS 10D", 0, 0xfa0,
{ 8197,-2000,-1118,-6714,14335,2592,-2536,3178,8266 } },
{ "Canon EOS 20Da", 0, 0,
@@ -6023,10 +6027,12 @@
{ 5859,-211,-930,-8255,16017,2353,-1732,1887,7448 } },
{ "Canon EOS-1Ds Mark II", 0, 0xe80,
{ 6517,-602,-867,-8180,15926,2378,-1618,1771,7633 } },
- { "Canon EOS-1D Mark II N", 0, 0xe80,
- { 6240,-466,-822,-8180,15825,2500,-1801,1938,8042 } },
+ { "Canon EOS-1D Mark IV", 0, 0x3bb0,
+ { 6014,-220,-795,-4109,12014,2361,-561,1824,5787 } },
{ "Canon EOS-1D Mark III", 0, 0x3bb0,
{ 6291,-540,-976,-8350,16145,2311,-1714,1858,7326 } },
+ { "Canon EOS-1D Mark II N", 0, 0xe80,
+ { 6240,-466,-822,-8180,15825,2500,-1801,1938,8042 } },
{ "Canon EOS-1D Mark II", 0, 0xe80,
{ 6264,-582,-724,-8312,15948,2504,-1744,1919,8664 } },
{ "Canon EOS-1DS", 0, 0xe20,
@@ -6044,7 +6050,7 @@
{ "Canon PowerShot G10", 0, 0,
{ 11093,-3906,-1028,-5047,12492,2879,-1003,1750,5561 } },
{ "Canon PowerShot G11", 0, 0,
- { 0 } }, /* don't want the G1 matrix */
+ { 12177,-4817,-1069,-1612,9864,2049,-98,850,4471 } },
{ "Canon PowerShot G1", 0, 0,
{ -4778,9467,2172,4743,-1141,4344,-5146,9908,6077,-1566,11051,557 } },
{ "Canon PowerShot G2", 0, 0,
@@ -6075,6 +6081,8 @@
{ 8795,-2482,-797,-7804,15403,2573,-1422,1996,7082 } },
{ "Canon PowerShot S70", 0, 0,
{ 9976,-3810,-832,-7115,14463,2906,-901,989,7889 } },
+ { "Canon PowerShot S90", 0, 0,
+ { 12374,-5016,-1049,-1677,9902,2078,-83,852,4683 } },
{ "Canon PowerShot A470", 0, 0, /* DJC */
{ 12513,-4407,-1242,-2680,10276,2405,-878,2215,4734 } },
{ "Canon PowerShot A610", 0, 0, /* DJC */
@@ -6097,6 +6105,8 @@
{ 14134,-5576,-1527,-1991,10719,1273,-1158,1929,3581 } },
{ "CASIO EX-S20", 0, 0, /* DJC */
{ 11634,-3924,-1128,-4968,12954,2015,-1588,2648,7206 } },
+ { "CASIO EX-Z750", 0, 0, /* DJC */
+ { 10819,-3873,-1099,-4903,13730,1175,-1755,3751,4632 } },
{ "CINE 650", 0, 0,
{ 3390,480,-500,-800,3610,340,-550,2336,1192 } },
{ "CINE 660", 0, 0,
@@ -6257,6 +6267,8 @@
{ 9030,-1992,-715,-8465,16302,2255,-2689,3217,8069 } },
{ "NIKON D3X", 0, 0,
{ 7171,-1986,-648,-8085,15555,2718,-2170,2512,7457 } },
+ { "NIKON D3S", 0, 0,
+ { 8828,-2406,-694,-4874,12603,2541,-660,1509,7587 } },
{ "NIKON D3", 0, 0,
{ 8139,-2171,-663,-8747,16541,2295,-1925,2008,8093 } },
{ "NIKON D40X", 0, 0,
@@ -6381,6 +6393,8 @@
{ 11057,-3604,-1155,-5152,13046,2329,-282,375,8104 } },
{ "PENTAX K-m", 0, 0,
{ 11057,-3604,-1155,-5152,13046,2329,-282,375,8104 } },
+ { "PENTAX K-x", 0, 0,
+ { 8843,-2837,-625,-5025,12644,2668,-411,1234,7410 } },
{ "PENTAX K-7", 0, 0,
{ 9142,-2947,-678,-8648,16967,1663,-2224,2898,8615 } },
{ "Panasonic DMC-FZ8", 0, 0xf7f0,
@@ -6451,10 +6465,12 @@
{ 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-A5", 254, 0x1ffe,
+ { 4950,-580,-103,-5228,12542,3029,-709,1435,7371 } },
{ "SONY DSLR-A700", 254, 0x1ffe,
{ 5775,-805,-359,-8574,16295,2391,-1943,2341,7249 } },
{ "SONY DSLR-A850", 256, 0x1ffe,
- { 5209,-1072,-397,-8845,16121,2919,-1618,1802,8654 } },
+ { 5413,-1162,-365,-5665,13098,2866,-608,1179,8440 } },
{ "SONY DSLR-A900", 254, 0x1ffe,
{ 5209,-1072,-397,-8845,16120,2919,-1618,1803,8654 } }
};
@@ -6613,6 +6629,7 @@
{ 7753344, "CASIO", "EX-Z55" ,1 },
{ 7816704, "CASIO", "EX-Z60" ,1 },
{ 10843712, "CASIO", "EX-Z75" ,1 },
+ { 10834368, "CASIO", "EX-Z750" ,1 },
{ 12310144, "CASIO", "EX-Z850" ,1 },
{ 7426656, "CASIO", "EX-P505" ,1 },
{ 9313536, "CASIO", "EX-P600" ,1 },
@@ -7071,6 +7088,11 @@
if (unique_id == 0x80000252)
adobe_coeff ("Canon","EOS 500D");
goto canon_cr2;
+ } else if (is_canon && raw_width == 1280) {
+ height -= top_margin = 45;
+ left_margin = 142;
+ raw_width *= 4;
+ width = 4916;
} else if (is_canon && raw_width == 1340) {
top_margin = 51;
left_margin = 158;
@@ -7105,6 +7127,7 @@
height -= 3;
width -= 4;
} else if (!strcmp(model,"D3") ||
+ !strcmp(model,"D3S") ||
!strcmp(model,"D700")) {
width -= 4;
left_margin = 2;
@@ -7235,9 +7258,6 @@
maximum = 0xf83;
load_raw = &CLASS packed_load_raw;
load_flags = 30;
- } else if (!strcmp(model,"FinePix S5100") ||
- !strcmp(model,"FinePix S5500")) {
- load_raw = &CLASS unpacked_load_raw;
} else if (!strcmp(make,"FUJIFILM")) {
if (!strcmp(model+7,"S2Pro")) {
strcpy (model+7," S2Pro");
@@ -7253,12 +7273,13 @@
if (is_raw == 2)
data_offset += (shot_select > 0) * ( fuji_layout ?
(raw_width *= 2) : raw_height*raw_width*2 );
- fuji_width = width >> !fuji_layout;
- width = (height >> fuji_layout) + fuji_width;
- raw_height = height;
- height = width - 1;
- load_raw = &CLASS fuji_load_raw;
- if (!(fuji_width & 1)) filters = 0x49494949;
+ if (load_raw == &CLASS fuji_load_raw) {
+ fuji_width = width >> !fuji_layout;
+ width = (height >> fuji_layout) + fuji_width;
+ raw_height = height;
+ height = width - 1;
+ if (~fuji_width & 1) filters = 0x49494949;
+ }
} else if (!strcmp(model,"RD175")) {
height = 986;
width = 1534;
@@ -7312,6 +7333,9 @@
height -= 2;
} else if (!strcmp(model,"K20D")) {
filters = 0x16161616;
+ } else if (!strcmp(model,"K-x")) {
+ width = 4309;
+ filters = 0x16161616;
} else if (!strcmp(model,"Optio S")) {
if (fsize == 3178560) {
height = 1540;
@@ -7895,6 +7919,11 @@
width = 3089;
raw_width = 4672;
maximum = 0xfff;
+ } else if (!strcmp(model,"EX-Z750")) {
+ height = 2319;
+ width = 3087;
+ raw_width = 4672;
+ maximum = 0xfff;
} else if (!strcmp(model,"EX-Z850")) {
height = 2468;
width = 3279;
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________
ufraw-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ufraw-cvs