From: Niels K. B. J. <nk...@us...> - 2007-02-25 05:25:48
|
Update of /cvsroot/ufraw/ufraw In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv31148 Modified Files: dcraw.cc dcraw.h Log Message: dcraw modified 8.61 (1.368). Index: dcraw.cc =================================================================== RCS file: /cvsroot/ufraw/ufraw/dcraw.cc,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -d -r1.49 -r1.50 *** dcraw.cc 23 Feb 2007 04:31:10 -0000 1.49 --- dcraw.cc 25 Feb 2007 05:25:45 -0000 1.50 *************** *** 24,28 **** #endif ! #define DCRAW_VERSION "8.60" //#define _GNU_SOURCE --- 24,28 ---- #endif ! #define DCRAW_VERSION "8.61" //#define _GNU_SOURCE *************** *** 3909,3912 **** --- 3909,3914 ---- } + //int CLASS parse_tiff_ifd (int base); + void CLASS parse_makernote (int base) { *************** *** 4012,4015 **** --- 4014,4021 ---- if (tag == 0x10 && type == 4) unique_id = get4(); + if (tag == 0x11 && is_raw) { + fseek (ifp, get4()+base, SEEK_SET); + parse_tiff_ifd (base); + } if (tag == 0x14 && len == 2560 && type == 7) { fseek (ifp, 1248, SEEK_CUR); *************** *** 4320,4324 **** //void CLASS parse_minolta (int base); ! int CLASS parse_tiff_ifd (int base, int level) { unsigned entries, tag, type, len, plen=16, save; --- 4326,4330 ---- //void CLASS parse_minolta (int base); ! int CLASS parse_tiff_ifd (int base) { unsigned entries, tag, type, len, plen=16, save; *************** *** 4431,4435 **** i = ftell(ifp); fseek (ifp, get4()+base, SEEK_SET); ! if (parse_tiff_ifd (base, level+1)) break; fseek (ifp, i+4, SEEK_SET); } --- 4437,4441 ---- i = ftell(ifp); fseek (ifp, get4()+base, SEEK_SET); ! if (parse_tiff_ifd (base)) break; fseek (ifp, i+4, SEEK_SET); } *************** *** 4609,4613 **** order = i; fseek (ifp, j, SEEK_SET); ! parse_tiff_ifd (base, level+1); break; case 50752: --- 4615,4619 ---- order = i; fseek (ifp, j, SEEK_SET); ! parse_tiff_ifd (base); break; case 50752: *************** *** 4637,4641 **** fwrite (buf, sony_length, 1, ifp); fseek (ifp, 0, SEEK_SET); ! parse_tiff_ifd (-sony_offset, level); fclose (ifp); } --- 4643,4647 ---- fwrite (buf, sony_length, 1, ifp); fseek (ifp, 0, SEEK_SET); ! parse_tiff_ifd (-sony_offset); fclose (ifp); } *************** *** 4671,4675 **** while ((doff = get4())) { fseek (ifp, doff+base, SEEK_SET); ! if (parse_tiff_ifd (base, 0)) break; } thumb_misc = 16; --- 4677,4681 ---- while ((doff = get4())) { fseek (ifp, doff+base, SEEK_SET); ! if (parse_tiff_ifd (base)) break; } thumb_misc = 16; Index: dcraw.h =================================================================== RCS file: /cvsroot/ufraw/ufraw/dcraw.h,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** dcraw.h 22 Feb 2007 04:30:56 -0000 1.12 --- dcraw.h 25 Feb 2007 05:25:45 -0000 1.13 *************** *** 200,204 **** void parse_mos (int offset); void linear_table (unsigned len); ! int parse_tiff_ifd (int base, int level); void parse_kodak_ifd (int base); void parse_tiff (int base); --- 200,204 ---- void parse_mos (int offset); void linear_table (unsigned len); ! int parse_tiff_ifd (int base); void parse_kodak_ifd (int base); void parse_tiff (int base); |