Update of /cvsroot/ufraw/ufraw In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv10504
Modified Files: dcraw.cc dcraw.h dcraw_indi.c Log Message: dcraw modified 9.22 (1.467). Changelog: Correctly handle Fuji X-Trans images in DNG format. Index: dcraw.cc =================================================================== RCS file: /cvsroot/ufraw/ufraw/dcraw.cc,v retrieving revision 1.316 retrieving revision 1.317 diff -u -d -r1.316 -r1.317 --- dcraw.cc 30 Jun 2014 03:15:09 -0000 1.316 +++ dcraw.cc 4 Jul 2014 02:45:16 -0000 1.317 @@ -342,7 +342,7 @@ { 0,3,1,0,0,2,0,3,2,1,3,1,1,3,1,3 } }; if (filters == 1) return filter[(row+top_margin)&15][(col+left_margin)&15]; - if (filters == 9) return xtrans[(row+top_margin+6)%6][(col+left_margin+6)%6]; + if (filters == 9) return xtrans[(row+6) % 6][(col+6) % 6]; return FC(row,col); } @@ -4610,7 +4610,7 @@ } #define TS 512 /* Tile Size */ -#define fcol(row,col) xtrans[(row+top_margin+6)%6][(col+left_margin+6)%6] +#define fcol(row,col) xtrans[(row+6) % 6][(col+6) % 6] /* Frank Markesteijn's algorithm for Fuji X-Trans sensors @@ -5845,8 +5845,8 @@ break; case 33422: /* CFAPattern */ if (filters == 9) { - FORC(36) - xtrans[(c/6+top_margin)%6][(c+left_margin)%6] = fgetc(ifp) & 3; + for (i=0; i < 6; i++) + FORC(6) xtrans[i][c] = fgetc(ifp) & 3; break; } case 64777: /* Kodak P-series */ @@ -6655,7 +6655,7 @@ void CLASS parse_fuji (int offset) { - unsigned entries, tag, len, save, c; + unsigned entries, tag, len, save, i, c; fseek (ifp, offset, SEEK_SET); entries = get4(); @@ -6675,7 +6675,8 @@ fuji_width = !(fgetc(ifp) & 8); } else if (tag == 0x131) { filters = 9; - FORC(36) xtrans[0][35-c] = fgetc(ifp) & 3; + for (i=0; i < 6; i++) + FORC(6) xtrans_abs[i][35-(i*c+c)] = fgetc(ifp) & 3; } else if (tag == 0x2ff0) { FORC4 cam_mul[c ^ 1] = get2(); } else if (tag == 0xc000) { @@ -7411,6 +7412,8 @@ { 8139,-2171,-663,-8747,16541,2295,-1925,2008,8093 } }, { "Nikon D70", 0, 0, { 7732,-2422,-789,-8238,15884,2498,-859,783,7330 } }, + { "Nikon D810", 596, 0, /* DJC */ + { 6502,-2328,154,-4249,9943,4307,-1303,2538,8108 } }, { "Nikon D800", 0, 0, { 7866,-2108,-555,-4869,12483,2681,-1176,2069,7501 } }, { "Nikon D80", 0, 0, @@ -7663,6 +7666,8 @@ { 10148,-3743,-991,-2837,11366,1659,-701,1893,4899 } }, { "Leica D-LUX 6", 15, 0, { 10148,-3743,-991,-2837,11366,1659,-701,1893,4899 } }, + { "Panasonic DMC-FZ1000", 15, 0, /* DJC */ + { 5686,-2219,-68,-4143,9912,4232,-1244,2246,5917 } }, { "Panasonic DMC-FZ100", 15, 0xfff, { 16197,-6146,-1761,-2393,10765,1869,366,2238,5248 } }, { "Leica V-LUX 2", 15, 0xfff, @@ -8647,6 +8652,10 @@ filters = 0x16161616; } if (fuji_layout) raw_width *= is_raw; + if (filters == 9) + for (i=0; i < 6; i++) + FORC(6) xtrans[i][c] = + xtrans_abs[((i*c+c)/6+top_margin) % 6][((i*c+c)+left_margin) % 6]; } else if (!strcmp(model,"KD-400Z")) { height = 1712; width = 2312; Index: dcraw.h =================================================================== RCS file: /cvsroot/ufraw/ufraw/dcraw.h,v retrieving revision 1.80 retrieving revision 1.81 diff -u -d -r1.80 -r1.81 --- dcraw.h 15 May 2014 03:30:11 -0000 1.80 +++ dcraw.h 4 Jul 2014 02:45:16 -0000 1.81 @@ -43,7 +43,7 @@ short order; /*const*/ char *ifname, *ifname_display; - char *meta_data, xtrans[6][6]; + char *meta_data, xtrans[6][6], xtrans_abs[6][6]; char cdesc[5], desc[512], make[64], model[64], model2[64], artist[64]; float flash_used, canon_ev, iso_speed, shutter, aperture, focal_len; time_t timestamp; Index: dcraw_indi.c =================================================================== RCS file: /cvsroot/ufraw/ufraw/dcraw_indi.c,v retrieving revision 1.115 retrieving revision 1.116 diff -u -d -r1.115 -r1.116 --- dcraw_indi.c 1 Jan 2014 06:00:23 -0000 1.115 +++ dcraw_indi.c 4 Jul 2014 02:45:16 -0000 1.116 @@ -93,7 +93,7 @@ }; if (filters == 1) return filter[(row + top_margin) & 15][(col + left_margin) & 15]; - if (filters == 9) return xtrans[(row + top_margin + 6) % 6][(col + left_margin + 6) % 6]; + if (filters == 9) return xtrans[(row + 6) % 6][(col + 6) % 6]; return FC(row, col); } ------------------------------------------------------------------------------ Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft _______________________________________________ ufraw-cvs mailing list ufraw-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ufraw-cvs