From f89e30387724a2fa90c49382944a2f884a99e6b6 Mon Sep 17 00:00:00 2001 From: Oliver Duis Date: Mon, 9 Jul 2012 21:36:29 +0200 Subject: [PATCH] DCRAW 9.16 v1.451 update see issue 1461 --- rtengine/dcraw.c | 16 +++++++++++----- rtengine/dcraw.cc | 16 +++++++++++----- rtengine/dcraw.patch | 39 +++++++++++++-------------------------- 3 files changed, 35 insertions(+), 36 deletions(-) diff --git a/rtengine/dcraw.c b/rtengine/dcraw.c index ef6daee3b..737d1989c 100644 --- a/rtengine/dcraw.c +++ b/rtengine/dcraw.c @@ -19,8 +19,8 @@ *If you have not modified dcraw.c in any way, a link to my homepage qualifies as "full source code". - $Revision: 1.450 $ - $Date: 2012/06/30 20:36:46 $ + $Revision: 1.451 $ + $Date: 2012/07/05 04:33:11 $ */ #define DCRAW_VERSION "9.16" @@ -6897,6 +6897,8 @@ void CLASS adobe_coeff (const char *make, const char *model) { 8898,-2498,-994,-3144,11328,2066,-760,1381,4576 } }, { "SAMSUNG NX2", 0, 0xfff, /* NX20, NX200, NX210 */ { 6933,-2268,-753,-4921,13387,1647,-803,1641,6096 } }, + { "SAMSUNG NX1000", 0, 0, + { 6933,-2268,-753,-4921,13387,1647,-803,1641,6096 } }, { "SAMSUNG NX", 0, 0, /* NX5, NX10, NX11, NX100 */ { 10332,-3234,-1168,-6111,14639,1520,-1352,2647,8331 } }, { "SAMSUNG WB2000", 0, 0xfff, @@ -6913,6 +6915,8 @@ void CLASS adobe_coeff (const char *make, const char *model) { 8512,-2641,-694,-8042,15670,2526,-1821,2117,7414 } }, { "SONY DSC-V3", 0, 0, { 7511,-2571,-692,-7894,15088,3060,-948,1111,8128 } }, + { "SONY DSC-RX100", 192, 0, /* DJC */ + { 7329,-2746,-405,-2691,9338,3354,-136,1259,5051 } }, { "SONY DSLR-A100", 0, 0xfeb, { 9437,-2811,-774,-8405,16215,2290,-710,596,7181 } }, { "SONY DSLR-A290", 0, 0, @@ -6968,7 +6972,7 @@ void CLASS adobe_coeff (const char *make, const char *model) { "SONY SLT-A65", 128, 0, { 5491,-1192,-363,-4951,12342,2948,-911,1722,7192 } }, { "SONY SLT-A77", 128, 0, - { 5491,-1192,-363,-4951,12342,2948,-911,1722,7192 } } + { 5491,-1192,-363,-4951,12342,2948,-911,1722,7192 } }, }; double cam_xyz[4][3]; char name[130]; @@ -8040,11 +8044,11 @@ konica_400z: raw_width = fsize/height/2; order = 0x4d4d; load_raw = &CLASS unpacked_load_raw; - } else if (!strncmp(model,"NX1",3)) { + } else if (!strcmp(make,"SAMSUNG") && raw_width == 4704) { height -= top_margin = 8; width -= 2 * (left_margin = 8); load_flags = 32; - } else if (!strncmp(model,"NX2",3)) { + } else if (!strcmp(make,"SAMSUNG") && raw_width == 5632) { order = 0x4949; height = 3694; top_margin = 2; @@ -8312,6 +8316,8 @@ wb550: adobe_coeff ("SONY","DSC-R1"); width = 3925; order = 0x4d4d; + } else if (!strcmp(make,"SONY") && raw_width == 5504) { + width -= 8; } else if (!strcmp(make,"SONY") && raw_width == 6048) { width -= 24; } else if (!strcmp(model,"DSLR-A100")) { diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc index 03c144b3a..60e1d96ec 100644 --- a/rtengine/dcraw.cc +++ b/rtengine/dcraw.cc @@ -31,11 +31,11 @@ *If you have not modified dcraw.c in any way, a link to my homepage qualifies as "full source code". - $Revision: 1.448 $ - $Date: 2012/06/18 19:44:18 $ + $Revision: 1.451 $ + $Date: 2012/07/05 04:33:11 $ */ -#define DCRAW_VERSION "9.15" +#define DCRAW_VERSION "9.16" #ifndef _GNU_SOURCE #define _GNU_SOURCE @@ -6506,6 +6506,8 @@ void CLASS adobe_coeff (const char *make, const char *model) { 8898,-2498,-994,-3144,11328,2066,-760,1381,4576 } }, { "SAMSUNG NX2", 0, 0xfff, /* NX20, NX200, NX210 */ { 6933,-2268,-753,-4921,13387,1647,-803,1641,6096 } }, + { "SAMSUNG NX1000", 0, 0, + { 6933,-2268,-753,-4921,13387,1647,-803,1641,6096 } }, { "SAMSUNG NX", 0, 0, /* NX5, NX10, NX11, NX100 */ { 10332,-3234,-1168,-6111,14639,1520,-1352,2647,8331 } }, { "SAMSUNG WB2000", 0, 0xfff, @@ -6522,6 +6524,8 @@ void CLASS adobe_coeff (const char *make, const char *model) { 8512,-2641,-694,-8042,15670,2526,-1821,2117,7414 } }, { "SONY DSC-V3", 0, 0, { 7511,-2571,-692,-7894,15088,3060,-948,1111,8128 } }, + { "SONY DSC-RX100", 192, 0, /* DJC */ + { 7329,-2746,-405,-2691,9338,3354,-136,1259,5051 } }, { "SONY DSLR-A100", 0, 0xfeb, { 9437,-2811,-774,-8405,16215,2290,-710,596,7181 } }, { "SONY DSLR-A290", 0, 0, @@ -7657,11 +7661,11 @@ konica_400z: raw_width = fsize/height/2; order = 0x4d4d; load_raw = &CLASS unpacked_load_raw; - } else if (!strncmp(model,"NX1",3)) { + } else if (!strcmp(make,"SAMSUNG") && raw_width == 4704) { height -= top_margin = 8; width -= 2 * (left_margin = 8); load_flags = 32; - } else if (!strncmp(model,"NX2",3)) { + } else if (!strcmp(make,"SAMSUNG") && raw_width == 5632) { order = 0x4949; height = 3694; top_margin = 2; @@ -7929,6 +7933,8 @@ wb550: adobe_coeff ("SONY","DSC-R1"); width = 3925; order = 0x4d4d; + } else if (!strcmp(make,"SONY") && raw_width == 5504) { + width -= 8; } else if (!strcmp(make,"SONY") && raw_width == 6048) { width -= 24; } else if (!strcmp(model,"DSLR-A100")) { diff --git a/rtengine/dcraw.patch b/rtengine/dcraw.patch index feffe90ec..a10690d98 100644 --- a/rtengine/dcraw.patch +++ b/rtengine/dcraw.patch @@ -1,5 +1,5 @@ ---- C:/GCC/RT/RTSrc/rtengine/dcraw.c Wed Jul 04 20:53:43 2012 -+++ C:/GCC/RT/RTSrc/rtengine/dcraw.cc Wed Jul 04 21:00:00 2012 +--- C:/GCC/RT/RTSrc/rtengine/dcraw.c Sun Jul 08 22:42:31 2012 ++++ C:/GCC/RT/RTSrc/rtengine/dcraw.cc Sun Jul 08 22:53:12 2012 @@ -1,5 +1,17 @@ +/*RT*/#include +/*RT*/#include @@ -18,20 +18,7 @@ Copyright 1997-2012 by Dave Coffin, dcoffin a cybercom o net This is a command-line ANSI C program to convert raw photos from -@@ -17,31 +29,31 @@ - since Revision 1.237. All other code remains free for all uses. - - *If you have not modified dcraw.c in any way, a link to my - homepage qualifies as "full source code". - -- $Revision: 1.450 $ -- $Date: 2012/06/30 20:36:46 $ -+ $Revision: 1.448 $ -+ $Date: 2012/06/18 19:44:18 $ - */ - --#define DCRAW_VERSION "9.16" -+#define DCRAW_VERSION "9.15" +@@ -27,21 +39,21 @@ #ifndef _GNU_SOURCE #define _GNU_SOURCE @@ -1288,7 +1275,7 @@ { "Phase One H 20", 0, 0, /* DJC */ { 1313,1855,-109,-6715,15908,808,-327,1840,6020 } }, { "Phase One H 25", 0, 0, -@@ -6933,26 +6542,24 @@ +@@ -6937,26 +6546,24 @@ { 4950,-580,-103,-5228,12542,3029,-709,1435,7371 } }, { "SONY DSLR-A580", 128, 0xfeb, { 5932,-1492,-411,-4813,12285,2856,-741,1524,6739 } }, @@ -1327,7 +1314,7 @@ { "SONY NEX", 128, 0, /* NEX-C3, NEX-F3 */ { 5991,-1456,-455,-4764,12135,2980,-707,1425,6701 } }, { "SONY SLT-A33", 128, 0, -@@ -6962,15 +6569,15 @@ +@@ -6966,15 +6573,15 @@ { "SONY SLT-A37", 128, 0, { 5991,-1456,-455,-4764,12135,2980,-707,1425,6701 } }, { "SONY SLT-A55", 128, 0, @@ -1338,7 +1325,7 @@ { "SONY SLT-A65", 128, 0, { 5491,-1192,-363,-4951,12342,2948,-911,1722,7192 } }, - { "SONY SLT-A77", 128, 0, -- { 5491,-1192,-363,-4951,12342,2948,-911,1722,7192 } } +- { 5491,-1192,-363,-4951,12342,2948,-911,1722,7192 } }, + { "SONY SLT-A77", 128, 0, /* RT - Colin Walker */ + { 5126,-830,-261,-4788,12196,2934,-948,1602,7068 } } }; @@ -1346,7 +1333,7 @@ char name[130]; int i, j; -@@ -7214,17 +6821,26 @@ +@@ -7218,17 +6825,26 @@ hlen = get4(); fseek (ifp, 0, SEEK_SET); fread (head, 1, 32, ifp); @@ -1375,7 +1362,7 @@ } else if (!memcmp (head,"\xff\xd8\xff\xe1",4) && !memcmp (head+6,"Exif",4)) { fseek (ifp, 4, SEEK_SET); -@@ -7265,10 +6881,11 @@ +@@ -7269,10 +6885,11 @@ } load_raw = &CLASS unpacked_load_raw; fseek (ifp, 100+28*(shot_select > 0), SEEK_SET); @@ -1387,7 +1374,7 @@ fseek (ifp, 0, SEEK_SET); parse_riff(); } else if (!memcmp (head,"\0\001\0\001\0@",6)) { -@@ -7362,11 +6979,11 @@ +@@ -7366,11 +6983,11 @@ if (height == 2624 && width == 3936) /* Pentax K10D and Samsung GX10 */ { height = 2616; width = 3896; } if (height == 3136 && width == 4864) /* Pentax K20D and Samsung GX20 */ @@ -1400,7 +1387,7 @@ if (width == 4736 && !strcmp(model,"K-7")) { height = 3122; width = 4684; filters = 0x16161616; top_margin = 2; } if (width == 7424 && !strcmp(model,"645D")) -@@ -7766,11 +7383,11 @@ +@@ -7770,11 +7387,11 @@ height -= top_margin; width -= left_margin; } else if (is_canon && raw_width == 5920) { @@ -1413,7 +1400,7 @@ cam_mul[0] *= 256/527.0; cam_mul[2] *= 256/317.0; } else if (!strcmp(model,"D1X")) { -@@ -7795,11 +7412,11 @@ +@@ -7799,11 +7416,11 @@ width -= 42; } else if (!strcmp(model,"D5100") || !strcmp(model,"D7000")) { @@ -1426,7 +1413,7 @@ width -= 52; left_margin = 2; } else if (!strncmp(model,"D40",3) || -@@ -8690,198 +8307,11 @@ +@@ -8696,198 +8313,11 @@ quit: cmsCloseProfile (hInProfile); } @@ -1626,7 +1613,7 @@ ushort tag, type; int count; union { char c[4]; short s[2]; int i; } val; -@@ -8901,572 +8331,13 @@ +@@ -8907,572 +8337,13 @@ int rat[10]; unsigned gps[26]; char desc[512], make[64], model[64], soft[32], date[20], artist[64];