Hello community, here is the log from the commit of package dcraw for openSUSE:Factory checked in at Mon May 16 09:57:14 CEST 2011.
-------- --- dcraw/dcraw.changes 2011-04-04 22:45:05.000000000 +0200 +++ /mounts/work_src_done/STABLE/dcraw/dcraw.changes 2011-05-14 14:07:17.000000000 +0200 @@ -1,0 +2,12 @@ +Sat May 14 12:05:25 UTC 2011 - [email protected] + +- updated to version 9.08 + dcraw - revision 1.443 + * Support the Fuji HS20EXR/F550EXR, Kodak Z990, Leaf AFi-II 12, Nikon D5100 + and Samsung NX11 and NX100. + dcparse - revision 1.73 + * Improved parsing of Fuji images. +- Spec file updates: + * Small fix if suse_version is not set. + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- dcraw-9.07.tar.bz2 New: ---- dcraw-9.08.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dcraw.spec ++++++ --- /var/tmp/diff_new_pack.BbUB2D/_old 2011-05-16 09:48:54.000000000 +0200 +++ /var/tmp/diff_new_pack.BbUB2D/_new 2011-05-16 09:48:54.000000000 +0200 @@ -19,14 +19,14 @@ Name: dcraw -Version: 9.07 +Version: 9.08 Release: 1 Summary: Raw Digital Photo Decoding License: PERMISSIVE-OSI-COMPLIANT Url: http://www.cybercom.net/~dcoffin/dcraw/ Group: Productivity/Graphics/Convertors -# http://www.cybercom.net/~dcoffin/dcraw/archive/dcraw-9.07.tar.gz +# http://www.cybercom.net/~dcoffin/dcraw/archive/dcraw-9.08.tar.gz Source0: %{name}-%{version}.tar.bz2 #*** NOTE: run "sh update_dcraw" to update to latest version of the following sources ("wget", "rcs" and "lynx" packages are required for the update). Source1: README @@ -155,7 +155,7 @@ %dir %{_mandir}/pl/man1 %dir %{_mandir}/pt %dir %{_mandir}/pt/man1 -%if 0%{?suse_version} < 1130 +%if 0%{?suse_version} && 0%{?suse_version} < 1130 %dir %{_mandir}/ru %dir %{_mandir}/ru/man1 %endif ++++++ README ++++++ --- /var/tmp/diff_new_pack.BbUB2D/_old 2011-05-16 09:48:55.000000000 +0200 +++ /var/tmp/diff_new_pack.BbUB2D/_new 2011-05-16 09:48:55.000000000 +0200 @@ -70,7 +70,7 @@ execute permission. * [16]dcraw.c -- decodes raw photos, extracts thumbnails, and displays metadata - Supports 405 cameras at last count. Compile with "gcc -o dcraw -O4 + Supports 415 cameras at last count. Compile with "gcc -o dcraw -O4 dcraw.c -lm -ljpeg -llcms" or "gcc -o dcraw -O4 dcraw.c -lm -DNO_JPEG -DNO_LCMS". Run with no arguments to see a usage message. Don't complain that 16-bit output is too dark -- read the [17]FAQ! @@ -241,17 +241,18 @@ the [115]CIFF (CRW) spec, and the [116]X3F spec. Where can I get an assortment of raw photos to test my software? - Try [117]raw.fotosite.pl, [118]www.rawsamples.ch, and [119]Glass - Lantern RAWpository. A "full review" at [120]Imaging Resource - usually includes a few raw shots. For the complete dcraw test - suite (every camera supported by dcraw), I sell a 3-DVD set for - $700 and web-based updates for $300/year. + For the latest cameras, I get samples from [117]Photography + Blog. A "Full Review" at [118]Imaging Resource usually includes + a few raw shots. [119]www.rawsamples.ch is no longer updated, + but it has samples from older cameras. For $700, I sell a + complete test suite on four DVDs containing every camera + supported by dcraw, and provide web-based updates for $300/year. I'm designing a digital camera. How do I convert its raw photos into something that dcraw and Adobe Photoshop can open? - Download [121]LibTIFF v3.8.2 and apply [122]this patch. Then use - [123]this C program as a template for converting your photos to - valid [124]Adobe DNG files. + Download [120]LibTIFF v3.8.2 and apply [121]this patch. Then use + [122]this C program as a template for converting your photos to + valid [123]Adobe DNG files. Why are dcraw output images larger than camera JPEGs? Any algorithm that combines each pixel with its neighbors is @@ -272,11 +273,11 @@ Why is 16-bit output dark / unreadable? If you want pretty pictures straight out of dcraw, stay with 8-bit output. 16-bit linear output is the best raw material for - professional image editors such as [125]Photoshop and - [126]CinePaint, but it's no good for most image viewers. + professional image editors such as [124]Photoshop and + [125]CinePaint, but it's no good for most image viewers. What does the "-f" (four color RGB) option do? - If you see patterns like [127]this or [128]this in your output + If you see patterns like [126]this or [127]this in your output images, first try "dcraw -a". If these patterns persist, use "dcraw -f" to get rid of them. @@ -290,8 +291,8 @@ dcraw -c crw_0001.crw | ppmtobmp > crw_0001.bmp dcraw -c crw_0001.crw | cjpeg > crw_0001.jpeg - I used the [129]Netpbm toolkit in these examples. - [130]ImageMagick also does command-line format conversions. Both + I used the [128]Netpbm toolkit in these examples. + [129]ImageMagick also does command-line format conversions. Both are free. Why don't you implement dcraw as a library? @@ -305,7 +306,7 @@ formats that change every day. There's a simpler way to make dcraw modular and thread-safe: Run - it as a separate process. Eric Raymond [131]explains this + it as a separate process. Eric Raymond [130]explains this technique here. Why are there false colors along edges within the image? @@ -321,7 +322,7 @@ Variable Number of Gradients (VNG), Patterned Pixel Grouping (PPG), and Adaptive Homogeneity-Directed (AHD). - [132]The Foveon X3 Capture chip requires a different kind of + [131]The Foveon X3 Capture chip requires a different kind of interpolation. Unlike CCD arrays, it captures three colors at every pixel location. But the colors are not well separated, so the raw data looks very gray. Much processing is needed to @@ -329,36 +330,38 @@ How do I get my camera to take raw photos? For Canon PowerShots that don't output CRW or CR2, you need the - [133]CHDK hack. + [132]CHDK hack. For some Nikon Coolpix cameras, you need to enable a - [134]special "DIAG RAW" mode. - For Casio cameras, see [135]Maurice Delaney's website or read - [136]this discussion on dpreview. - For the Minolta DiMAGE G400, G500, G530, or G600, go [137]here - (in Russian) or [138]here (in English). + [133]special "DIAG RAW" mode. + For Casio cameras, see [134]Maurice Delaney's website or read + [135]this discussion on dpreview. + For the Minolta DiMAGE G400, G500, G530, or G600, go [136]here + (in Russian) or [137]here (in English). For the Minolta DiMAGE Z2 and Nikon Coolpix 2100/3100/3700, - [139]go here. - For SMaL cameras, see the [140]camerahacking Forum. - For Agfa and Samsung cameras, [141]go here. + [138]go here. + For SMaL cameras, see the [139]camerahacking Forum. + For Agfa and Samsung cameras, [140]go here. For other cameras, refer to the User's Manual. Does dcraw work with my camera? + Most likely, yes. If your camera is not on the Supported list, try dcraw anyway. If it doesn't work perfectly, don't just sit quietly waiting for my next version. Ask me if I need any raw photos, or go ahead and post a photo to your website and e-mail - me the URL. If you don't have a website, use [142]YouSendIt, - [143]RapidShare, [144]Sendshack, [145]ShareFile, [146]sendspace, - or [147]Megaupload. + me the URL. If you don't have a website, use [141]YouSendIt, + [142]RapidShare, [143]Sendshack, [144]ShareFile, [145]sendspace, + or [146]Megaupload. Before choosing a photo to send, read the next question: Why does dcraw output have a green tint and weak color? + Because dcraw doesn't have a color matrix for your camera model, it outputs raw color instead of sRGB. To fix this, I need a - photo of a [148]Wolf Faust, [149]Calibr8, [150]CMP, - [151]GretagMacbeth, or other calibrated color chart. Follow this + photo of a [147]Wolf Faust, [148]Calibr8, [149]CMP, + [150]GretagMacbeth, or other calibrated color chart. Follow this checklist: + Use a real chart, not a printout or screen image. @@ -500,6 +503,8 @@ * Fuji FinePix S9100/S9600 * Fuji FinePix S200EXR * Fuji FinePix HS10/HS11 + * Fuji FinePix HS20EXR + * Fuji FinePix F550EXR * Fuji FinePix X100 * Fuji IS-1 * Hasselblad CFV @@ -514,7 +519,7 @@ * Kodak DC25 * Kodak DC40 * Kodak DC50 - * Kodak DC120 (also try [152]kdc2tiff) + * Kodak DC120 (also try [151]kdc2tiff) * Kodak DCS200 * Kodak DCS315C * Kodak DCS330C @@ -547,11 +552,13 @@ * Kodak P880 * Kodak Z980 * Kodak Z981 + * Kodak Z990 * Kodak Z1015 * Kodak KAI-0340 * Konica KD-400Z * Konica KD-510Z * Leaf AFi 7 + * Leaf AFi-II 12 * Leaf Aptus 17 * Leaf Aptus 22 * Leaf Aptus 54S @@ -618,6 +625,7 @@ * Nikon D3000 * Nikon D3100 * Nikon D5000 + * Nikon D5100 * Nikon D7000 * Nikon E700 ("DIAG RAW" hack) * Nikon E800 ("DIAG RAW" hack) @@ -670,6 +678,7 @@ * Olympus E-P1 * Olympus E-P2 * Olympus E-PL1 + * Olympus E-PL1s * Olympus E-PL2 * Olympus SP310 * Olympus SP320 @@ -679,6 +688,7 @@ * Olympus SP550UZ * Olympus SP560UZ * Olympus SP570UZ + * Olympus XZ-1 * Panasonic DMC-FZ8 * Panasonic DMC-FZ18 * Panasonic DMC-FZ28 @@ -739,6 +749,7 @@ * Samsung GX10 * Samsung GX20 * Samsung NX10 + * Samsung NX11 * Samsung NX100 * Samsung WB550 * Samsung WB2000 @@ -760,6 +771,8 @@ * Sony DSC-V3 * Sony DSLR-A100 * Sony DSLR-A200 + * Sony DSLR-A230 + * Sony DSLR-A290 * Sony DSLR-A300 * Sony DSLR-A330 * Sony DSLR-A350 @@ -897,39 +910,38 @@ 114. http://www.adobe.com/products/dng/pdfs/dng_spec.pdf 115. http://xyrion.org/ciff/ 116. http://web.archive.org/web/20070317042320/http://www.x3f.info/technotes/FileDocs/X3F_Format.pdf - 117. http://raw.fotosite.pl/ - 118. http://www.rawsamples.ch/ - 119. http://www.glasslantern.com/RAWpository/ - 120. http://www.imaging-resource.com/MFR1.HTM - 121. http://dl.maptools.org/dl/libtiff/tiff-3.8.2.tar.gz - 122. http://www.cybercom.net/~dcoffin/dcraw/libtiff.patch - 123. http://www.cybercom.net/~dcoffin/dcraw/elphel_dng.c - 124. http://www.adobe.com/products/dng/main.html - 125. http://www.adobe.com/products/photoshop/main.html - 126. http://cinepaint.sourceforge.net/ - 127. http://www.cybercom.net/~dcoffin/dcraw/ahd_maze.png - 128. http://www.cybercom.net/~dcoffin/dcraw/vng_grid.png - 129. http://netpbm.sourceforge.net/ - 130. http://www.imagemagick.org/ - 131. http://www.faqs.org/docs/artu/multiprogramchapter.html - 132. http://www.dpreview.com/news/0202/02021101foveonx3.asp - 133. http://digicanon.narod.ru/ - 134. http://e2500.narod.ru/raw_format_e.htm - 135. http://www.inweb.ch/foto/rawformat.html - 136. http://forums.dpreview.com/forums/read.asp?forum=1015&message=4961779 - 137. http://myfototest.narod.ru/ - 138. http://forums.dpreview.com/forums/read.asp?forum=1024&message=11773287 - 139. http://tester13.nm.ru/nikon/ - 140. http://camerahacks.10.forumer.com/ - 141. http://forums.dpreview.com/forums/read.asp?forum=1001&message=28484239 - 142. http://yousendit.com/ - 143. http://rapidshare.com/ - 144. http://sendshack.com/ - 145. http://www.sharefile.com/ - 146. http://www.sendspace.com/ - 147. http://www.megaupload.com/ - 148. http://www.targets.coloraid.de/ - 149. http://www.calibr8.com/ - 150. http://www.cmp-color.fr/eng%20digital%20target.html - 151. http://www.xrite.com/product_overview.aspx?ID=820 - 152. http://kdc2tiff.sourceforge.net/ + 117. http://www.photographyblog.com/ + 118. http://www.imaging-resource.com/MFR1.HTM + 119. http://www.rawsamples.ch/ + 120. http://dl.maptools.org/dl/libtiff/tiff-3.8.2.tar.gz + 121. http://www.cybercom.net/~dcoffin/dcraw/libtiff.patch + 122. http://www.cybercom.net/~dcoffin/dcraw/elphel_dng.c + 123. http://www.adobe.com/products/dng/main.html + 124. http://www.adobe.com/products/photoshop/main.html + 125. http://cinepaint.sourceforge.net/ + 126. http://www.cybercom.net/~dcoffin/dcraw/ahd_maze.png + 127. http://www.cybercom.net/~dcoffin/dcraw/vng_grid.png + 128. http://netpbm.sourceforge.net/ + 129. http://www.imagemagick.org/ + 130. http://www.faqs.org/docs/artu/multiprogramchapter.html + 131. http://www.dpreview.com/news/0202/02021101foveonx3.asp + 132. http://digicanon.narod.ru/ + 133. http://e2500.narod.ru/raw_format_e.htm + 134. http://www.inweb.ch/foto/rawformat.html + 135. http://forums.dpreview.com/forums/read.asp?forum=1015&message=4961779 + 136. http://myfototest.narod.ru/ + 137. http://forums.dpreview.com/forums/read.asp?forum=1024&message=11773287 + 138. http://tester13.nm.ru/nikon/ + 139. http://camerahacks.10.forumer.com/ + 140. http://forums.dpreview.com/forums/read.asp?forum=1001&message=28484239 + 141. http://yousendit.com/ + 142. http://rapidshare.com/ + 143. http://sendshack.com/ + 144. http://www.sharefile.com/ + 145. http://www.sendspace.com/ + 146. http://www.megaupload.com/ + 147. http://www.targets.coloraid.de/ + 148. http://www.calibr8.com/ + 149. http://www.cmp-color.fr/eng%20digital%20target.html + 150. http://www.xrite.com/product_overview.aspx?ID=820 + 151. http://kdc2tiff.sourceforge.net/ ++++++ dcraw-9.07.tar.bz2 -> dcraw-9.08.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dcraw/dcraw.c new/dcraw/dcraw.c --- old/dcraw/dcraw.c 2011-04-02 01:30:09.000000000 +0200 +++ new/dcraw/dcraw.c 2011-05-11 05:09:54.000000000 +0200 @@ -19,11 +19,11 @@ *If you have not modified dcraw.c in any way, a link to my homepage qualifies as "full source code". - $Revision: 1.442 $ - $Date: 2011/04/01 23:30:09 $ + $Revision: 1.443 $ + $Date: 2011/05/11 03:09:54 $ */ -#define VERSION "9.07" +#define VERSION "9.08" #ifndef _GNU_SOURCE #define _GNU_SOURCE @@ -897,6 +897,8 @@ for (jrow=0; jrow < jh.high; jrow++) { rp = ljpeg_row (jrow, &jh); + if (load_flags & 1) + row = jrow & 1 ? height-1-jrow/2 : jrow/2; for (jcol=0; jcol < jwide; jcol++) { val = *rp++; if (jh.bits <= 12) @@ -4406,10 +4408,12 @@ base = ftell(ifp)-10; fseek (ifp, -2, SEEK_CUR); order = get2(); get2(); - } else if (!strncmp (buf,"FUJIFILM",8) || - !strncmp (buf,"SONY",4) || + } else if (!strncmp (buf,"SONY",4) || !strcmp (buf,"Panasonic")) { - order = 0x4949; + goto nf; + } else if (!strncmp (buf,"FUJIFILM",8)) { + base = ftell(ifp)-10; +nf: order = 0x4949; fseek (ifp, 2, SEEK_CUR); } else if (!strcmp (buf,"OLYMP") || !strcmp (buf,"LEICA") || @@ -4429,7 +4433,7 @@ while (entries--) { tiff_get (base, &tag, &type, &len, &save); tag |= uptag << 16; - if (tag == 2 && strstr(make,"NIKON")) + if (tag == 2 && strstr(make,"NIKON") && !iso_speed) iso_speed = (get2(),get2()); if (tag == 4 && len > 26 && len < 35) { if ((i=(get4(),get2())) != 0x7fff && !iso_speed) @@ -4739,7 +4743,8 @@ static const char *mod[] = { "","DCB2","Volare","Cantare","CMost","Valeo 6","Valeo 11","Valeo 22", "Valeo 11p","Valeo 17","","Aptus 17","Aptus 22","Aptus 75","Aptus 65", - "Aptus 54S","Aptus 65S","Aptus 75S","AFi 5","AFi 6","AFi 7" }; + "Aptus 54S","Aptus 65S","Aptus 75S","AFi 5","AFi 6","AFi 7", + "","","","","","","","","","","","","","","","","","AFi-II 12" }; float romm_cam[3][3]; fseek (ifp, offset, SEEK_SET); @@ -4789,6 +4794,8 @@ FORC4 fscanf (ifp, "%d", neut+c); FORC3 cam_mul[c] = (float) neut[0] / neut[c+1]; } + if (!strcmp(data,"Rows_data")) + load_flags = get4(); parse_mos (from); fseek (ifp, skip+from, SEEK_SET); } @@ -4910,6 +4917,11 @@ tiff_ifd[ifd].samples = len & 7; tiff_ifd[ifd].bps = getint(type); break; + case 61446: + raw_height = 0; + load_raw = &CLASS packed_load_raw; + load_flags = 16 | (get4() && (filters=0x16161616)) << 3; + break; case 259: /* Compression */ tiff_ifd[ifd].comp = get2(); break; @@ -5814,22 +5826,14 @@ } else if (tag == 0x2ff0) { FORC4 cam_mul[c ^ 1] = get2(); } else if (tag == 0xc000) { - raw_height = order; + c = order; order = 0x4949; width = get4(); height = get4(); - order = raw_height; - raw_height = 1; - load_raw = &CLASS packed_load_raw; - load_flags = 16; + order = c; } fseek (ifp, save+len, SEEK_SET); } - if (!raw_height) { - filters = 0x16161616; - load_raw = &CLASS packed_load_raw; - load_flags = 24; - } height <<= fuji_layout; width >>= fuji_layout; } @@ -6117,12 +6121,12 @@ { 4763,712,-646,-6821,14399,2640,-1921,3276,6561 } }, { "Canon EOS 550D", 0, 0x3dd7, { 6941,-1164,-857,-3825,11597,2534,-416,1540,6039 } }, - { "Canon EOS 600D", 0, 0x3510, /* DJC */ - { 5589,-1476,-292,-3401,9372,4030,-706,2038,6350 } }, + { "Canon EOS 600D", 0, 0x3510, + { 6461,-907,-882,-4300,12184,2378,-819,1944,5931 } }, { "Canon EOS 1000D", 0, 0xe43, { 6771,-1139,-977,-7818,15123,2928,-1244,1437,7533 } }, - { "Canon EOS 1100D", 0, 0x3510, /* DJC */ - { 5193,-1423,-226,-3414,9273,4142,-679,2103,6808 } }, + { "Canon EOS 1100D", 0, 0x3510, + { 6444,-904,-893,-4563,12308,2535,-903,2016,6728 } }, { "Canon EOS-1Ds Mark III", 0, 0x3bb0, { 5859,-211,-930,-8255,16017,2353,-1732,1887,7448 } }, { "Canon EOS-1Ds Mark II", 0, 0xe80, @@ -6234,7 +6238,7 @@ { "FUJIFILM FinePix S100FS", 514, 0, { 11521,-4355,-1065,-6524,13767,3058,-1466,1984,6045 } }, { "FUJIFILM FinePix S200EXR", 512, 0x3fff, - { 0 } }, + { 11401,-4498,-1312,-5088,12751,2613,-838,1568,5941 } }, { "FUJIFILM FinePix S20Pro", 0, 0, { 10004,-3219,-1201,-7036,15047,2107,-1863,2565,7736 } }, { "FUJIFILM FinePix S2Pro", 128, 0, @@ -6271,6 +6275,12 @@ { 12300,-5110,-1304,-9117,17143,1998,-1947,2448,8100 } }, { "FUJIFILM FinePix HS10 HS11", 0, 0xf68, { 12440,-3954,-1183,-1123,9674,1708,-83,1614,4086 } }, + { "FUJIFILM FinePix HS20EXR", 0, 0, + { 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 } }, { "Imacon Ixpress", 0, 0, /* DJC */ { 7025,-1415,-704,-5188,13765,1424,-1248,2742,6038 } }, { "KODAK NC2000", 0, 0, @@ -6321,6 +6331,8 @@ { 11313,-3559,-1101,-3893,11891,2257,-1214,2398,4908 } }, { "KODAK EasyShare Z981", 0, 0, { 12729,-4717,-1188,-1367,9187,2582,274,860,4411 } }, + { "KODAK EasyShare Z990", 0, 0xfed, + { 11749,-4048,-1309,-1867,10572,1489,-138,1449,4522 } }, { "KODAK EASYSHARE Z1015", 0, 0xef1, { 11265,-4286,-992,-4694,12343,2647,-1090,1523,5447 } }, { "Leaf CMost", 0, 0, @@ -6391,6 +6403,8 @@ { 6992,-1668,-806,-8138,15748,2543,-874,850,7897 } }, { "NIKON D5000", 0, 0xf00, { 7309,-1403,-519,-8474,16008,2622,-2433,2826,8064 } }, + { "NIKON D5100", 0, 0x3de6, + { 8198,-2239,-724,-4871,12389,2798,-1043,2050,7181 } }, { "NIKON D50", 0, 0, { 7732,-2422,-789,-8238,15884,2498,-859,783,7330 } }, { "NIKON D60", 0, 0, @@ -6483,8 +6497,12 @@ { 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-PL1s", 0, 0, + { 11409,-3872,-1393,-4572,12757,2003,-709,1810,7415 } }, { "OLYMPUS E-PL1", 0, 0, { 11408,-4289,-1215,-4286,12385,2118,-387,1467,7787 } }, + { "OLYMPUS E-PL2", 0, 0, + { 15030,-5552,-1806,-3987,12387,1767,-592,1670,7023 } }, { "OLYMPUS SP350", 0, 0, { 12078,-4836,-1069,-6671,14306,2578,-786,939,7418 } }, { "OLYMPUS SP3", 0, 0, @@ -6499,6 +6517,8 @@ { 10915,-3677,-982,-5587,12986,2911,-1168,1968,6223 } }, { "OLYMPUS SP570UZ", 0, 0, { 11522,-4044,-1146,-4736,12172,2904,-988,1829,6039 } }, + { "OLYMPUS XZ-1", 0, 0, + { 10901,-4095,-1074,-1141,9208,2293,-62,1417,5158 } }, { "PENTAX *ist DL2", 0, 0, { 10504,-2438,-1189,-8603,16207,2531,-1022,863,12242 } }, { "PENTAX *ist DL", 0, 0, @@ -6601,7 +6621,7 @@ { 7914,1414,-1190,-8777,16582,2280,-2811,4605,5562 } }, { "SAMSUNG EX1", 0, 0x3e00, { 8898,-2498,-994,-3144,11328,2066,-760,1381,4576 } }, - { "SAMSUNG NX10", 0, 0, + { "SAMSUNG NX1", 0, 0, { 10332,-3234,-1168,-6111,14639,1520,-1352,2647,8331 } }, { "SAMSUNG WB2000", 0, 0xfff, { 12093,-3557,-1155,-1000,9534,1733,-22,1787,4576 } }, @@ -6619,6 +6639,8 @@ { 7511,-2571,-692,-7894,15088,3060,-948,1111,8128 } }, { "SONY DSLR-A100", 0, 0xfeb, { 9437,-2811,-774,-8405,16215,2290,-710,596,7181 } }, + { "SONY DSLR-A290", 0, 0, + { 6038,-1484,-579,-9145,16746,2512,-875,746,7218 } }, { "SONY DSLR-A2", 0, 0, { 9847,-3091,-928,-8485,16345,2225,-715,595,7103 } }, { "SONY DSLR-A300", 0, 0, @@ -6924,9 +6946,11 @@ } else if (!strcmp (head, "qktk")) { strcpy (make, "Apple"); strcpy (model,"QuickTake 100"); + load_raw = &CLASS quicktake_100_load_raw; } else if (!strcmp (head, "qktn")) { strcpy (make, "Apple"); strcpy (model,"QuickTake 150"); + load_raw = &CLASS kodak_radc_load_raw; } else if (!memcmp (head,"FUJIFILM",8)) { fseek (ifp, 84, SEEK_SET); thumb_offset = get4(); @@ -6939,7 +6963,7 @@ if (is_raw == 2 && shot_select) parse_fuji (i); } - fseek (ifp, 100, SEEK_SET); + fseek (ifp, 100+28*(shot_select > 0), SEEK_SET); parse_tiff (data_offset = get4()); parse_tiff (thumb_offset+12); apply_tiff(); @@ -7401,7 +7425,8 @@ left_margin = 2; } else if (!strcmp(model,"D5000")) { width -= 42; - } else if (!strcmp(model,"D7000")) { + } else if (!strcmp(model,"D5100") || + !strcmp(model,"D7000")) { width -= 44; } else if (!strcmp(model,"D3100")) { width -= 28; @@ -7433,6 +7458,8 @@ } else if (!strncmp(model,"COOLPIX P",9)) { load_flags = 24; filters = 0x94949494; + if (model[9] == '7' && iso_speed >= 400) + black = 255; } else if (fsize == 1581060) { height = 963; width = 1287; @@ -7538,14 +7565,14 @@ width = 2880; flip = 6; } else if (load_raw != &CLASS packed_load_raw) - maximum = 0x3e00; - if (is_raw == 2 && shot_select) - maximum = 0x2f00; + maximum = (is_raw == 2 && shot_select) ? 0x2f00 : 0x3e00; top_margin = (raw_height - height) >> 2 << 1; left_margin = (raw_width - width ) >> 2 << 1; - if (is_raw == 2) - data_offset += (shot_select > 0) * ( fuji_layout ? - (raw_width *= 2) : raw_height*raw_width*2 ); + if (width == 3328) { + width = 3262; + left_margin = 34; + } + if (fuji_layout) raw_width *= is_raw; if (load_raw == &CLASS fuji_load_raw) { fuji_width = width >> !fuji_layout; width = (height >> fuji_layout) + fuji_width; @@ -7642,8 +7669,8 @@ raw_width = fsize/height/2; order = 0x4d4d; load_raw = &CLASS unpacked_load_raw; - } else if (!strcmp(model,"NX10")) { - height -= top_margin = 4; + } else if (!strncmp(model,"NX1",3)) { + height -= top_margin = 8; width -= 2 * (left_margin = 8); load_flags = 32; } else if (!strcmp(model,"EX1")) { @@ -7952,7 +7979,7 @@ } else gamma_curve (0, 3.875, 1, 255); load_raw = &CLASS eight_bit_load_raw; } else if (!strncasecmp(model,"EasyShare",9)) { - data_offset = 0x15000; + data_offset = data_offset < 0x15000 ? 0x15000 : 0x17000; load_raw = &CLASS packed_load_raw; } else if (!strcasecmp(make,"KODAK")) { if (filters == UINT_MAX) filters = 0x61616161; @@ -8046,7 +8073,8 @@ load_raw = &CLASS kodak_radc_load_raw; filters = 0x61616161; simple_coeff(2); - } else if (!strcmp(model,"QuickTake 100")) { + } else if (!strncmp(model,"QuickTake",9)) { + if (head[5]) strcpy (model+10, "200"); fseek (ifp, 544, SEEK_SET); height = get2(); width = get2(); @@ -8056,14 +8084,6 @@ fseek (ifp, data_offset-6, SEEK_SET); flip = ~get2() & 3 ? 5:6; } - load_raw = &CLASS quicktake_100_load_raw; - filters = 0x61616161; - } else if (!strcmp(model,"QuickTake 150")) { - data_offset = 738 - head[5]; - if (head[5]) strcpy (model+10, "200"); - load_raw = &CLASS kodak_radc_load_raw; - height = 480; - width = 640; filters = 0x61616161; } else if (!strcmp(make,"Rollei") && !load_raw) { switch (raw_width) { ++++++ parse.c ++++++ --- /var/tmp/diff_new_pack.BbUB2D/_old 2011-05-16 09:48:55.000000000 +0200 +++ /var/tmp/diff_new_pack.BbUB2D/_new 2011-05-16 09:48:55.000000000 +0200 @@ -5,8 +5,8 @@ This program displays raw metadata for all raw photo formats. It is free for all uses. - $Revision: 1.72 $ - $Date: 2010/12/17 03:16:26 $ + $Revision: 1.73 $ + $Date: 2011/05/11 03:29:49 $ */ #include <stdio.h> @@ -221,19 +221,21 @@ } else if (!strcmp (buf,"OLYMPUS")) { base = ftell(ifp)-10; fseek (ifp, -2, SEEK_CUR); - order = get2(); - val = get2(); - } else if (!strncmp (buf,"FUJIFILM",8) || - !strncmp (buf,"SONY",4) || + order = get2(); get2(); + } else if (!strncmp (buf,"SONY",4) || !strcmp (buf,"Panasonic")) { - order = 0x4949; + goto nf; + } else if (!strncmp (buf,"FUJIFILM",8)) { + base = ftell(ifp)-10; +nf: order = 0x4949; fseek (ifp, 2, SEEK_CUR); } else if (!strcmp (buf,"OLYMP") || !strcmp (buf,"LEICA") || !strcmp (buf,"Ricoh") || !strcmp (buf,"EPSON")) fseek (ifp, -2, SEEK_CUR); - else if (!strcmp (buf,"AOC")) + else if (!strcmp (buf,"AOC") || + !strcmp (buf,"QVC")) fseek (ifp, -4, SEEK_CUR); else { fseek (ifp, -10, SEEK_CUR); @@ -444,7 +446,7 @@ */ void parse_tiff (int base, int level) { - int doff, ifd=0; + int doff, ifd=0, sorder=order; fseek (ifp, base, SEEK_SET); order = get2(); @@ -455,6 +457,7 @@ printf ("%*sIFD #%d:\n", level*2, "", ifd++); if (parse_tiff_ifd (base, level)) break; } + order = sorder; } void parse_minolta (int base) @@ -839,7 +842,7 @@ fseek (ifp, offset, SEEK_SET); if (!(len = get4())) return; - printf ("Fuji table at %d:\n",len); + printf ("Fuji Image %c:\n", offset < 100 ? 'S':'R'); fseek (ifp, len, SEEK_SET); entries = get4(); if (entries > 255) return; @@ -1007,9 +1010,13 @@ toff = get4(); tlen = get4(); parse_fuji (92); - if (toff > 120) parse_fuji (120); fseek (ifp, 100, SEEK_SET); parse_tiff (get4(),0); + if (toff > 120) { + parse_fuji (120); + fseek (ifp, 128, SEEK_SET); + parse_tiff (get4(),0); + } parse_thumb (toff,0); } else if (!memcmp (head,"RIFF",4)) { fseek (ifp, 0, SEEK_SET); ++++++ update_dcraw ++++++ --- /var/tmp/diff_new_pack.BbUB2D/_old 2011-05-16 09:48:55.000000000 +0200 +++ /var/tmp/diff_new_pack.BbUB2D/_new 2011-05-16 09:48:55.000000000 +0200 @@ -12,8 +12,10 @@ ( URL="http://www.cybercom.net/~dcoffin/dcraw/" ; echo -e "$URL:\n" ; LC_ALL=C lynx -display_charset=utf-8 -dump "$URL" | sed '1d;3,4d' ) >README wget -N http://www.cybercom.net/~dcoffin/dcraw/RCS/dcraw.c,v rlog dcraw.c >dcraw.log +wget -N http://www.cybercom.net/~dcoffin/dcraw/RCS/parse.c,v +rlog parse.c >parse.log echo echo "Please check, whether packaged file list is up to date." -echo "You can look at dcraw.log for the complete change log." +echo "You can look at dcraw.log and parse.log for the complete change log." echo "Before submit, please call:" -echo "rm dcraw.c,v dcraw.log" +echo "rm dcraw.c,v dcraw.log parse.c,v parse.log" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
