diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc index 19ce0aa2e..71b3ada6b 100644 --- a/rtengine/dcraw.cc +++ b/rtengine/dcraw.cc @@ -6202,8 +6202,8 @@ void CLASS adobe_coeff (const char *make, const char *model) { 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, - { 6844,-996,-856,-3876,11761,2396,-593,1772,6198 } }, + { "Canon EOS 7D", 0, 0x3510, /* RT - Colin Walker */ + { 8937,-1470,-939,-2286,10178,2456,-404,1267,8877 } }, { "Canon EOS 10D", 0, 0xfa0, { 8197,-2000,-1118,-6714,14335,2592,-2536,3178,8266 } }, { "Canon EOS 20Da", 0, 0, @@ -6216,8 +6216,8 @@ void CLASS adobe_coeff (const char *make, const char *model) { 6071,-747,-856,-7653,15365,2441,-2025,2553,7315 } }, { "Canon EOS 50D", 0, 0x3d93, { 4920,616,-593,-6493,13964,2784,-1774,3178,7005 } }, - { "Canon EOS 60D", 0, 0x2ff7, - { 6719,-994,-925,-4408,12426,2211,-887,2129,6051 } }, + { "Canon EOS 60D", 0, 0x2ff7, /* RT - Colin Walker */ + { 5678,-179,-718,-4389,12381,2243,-869,1819,6380 } }, { "Canon EOS 300D", 0, 0xfa0, { 8197,-2000,-1118,-6714,14335,2592,-2536,3178,8266 } }, { "Canon EOS 350D", 0, 0xfff, @@ -6388,8 +6388,8 @@ void CLASS adobe_coeff (const char *make, const char *model) { 13690,-5358,-1474,-3369,11600,1998,-132,1554,4395 } }, { "FUJIFILM FinePix F550EXR", 0, 0, { 13690,-5358,-1474,-3369,11600,1998,-132,1554,4395 } }, - { "FUJIFILM FinePix X100", 0, 0, /* RT - Colin Walker */ - { 11025,-3498,-758,-4528,12377,2410,-502,1159,7267 } }, + { "FUJIFILM FinePix X100", 0, 0, + { 10841,-3288,-807,-4652,12552,2344,-642,1355,7206 } }, { "Imacon Ixpress", 0, 0, /* DJC */ { 7025,-1415,-704,-5188,13765,1424,-1248,2742,6038 } }, { "KODAK NC2000", 0, 0, @@ -6602,12 +6602,12 @@ void CLASS adobe_coeff (const char *make, const char *model) { 8453,-2198,-1092,-7609,15681,2008,-1725,2337,7824 } }, { "OLYMPUS E-620", 0, 0xfaf, { 8453,-2198,-1092,-7609,15681,2008,-1725,2337,7824 } }, - { "OLYMPUS E-P1", 0, 0xffd, - { 8343,-2050,-1021,-7715,15705,2103,-1831,2380,8235 } }, - { "OLYMPUS E-P2", 0, 0xffd, - { 8343,-2050,-1021,-7715,15705,2103,-1831,2380,8235 } }, - { "OLYMPUS E-P3", 0, 0, /* DJC */ - { 7488,-3021,-55,-2377,8348,4029,-816,2405,6327 } }, + { "OLYMPUS E-P1", 0, 0xffd, /* RT - Colin Walker */ + { 8834,-2344,-804,-4691,12503,2448,-978,1919,7603 } }, + { "OLYMPUS E-P2", 0, 0xffd, /* RT - Colin Walker */ + { 7758,-1619,-800,-5002,12886,2349,-985,1964,8305 } }, + { "OLYMPUS E-P3", 0, 0, /* RT - Colin Walker */ + { 7041,-1794,-336,-3790,11192,2984,-1364,2625,6217 } }, { "OLYMPUS E-PL1s", 0, 0, { 11409,-3872,-1393,-4572,12757,2003,-709,1810,7415 } }, { "OLYMPUS E-PL1", 0, 0, @@ -6704,30 +6704,32 @@ void CLASS adobe_coeff (const char *make, const char *model) { 10909,-4295,-948,-1333,9306,2399,22,1738,4582 } }, { "LEICA D-LUX 5", 143, 0, { 10909,-4295,-948,-1333,9306,2399,22,1738,4582 } }, + { "Leica Camera AG M9 Digital Camera", 0, 0, /* RT */ + { 7181,-1706,-55,-3557,11409,2450,-621,2072,7533 } }, { "Panasonic DMC-FZ100", 143, 0xfff, { 16197,-6146,-1761,-2393,10765,1869,366,2238,5248 } }, { "LEICA V-LUX 2", 143, 0xfff, { 16197,-6146,-1761,-2393,10765,1869,366,2238,5248 } }, { "Panasonic DMC-FX150", 15, 0xfff, { 9082,-2907,-925,-6119,13377,3058,-1797,2641,5609 } }, - { "Panasonic DMC-G10", 0, 0, - { 10113,-3400,-1114,-4765,12683,2317,-377,1437,6710 } }, - { "Panasonic DMC-G1", 15, 0xf94, /* RT */ - { 7844,-1989,-569,-4885,12294,2929,-983,2065,7049 } }, - { "Panasonic DMC-G2", 15, 0xf3c, - { 10113,-3400,-1114,-4765,12683,2317,-377,1437,6710 } }, + { "Panasonic DMC-G10", 15, 0xf3c, /* RT - Colin Walker */ + { 8310,-1811,-960,-4941,12990,2151,-1378,2468,6860 } }, + { "Panasonic DMC-G1", 15, 0xf94, /* RT - Colin Walker*/ + { 7477,-1615,-651,-5016,12769,2506,-1380,2475,7240 } }, + { "Panasonic DMC-G2", 15, 0xf3c, /* RT - Colin Walker */ + { 8310,-1811,-960,-4941,12990,2151,-1378,2468,6860 } }, { "Panasonic DMC-G3", 143, 0xfff, /* RT - Colin Walker */ { 6051,-1406,-671,-4015,11505,2868,-1654,2667,6219 } }, - { "Panasonic DMC-GF1", 15, 0xf92, - { 7888,-1902,-1011,-8106,16085,2099,-2353,2866,7330 } }, - { "Panasonic DMC-GF2", 143, 0xfff, - { 7888,-1902,-1011,-8106,16085,2099,-2353,2866,7330 } }, - { "Panasonic DMC-GF3", 143, 0xfff, /* DJC */ - { 8407,-3261,-502,-3997,10651,3347,-1095,2742,7294 } }, - { "Panasonic DMC-GH1", 15, 0xf92, /* RT */ - { 6821,-1786,-547,-3999,11389,2989,-1173,2586,5566 } }, - { "Panasonic DMC-GH2", 15, 0xf95, - { 7780,-2410,-806,-3913,11724,2484,-1018,2390,5298 } }, + { "Panasonic DMC-GF1", 15, 0xf92, /* RT - Colin Walker */ + { 7863,-2080,-668,-4623,12331,2578,-1020,2066,7266 } }, + { "Panasonic DMC-GF2", 143, 0xfff, /* RT - Colin Walker */ + { 7694,-1791,-745,-4917,12818,2332,-1221,2322,7197 } }, + { "Panasonic DMC-GF3", 143, 0xfff, /* RT - Colin Walker */ + { 8074,-1846,-861,-5026,12999,2239,-1320,2375,7422 } }, + { "Panasonic DMC-GH1", 15, 0xf92, /* RT - Colin Walker */ + { 6360,-1557,-375,-4201,11504,3086,-1378,2518,5843 } }, + { "Panasonic DMC-GH2", 15, 0xf95, /* RT - Colin Walker */ + { 6855,-1765,-456,-4223,11600,2996,-1450,2602,5761 } }, { "Phase One H 20", 0, 0, /* DJC */ { 1313,1855,-109,-6715,15908,808,-327,1840,6020 } }, { "Phase One P 2", 0, 0, diff --git a/rtengine/dcraw.patch b/rtengine/dcraw.patch index 90083abea..f6888cb83 100644 --- a/rtengine/dcraw.patch +++ b/rtengine/dcraw.patch @@ -1,5 +1,5 @@ --- C:/GCC/RT/RTSrc/rtengine/dcraw.c Tue Aug 16 06:59:22 2011 -+++ C:/GCC/RT/RTSrc/rtengine/dcraw.cc Thu Aug 25 15:50:54 2011 ++++ C:/GCC/RT/RTSrc/rtengine/dcraw.cc Thu Sep 01 18:46:35 2011 @@ -1,3 +1,14 @@ +/*RT*/#include +/*RT*/#include @@ -306,14 +306,36 @@ if (parse_tiff (save+6)) apply_tiff(); fseek (ifp, save+len, SEEK_SET); } +@@ -6181,8 +6202,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, +- { 6844,-996,-856,-3876,11761,2396,-593,1772,6198 } }, ++ { "Canon EOS 7D", 0, 0x3510, /* RT - Colin Walker */ ++ { 8937,-1470,-939,-2286,10178,2456,-404,1267,8877 } }, + { "Canon EOS 10D", 0, 0xfa0, + { 8197,-2000,-1118,-6714,14335,2592,-2536,3178,8266 } }, + { "Canon EOS 20Da", 0, 0, +@@ -6195,8 +6216,8 @@ + { 6071,-747,-856,-7653,15365,2441,-2025,2553,7315 } }, + { "Canon EOS 50D", 0, 0x3d93, + { 4920,616,-593,-6493,13964,2784,-1774,3178,7005 } }, +- { "Canon EOS 60D", 0, 0x2ff7, +- { 6719,-994,-925,-4408,12426,2211,-887,2129,6051 } }, ++ { "Canon EOS 60D", 0, 0x2ff7, /* RT - Colin Walker */ ++ { 5678,-179,-718,-4389,12381,2243,-869,1819,6380 } }, + { "Canon EOS 300D", 0, 0xfa0, + { 8197,-2000,-1118,-6714,14335,2592,-2536,3178,8266 } }, + { "Canon EOS 350D", 0, 0xfff, @@ -6367,8 +6388,8 @@ { 13690,-5358,-1474,-3369,11600,1998,-132,1554,4395 } }, { "FUJIFILM FinePix F550EXR", 0, 0, { 13690,-5358,-1474,-3369,11600,1998,-132,1554,4395 } }, - { "FUJIFILM FinePix X100", 0, 0, - { 12161,-4457,-1069,-5034,12874,2400,-795,1724,6904 } }, -+ { "FUJIFILM FinePix X100", 0, 0, /* RT - Colin Walker */ -+ { 11025,-3498,-758,-4528,12377,2410,-502,1159,7267 } }, ++ { "FUJIFILM FinePix X100", 0, 0, ++ { 10841,-3288,-807,-4652,12552,2344,-642,1355,7206 } }, { "Imacon Ixpress", 0, 0, /* DJC */ { 7025,-1415,-704,-5188,13765,1424,-1248,2742,6038 } }, { "KODAK NC2000", 0, 0, @@ -328,35 +350,77 @@ { "NIKON D70", 0, 0, { 7732,-2422,-789,-8238,15884,2498,-859,783,7330 } }, { "NIKON D80", 0, 0, -@@ -6691,20 +6712,20 @@ +@@ -6581,12 +6602,12 @@ + { 8453,-2198,-1092,-7609,15681,2008,-1725,2337,7824 } }, + { "OLYMPUS E-620", 0, 0xfaf, + { 8453,-2198,-1092,-7609,15681,2008,-1725,2337,7824 } }, +- { "OLYMPUS E-P1", 0, 0xffd, +- { 8343,-2050,-1021,-7715,15705,2103,-1831,2380,8235 } }, +- { "OLYMPUS E-P2", 0, 0xffd, +- { 8343,-2050,-1021,-7715,15705,2103,-1831,2380,8235 } }, +- { "OLYMPUS E-P3", 0, 0, /* DJC */ +- { 7488,-3021,-55,-2377,8348,4029,-816,2405,6327 } }, ++ { "OLYMPUS E-P1", 0, 0xffd, /* RT - Colin Walker */ ++ { 8834,-2344,-804,-4691,12503,2448,-978,1919,7603 } }, ++ { "OLYMPUS E-P2", 0, 0xffd, /* RT - Colin Walker */ ++ { 7758,-1619,-800,-5002,12886,2349,-985,1964,8305 } }, ++ { "OLYMPUS E-P3", 0, 0, /* RT - Colin Walker */ ++ { 7041,-1794,-336,-3790,11192,2984,-1364,2625,6217 } }, + { "OLYMPUS E-PL1s", 0, 0, + { 11409,-3872,-1393,-4572,12757,2003,-709,1810,7415 } }, + { "OLYMPUS E-PL1", 0, 0, +@@ -6683,30 +6704,32 @@ + { 10909,-4295,-948,-1333,9306,2399,22,1738,4582 } }, + { "LEICA D-LUX 5", 143, 0, + { 10909,-4295,-948,-1333,9306,2399,22,1738,4582 } }, ++ { "Leica Camera AG M9 Digital Camera", 0, 0, /* RT */ ++ { 7181,-1706,-55,-3557,11409,2450,-621,2072,7533 } }, + { "Panasonic DMC-FZ100", 143, 0xfff, + { 16197,-6146,-1761,-2393,10765,1869,366,2238,5248 } }, + { "LEICA V-LUX 2", 143, 0xfff, + { 16197,-6146,-1761,-2393,10765,1869,366,2238,5248 } }, + { "Panasonic DMC-FX150", 15, 0xfff, { 9082,-2907,-925,-6119,13377,3058,-1797,2641,5609 } }, - { "Panasonic DMC-G10", 0, 0, - { 10113,-3400,-1114,-4765,12683,2317,-377,1437,6710 } }, +- { "Panasonic DMC-G10", 0, 0, +- { 10113,-3400,-1114,-4765,12683,2317,-377,1437,6710 } }, - { "Panasonic DMC-G1", 15, 0xf94, - { 8199,-2065,-1056,-8124,16156,2033,-2458,3022,7220 } }, -+ { "Panasonic DMC-G1", 15, 0xf94, /* RT */ -+ { 7844,-1989,-569,-4885,12294,2929,-983,2065,7049 } }, - { "Panasonic DMC-G2", 15, 0xf3c, - { 10113,-3400,-1114,-4765,12683,2317,-377,1437,6710 } }, +- { "Panasonic DMC-G2", 15, 0xf3c, +- { 10113,-3400,-1114,-4765,12683,2317,-377,1437,6710 } }, - { "Panasonic DMC-G3", 143, 0xfff, /* DJC */ - { 6460,-2578,-366,-2786,8728,4059,-1073,2525,6254 } }, -+ { "Panasonic DMC-G3", 143, 0xfff, /* RT - Colin Walker */ -+ { 6051,-1406,-671,-4015,11505,2868,-1654,2667,6219 } }, - { "Panasonic DMC-GF1", 15, 0xf92, - { 7888,-1902,-1011,-8106,16085,2099,-2353,2866,7330 } }, - { "Panasonic DMC-GF2", 143, 0xfff, - { 7888,-1902,-1011,-8106,16085,2099,-2353,2866,7330 } }, - { "Panasonic DMC-GF3", 143, 0xfff, /* DJC */ +- { "Panasonic DMC-GF1", 15, 0xf92, +- { 7888,-1902,-1011,-8106,16085,2099,-2353,2866,7330 } }, +- { "Panasonic DMC-GF2", 143, 0xfff, +- { 7888,-1902,-1011,-8106,16085,2099,-2353,2866,7330 } }, +- { "Panasonic DMC-GF3", 143, 0xfff, /* DJC */ - { 8407,-3261,-502,-3997,10651,3347,-1095,2742,7294 } }, - { "Panasonic DMC-GH1", 15, 0xf92, - { 6299,-1466,-532,-6535,13852,2969,-2331,3112,5984 } }, -+ { 8407,-3261,-502,-3997,10651,3347,-1095,2742,7294 } }, -+ { "Panasonic DMC-GH1", 15, 0xf92, /* RT */ -+ { 6821,-1786,-547,-3999,11389,2989,-1173,2586,5566 } }, - { "Panasonic DMC-GH2", 15, 0xf95, - { 7780,-2410,-806,-3913,11724,2484,-1018,2390,5298 } }, +- { "Panasonic DMC-GH2", 15, 0xf95, +- { 7780,-2410,-806,-3913,11724,2484,-1018,2390,5298 } }, ++ { "Panasonic DMC-G10", 15, 0xf3c, /* RT - Colin Walker */ ++ { 8310,-1811,-960,-4941,12990,2151,-1378,2468,6860 } }, ++ { "Panasonic DMC-G1", 15, 0xf94, /* RT - Colin Walker*/ ++ { 7477,-1615,-651,-5016,12769,2506,-1380,2475,7240 } }, ++ { "Panasonic DMC-G2", 15, 0xf3c, /* RT - Colin Walker */ ++ { 8310,-1811,-960,-4941,12990,2151,-1378,2468,6860 } }, ++ { "Panasonic DMC-G3", 143, 0xfff, /* RT - Colin Walker */ ++ { 6051,-1406,-671,-4015,11505,2868,-1654,2667,6219 } }, ++ { "Panasonic DMC-GF1", 15, 0xf92, /* RT - Colin Walker */ ++ { 7863,-2080,-668,-4623,12331,2578,-1020,2066,7266 } }, ++ { "Panasonic DMC-GF2", 143, 0xfff, /* RT - Colin Walker */ ++ { 7694,-1791,-745,-4917,12818,2332,-1221,2322,7197 } }, ++ { "Panasonic DMC-GF3", 143, 0xfff, /* RT - Colin Walker */ ++ { 8074,-1846,-861,-5026,12999,2239,-1320,2375,7422 } }, ++ { "Panasonic DMC-GH1", 15, 0xf92, /* RT - Colin Walker */ ++ { 6360,-1557,-375,-4201,11504,3086,-1378,2518,5843 } }, ++ { "Panasonic DMC-GH2", 15, 0xf95, /* RT - Colin Walker */ ++ { 6855,-1765,-456,-4223,11600,2996,-1450,2602,5761 } }, { "Phase One H 20", 0, 0, /* DJC */ -@@ -6769,8 +6790,8 @@ + { 1313,1855,-109,-6715,15908,808,-327,1840,6020 } }, + { "Phase One P 2", 0, 0, +@@ -6769,8 +6792,8 @@ { 6907,-1256,-645,-4940,12621,2320,-1710,2581,6230 } }, { "SONY NEX-5", 116, 0, /* DJC */ { 6807,-1350,-342,-4216,11649,2567,-1089,2001,6420 } }, @@ -367,7 +431,7 @@ { "SONY NEX", 128, 0, /* Adobe's matrix */ { 6549,-1550,-436,-4880,12435,2753,-854,1868,6976 } }, { "SONY SLT-A33", 128, 0, -@@ -6778,7 +6799,9 @@ +@@ -6778,7 +6801,9 @@ { "SONY SLT-A35", 128, 0, /* DJC */ { 4504,-1495,115,-3507,9101,4407,-669,1844,6806 } }, { "SONY SLT-A55", 128, 0, @@ -378,7 +442,7 @@ }; double cam_xyz[4][3]; char name[130]; -@@ -7021,6 +7044,12 @@ +@@ -7021,6 +7046,12 @@ fread (head, 1, 32, ifp); fseek (ifp, 0, SEEK_END); flen = fsize = ftell(ifp); @@ -391,7 +455,7 @@ if ((cp = (char *) memmem (head, 32, "MMMM", 4)) || (cp = (char *) memmem (head, 32, "IIII", 4))) { parse_phase_one (cp-head); -@@ -7028,6 +7057,8 @@ +@@ -7028,6 +7059,8 @@ } else if (order == 0x4949 || order == 0x4d4d) { if (!memcmp (head+6,"HEAPCCDR",8)) { data_offset = hlen; @@ -400,7 +464,7 @@ parse_ciff (hlen, flen - hlen); } else if (parse_tiff(0)) apply_tiff(); } else if (!memcmp (head,"\xff\xd8\xff\xe1",4) && -@@ -7071,6 +7102,7 @@ +@@ -7071,6 +7104,7 @@ fseek (ifp, 100+28*(shot_select > 0), SEEK_SET); parse_tiff (data_offset = get4()); parse_tiff (thumb_offset+12); @@ -408,7 +472,7 @@ apply_tiff(); } else if (!memcmp (head,"RIFF",4)) { fseek (ifp, 0, SEEK_SET); -@@ -7116,8 +7148,7 @@ +@@ -7116,8 +7150,7 @@ parse_redcine(); load_raw = &CLASS redcine_load_raw; gamma_curve (1/2.4, 12.92, 1, 4095); @@ -418,7 +482,7 @@ parse_rollei(); else if (!memcmp (head,"PWAD",4)) parse_sinar_ia(); -@@ -7172,7 +7203,7 @@ +@@ -7172,7 +7205,7 @@ if (height == 3136 && width == 4864) /* Pentax K20D and Samsung GX20 */ { height = 3124; width = 4688; filters = 0x16161616; } if (!strcmp(model,"K-r") || !strcmp(model,"K-x")) @@ -427,7 +491,7 @@ if (!strcmp(model,"K-5")) { left_margin = 10; width = 4950; filters = 0x16161616; } if (!strcmp(model,"K-7")) -@@ -8791,13 +8822,13 @@ +@@ -8791,13 +8824,13 @@ FORCC ppm [col*colors+c] = curve[image[soff][c]] >> 8; else FORCC ppm2[col*colors+c] = curve[image[soff][c]]; if (output_bps == 16 && !output_tiff && htons(0x55aa) != 0x55aa) @@ -443,7 +507,7 @@ { int arg, status=0; int timestamp_only=0, thumbnail_only=0, identify_only=0; -@@ -8910,7 +8941,7 @@ +@@ -8910,7 +8943,7 @@ case 'i': identify_only = 1; break; case 'c': write_to_stdout = 1; break; case 'v': verbose = 1; break; @@ -452,7 +516,7 @@ case 'f': four_color_rgb = 1; break; case 'A': FORC4 greybox[c] = atoi(argv[arg++]); case 'a': use_auto_wb = 1; break; -@@ -9173,3 +9204,4 @@ +@@ -9173,3 +9206,4 @@ } return status; }