diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc index 6ac5e861a..d1055db4a 100644 --- a/rtengine/dcraw.cc +++ b/rtengine/dcraw.cc @@ -6252,6 +6252,8 @@ void CLASS adobe_coeff (const char *make, const char *model) { 7309,-1403,-519,-8474,16008,2622,-2433,2826,8064 } }, { "NIKON D5100", 0, 0x3de6, { 8198,-2239,-724,-4871,12389,2798,-1043,2050,7181 } }, + { "NIKON D5200", 0, 0, // color matrix copied from D5200 DNG D65 matrix + { 8322, -3112,-1047,-6367,14342,2179,-988,1638,6394 } }, { "NIKON D50", 0, 0, { 7732,-2422,-789,-8238,15884,2498,-859,783,7330 } }, { "NIKON D600", 0, 0x3e07, @@ -6260,6 +6262,8 @@ void CLASS adobe_coeff (const char *make, const char *model) { 8736,-2458,-935,-9075,16894,2251,-1354,1242,8263 } }, { "NIKON D7000", 0, 0, /* RT - Tanveer(tsk1979) */ { 7530,-1942,-255,-4318,11390,3362,-926,1694,7649 } }, + { "NIKON D7100", 0, 0x3e00, // color matrix and WP copied from D7100 DNG D65 matrix + { 8322,-3112,-1047,-6367,14342,2179,-988,1638,6394 } }, { "NIKON D700", 0, 0, /* RT */ { 8364,-2503,-352,-6307,14026,2492,-1134,1512,8156 } }, { "NIKON D70", 0, 0, @@ -6296,6 +6300,8 @@ void CLASS adobe_coeff (const char *make, const char *model) { 8489,-2583,-1036,-8051,15583,2643,-1307,1407,7354 } }, { "NIKON E8800", 0, 0, { 7971,-2314,-913,-8451,15762,2894,-1442,1520,7610 } }, + { "NIKON COOLPIX A", 0, 0x3e00, // color matrix and WP copied from "COOLPIX A" DNG D65 matrix + { 8198,-2239,-724,-4871,12389,2798,-1043,205,7181 } }, { "NIKON COOLPIX P6000", 0, 0, { 9698,-3367,-914,-4706,12584,2368,-837,968,5801 } }, { "NIKON COOLPIX P7000", 0, 0, @@ -7465,7 +7471,8 @@ canon_cr2: !strcmp(model,"D90")) { width -= 42; } else if (!strcmp(model,"D5100") || - !strcmp(model,"D7000")) { + !strcmp(model,"D7000") || + !strcmp(model,"COOLPIX A")) { width -= 44; } else if (!strcmp(model,"D3200") || !strcmp(model,"D600") || diff --git a/rtengine/dcraw.patch b/rtengine/dcraw.patch index f97b139fb..4b657bad5 100644 --- a/rtengine/dcraw.patch +++ b/rtengine/dcraw.patch @@ -1,5 +1,5 @@ --- dcraw.c 2012-12-26 13:09:14 -0500 -+++ dcraw.cc 2013-03-16 08:12:11 -0400 ++++ dcraw.cc 2013-04-09 23:51:55 -0400 @@ -1,3 +1,15 @@ +/*RT*/#include +/*RT*/#include @@ -895,7 +895,15 @@ { "NIKON D3", 0, 0, { 8139,-2171,-663,-8747,16541,2295,-1925,2008,8093 } }, { "NIKON D40X", 0, 0, -@@ -6651,10 +6258,10 @@ +@@ -6645,16 +6252,20 @@ + { 7309,-1403,-519,-8474,16008,2622,-2433,2826,8064 } }, + { "NIKON D5100", 0, 0x3de6, + { 8198,-2239,-724,-4871,12389,2798,-1043,2050,7181 } }, ++ { "NIKON D5200", 0, 0, // color matrix copied from D5200 DNG D65 matrix ++ { 8322, -3112,-1047,-6367,14342,2179,-988,1638,6394 } }, + { "NIKON D50", 0, 0, + { 7732,-2422,-789,-8238,15884,2498,-859,783,7330 } }, + { "NIKON D600", 0, 0x3e07, { 8178,-2245,-609,-4857,12394,2776,-1207,2086,7298 } }, { "NIKON D60", 0, 0, { 8736,-2458,-935,-9075,16894,2251,-1354,1242,8263 } }, @@ -905,12 +913,23 @@ - { 8139,-2171,-663,-8747,16541,2295,-1925,2008,8093 } }, + { "NIKON D7000", 0, 0, /* RT - Tanveer(tsk1979) */ + { 7530,-1942,-255,-4318,11390,3362,-926,1694,7649 } }, ++ { "NIKON D7100", 0, 0x3e00, // color matrix and WP copied from D7100 DNG D65 matrix ++ { 8322,-3112,-1047,-6367,14342,2179,-988,1638,6394 } }, + { "NIKON D700", 0, 0, /* RT */ + { 8364,-2503,-352,-6307,14026,2492,-1134,1512,8156 } }, { "NIKON D70", 0, 0, { 7732,-2422,-789,-8238,15884,2498,-859,783,7330 } }, { "NIKON D800", 0, 0, -@@ -6721,8 +6328,8 @@ +@@ -6689,6 +6300,8 @@ + { 8489,-2583,-1036,-8051,15583,2643,-1307,1407,7354 } }, + { "NIKON E8800", 0, 0, + { 7971,-2314,-913,-8451,15762,2894,-1442,1520,7610 } }, ++ { "NIKON COOLPIX A", 0, 0x3e00, // color matrix and WP copied from "COOLPIX A" DNG D65 matrix ++ { 8198,-2239,-724,-4871,12389,2798,-1043,205,7181 } }, + { "NIKON COOLPIX P6000", 0, 0, + { 9698,-3367,-914,-4706,12584,2368,-837,968,5801 } }, + { "NIKON COOLPIX P7000", 0, 0, +@@ -6721,8 +6334,8 @@ { 7828,-1761,-348,-5788,14071,1830,-2853,4518,6557 } }, { "OLYMPUS E-330", 0, 0, { 8961,-2473,-1084,-7979,15990,2067,-2319,3035,8249 } }, @@ -921,7 +940,7 @@ { "OLYMPUS E-3", 0, 0xf99, { 9487,-2875,-1115,-7533,15606,2010,-1618,2100,7389 } }, { "OLYMPUS E-400", 0, 0, -@@ -6739,26 +6346,26 @@ +@@ -6739,26 +6352,26 @@ { 8785,-2529,-1033,-7639,15624,2112,-1783,2300,7817 } }, { "OLYMPUS E-520", 0, 0xfd2, { 8344,-2322,-1020,-7596,15635,2048,-1748,2269,7287 } }, @@ -964,7 +983,7 @@ { "OLYMPUS E-PL5", 0, 0xfcb, { 8380,-2630,-639,-2887,10725,2496,-627,1427,5438 } }, { "OLYMPUS E-PM1", 0, 0, -@@ -6781,8 +6388,8 @@ +@@ -6781,8 +6394,8 @@ { 10915,-3677,-982,-5587,12986,2911,-1168,1968,6223 } }, { "OLYMPUS SP570UZ", 0, 0, { 11522,-4044,-1146,-4736,12172,2904,-988,1829,6039 } }, @@ -975,7 +994,7 @@ { "OLYMPUS XZ-2", 0, 0, { 9777,-3483,-925,-2886,11297,1800,-602,1663,5134 } }, { "PENTAX *ist DL2", 0, 0, -@@ -6801,8 +6408,8 @@ +@@ -6801,8 +6414,8 @@ { 11095,-3157,-1324,-8377,15834,2720,-1108,947,11688 } }, { "PENTAX K20D", 0, 0, { 9427,-2714,-868,-7493,16092,1373,-2199,3264,7180 } }, @@ -986,7 +1005,7 @@ { "PENTAX K2000", 0, 0, { 11057,-3604,-1155,-5152,13046,2329,-282,375,8104 } }, { "PENTAX K-m", 0, 0, -@@ -6861,6 +6468,8 @@ +@@ -6861,6 +6474,8 @@ { 10909,-4295,-948,-1333,9306,2399,22,1738,4582 } }, { "LEICA D-LUX 5", 143, 0, { 10909,-4295,-948,-1333,9306,2399,22,1738,4582 } }, @@ -995,7 +1014,7 @@ { "Panasonic DMC-LX7", 143, 0, { 10148,-3743,-991,-2837,11366,1659,-701,1893,4899 } }, { "LEICA D-LUX 6", 143, 0, -@@ -6869,8 +6478,8 @@ +@@ -6869,8 +6484,8 @@ { 16197,-6146,-1761,-2393,10765,1869,366,2238,5248 } }, { "LEICA V-LUX 2", 143, 0xfff, { 16197,-6146,-1761,-2393,10765,1869,366,2238,5248 } }, @@ -1006,7 +1025,7 @@ { "LEICA V-LUX 3", 143, 0xfff, { 11904,-4541,-1189,-2355,10899,1662,-296,1586,4289 } }, { "Panasonic DMC-FZ200", 143, 0xfff, -@@ -6879,28 +6488,28 @@ +@@ -6879,28 +6494,28 @@ { 8112,-2563,-740,-3730,11784,2197,-941,2075,4933 } }, { "Panasonic DMC-FX150", 15, 0xfff, { 9082,-2907,-925,-6119,13377,3058,-1797,2641,5609 } }, @@ -1055,7 +1074,7 @@ { "Panasonic DMC-GH3", 144, 0, { 6559,-1752,-491,-3672,11407,2586,-962,1875,5130 } }, { "Panasonic DMC-GX1", 143, 0, -@@ -6971,24 +6580,22 @@ +@@ -6971,24 +6586,22 @@ { 5932,-1492,-411,-4813,12285,2856,-741,1524,6739 } }, { "SONY DSLR-A5", 128, 0xfeb, { 4950,-580,-103,-5228,12542,3029,-709,1435,7371 } }, @@ -1092,7 +1111,7 @@ { "SONY NEX-6", 128, 0, { 6129,-1545,-418,-4930,12490,2743,-977,1693,6615 } }, { "SONY NEX-7", 128, 0, -@@ -7004,13 +6611,13 @@ +@@ -7004,13 +6617,13 @@ { "SONY SLT-A55", 128, 0, { 5932,-1492,-411,-4813,12285,2856,-741,1524,6739 } }, { "SONY SLT-A57", 128, 0, @@ -1110,7 +1129,7 @@ }; double cam_xyz[4][3]; char name[130]; -@@ -7259,13 +6866,20 @@ +@@ -7259,13 +6872,20 @@ fread (head, 1, 32, ifp); fseek (ifp, 0, SEEK_END); flen = fsize = ftell(ifp); @@ -1133,7 +1152,7 @@ parse_ciff (hlen, flen - hlen); } else if (parse_tiff(0)) apply_tiff(); } else if (!memcmp (head,"\xff\xd8\xff\xe1",4) && -@@ -7310,6 +6924,7 @@ +@@ -7310,6 +6930,7 @@ fseek (ifp, 100+28*(shot_select > 0), SEEK_SET); parse_tiff (data_offset = get4()); parse_tiff (thumb_offset+12); @@ -1141,7 +1160,7 @@ apply_tiff(); } else if (!memcmp (head,"RIFF",4)) { fseek (ifp, 0, SEEK_SET); -@@ -7407,7 +7022,7 @@ +@@ -7407,7 +7028,7 @@ if (height == 3136 && width == 4864) /* Pentax K20D and Samsung GX20 */ { height = 3124; width = 4688; filters = 0x16161616; } if (width == 4352 && (!strcmp(model,"K-r") || !strcmp(model,"K-x"))) @@ -1150,7 +1169,13 @@ if (width >= 4960 && !strncmp(model,"K-5",3)) { left_margin = 10; width = 4950; filters = 0x16161616; } if (width == 4736 && !strcmp(model,"K-7")) -@@ -7854,7 +7469,7 @@ +@@ -7850,11 +7471,12 @@ + !strcmp(model,"D90")) { + width -= 42; + } else if (!strcmp(model,"D5100") || +- !strcmp(model,"D7000")) { ++ !strcmp(model,"D7000") || ++ !strcmp(model,"COOLPIX A")) { width -= 44; } else if (!strcmp(model,"D3200") || !strcmp(model,"D600") || @@ -1159,7 +1184,7 @@ width -= 46; } else if (!strcmp(model,"D4")) { width -= 52; -@@ -8766,194 +8381,7 @@ +@@ -8766,194 +8388,7 @@ } #endif @@ -1355,7 +1380,7 @@ struct tiff_tag { ushort tag, type; -@@ -8976,585 +8404,12 @@ +@@ -8976,585 +8411,12 @@ unsigned gps[26]; char desc[512], make[64], model[64], soft[32], date[20], artist[64]; };