OBS User unknown 2008-04-14 17:35:17 +00:00 committed by Git OBS Bridge
parent 2710f23328
commit c2916ec9f1
7 changed files with 1425 additions and 595 deletions

576
README
View File

@ -6,8 +6,14 @@ http://www.cybercom.net/~dcoffin/dcraw/:
[3]em Portugues
[4]na russkom
Note to dcraw users in Europe:
I'll be speaking at [5]Libre Graphics Meeting 2008 in Wrocl/aw, Poland
between May 8 and May 11. I hope to see you there!
__________________________________________________________________
Welcome! If you are wondering how to connect your digital camera and
download images to a Linux PC, go to the [5]gPhoto homepage. My
download images to a Linux PC, go to the [6]gPhoto homepage. My
software is for processing those images after downloading them.
If you're downloading JPEG files, you don't need my software at all.
@ -32,14 +38,14 @@ http://www.cybercom.net/~dcoffin/dcraw/:
decodes any raw image from any digital camera on any computer running
any operating system.
That program is called [6]dcraw (pronounced "dee-see-raw"), and it's
That program is called [7]dcraw (pronounced "dee-see-raw"), and it's
become a standard tool within and without the Open Source world. It's
small (about 8000 lines), portable (standard C libraries only), free
(both "gratis" and "libre"), and when used skillfully, produces
[7]better quality [8]output than the tools provided by the camera
[8]better quality [9]output than the tools provided by the camera
vendor.
[9]Here's my resume. I do freelance consulting related to dcraw, and
[10]Here's my resume. I do freelance consulting related to dcraw, and
I'm also available for full-time software work in the Northeast USA.
I can be reached by sending e-mail to cybercom dot net with the
@ -47,71 +53,75 @@ http://www.cybercom.net/~dcoffin/dcraw/:
News and Interviews
[10]Essay for Digital Outback Photo, 25 April 2003
[11]Article in News.com, 21 April 2005
[12]Interview with Digital Photography Review, 27 April 2005
[13]Interview with Thorsten Schnebeck, 10 June 2006
[14]Interview with Ladinamo, 16 June 2006
[11]Essay for Digital Outback Photo, 25 April 2003
[12]Article in News.com, 21 April 2005
[13]Interview with Digital Photography Review, 27 April 2005
[14]Interview with Thorsten Schnebeck, 10 June 2006
[15]Interview with Ladinamo, 16 June 2006
My Code
Unless otherwise noted in the source code, these programs are free for
all uses, although I would like to receive credit for them. Donations
are welcome too, if you're making money from my code.
Make payments with PayPal - it's fast, free and secure!
Note to Linux distributors: The only executable files that should be
installed by a dcraw package are "dcraw", "clean_crw", and maybe
"fuji_green", "fujiturn", and "fujiturn16". My shell scripts are
dangerous and should only be installed in a "doc" directory without
execute permission.
* [15]dcraw.c -- decodes raw photos, extracts thumbnails, and
* [16]dcraw.c -- decodes raw photos, extracts thumbnails, and
displays metadata
Supports 268 cameras at last count. Compile with "gcc -o dcraw -O4
Supports 299 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 [16]FAQ!
* [17]UNIX manpage for dcraw
Don't complain that 16-bit output is too dark -- read the [17]FAQ!
* [18]UNIX manpage for dcraw
This is dcraw's official user documentation, updated in lockstep
with the source code.
* [18]rawphoto.c -- basic plugin for GIMP 1.2 & 2.0
* [19]rawphoto.c -- basic plugin for GIMP 1.2 & 2.0
After installing "dcraw", do "gimptool --install rawphoto.c". My
plugin provides a simple dialog box for loading raw files into the
Gimp. [19]Udi Fuchs and [20]Joseph Heled have written much nicer
Gimp. [20]Udi Fuchs and [21]Joseph Heled have written much nicer
plugins, with live preview, histograms, and color curves.
* [21].badpixels -- my camera's "hot pixels"
* [22].badpixels -- my camera's "hot pixels"
This file tells dcraw which pixels have died and when, so that it
can interpolate around them.
* [22]dcraw.c,v -- complete unabridged RCS file
* [23]dcraw.c,v -- complete unabridged RCS file
This file contains the entire history of dcraw.c since its
conception on February 23, 1997. If you don't have the RCS toolkit,
[23]download it here.
* [24]parse.c -- read image data structures
[24]download it here.
* [25]parse.c -- read image data structures
This program displays CIFF and TIFF data structures in a very
cryptic format.
* [25]clean_crw.c -- clean Canon CRW files
* [26]clean_crw.c -- clean Canon CRW files
Recovered or undeleted CRW files often have junk appended to them
that makes them unreadable. This program safely cleans CRW files.
* [26]fujiturn.c -- rotate Fuji Super CCD images
* [27]fujiturn.c -- rotate Fuji Super CCD images
An alternative to dcraw's built-in Fuji rotation.
* [27]fuji_green.c -- convert Fuji green pixels to PGM
* [28]fuji_green.c -- convert Fuji green pixels to PGM
A side benefit of the Fuji Super CCD design is that its green
pixels make nice greyscale images.
For hackers only:
* [28]decompress.c is a simple reference decompressor for CRW files.
* [29]sony_clear.c decrypts SRF files from the Sony DSC-F828.
* [29]decompress.c is a simple reference decompressor for CRW files.
* [30]sony_clear.c decrypts SRF files from the Sony DSC-F828.
Internationalization
To install dcraw with support for non-English languages, download the
latest tarball [30]from this directory and run the "install" script.
The currently supported languages are [31]Esperanto, [32]Russian,
[33]French, [34]Italian, [35]German, [36]Portuguese, [37]Spanish,
[38]Dutch, [39]Polish, [40]Hungarian, and Chinese (both [41]Traditional
and [42]Simplified).
To build and install multilingual dcraw in Linux, download the latest
tarball [31]from this directory and run the "install" script. The
currently supported languages are [32]Esperanto, [33]Russian,
[34]French, [35]Italian, [36]German, [37]Portuguese, [38]Spanish,
[39]Dutch, [40]Polish, [41]Hungarian, [42]Czech, [43]Swedish, and
Chinese (both [44]Traditional and [45]Simplified).
To add another language, send me translations of [43]this manpage and
[44]this message table in UTF-8 encoding. Translate only from my
To build a unilingual, self-contained DCRAW.EXE for DOS/Windows, use a
source file [46]from this directory instead.
To add another language, send me translations of [47]this manpage and
[48]this message table in UTF-8 encoding. Translate only from my
original English and Esperanto texts -- other languages may contain
factual errors invisible to me.
@ -120,13 +130,13 @@ http://www.cybercom.net/~dcoffin/dcraw/:
task is impossible. Computers must never use the pronoun "I", so write
"dcraw cannot do X".
"no white balance option" means "no option for white balance". Do not
translate it as "an option for no white balance"!
When in doubt, translate everything. I proofread these texts before
releasing them, and it's much easier for me to correct over-translation
than under-translation.
It is correct to say that dcraw decodes "raw photos". Some of these raw
photos are raw files (raw images with no other data of any kind), but
most contain data structures full of other information about the raw
image (called "metadata").
Dcraw decodes raw photos, not raw files. No digital camera generates
raw files in normal usage, there's always a header with useful
metadata. (For abnormal usage, see CHDK and DIAG RAW below)
"raw" is an English word, not an acronym or file format. "raw photo"
should be translated with the same adjective that you would use for
@ -142,106 +152,108 @@ http://www.cybercom.net/~dcoffin/dcraw/:
digital cameras in their applications. They can call dcraw from a
graphical interface, paste pieces of dcraw.c into their code, or just
use dcraw.c as the documentation that camera makers refuse to provide:
* [45]ACDSee
* [46]Adobe Photoshop
* [47]BR's PhotoArchiver by Baard Riiber
* [48]BreezeBrowser by Chris Breeze
* [49]Conceiva Lightbox
* [50]cPicture by Juergen Eidt
* [51]Cumulus by Canto
* [52]dcRAW-X by Bryan Chang
* [53]DCRawUI by Sune Trudslev
* [54]Directory Opus Plugin by Leo Davidson(with C++ source code)
* [55]DeepSkyStacker by Luc Coiffier
* [56]dpMagic by Mikhail Stolpner
* [57]EasyRaw Studio
* [58]GraphicConverter by Thorsten Lemke
* [59]GVBox from JCO Consulting
* [60]ImageLab from Aragon System
* [61]IrfanView by Irfan Skiljan
* [62]IRIS image processor for astronomers
* [63]KA Photoservice
* [64]Lightbox by Josh Anon
* [65]LightZone by Anton Kast
* [66]MediaRECOVER File Recovery Software
* [67]Mixpo by Mixpo Portfolio Broadcasting Inc.
* [68]Photo Companion by Jeff Moore
* [69]Photo Jockey by Davie Lee Reed who also wrote a [70]dcraw
* [49]ACDSee
* [50]Adobe Photoshop
* [51]BR's PhotoArchiver by Baard Riiber
* [52]BreezeBrowser by Chris Breeze
* [53]Conceiva Lightbox
* [54]cPicture by Juergen Eidt
* [55]Cumulus by Canto
* [56]dcRAW-X by Bryan Chang
* [57]DCRawUI by Sune Trudslev
* [58]Directory Opus Plugin by Leo Davidson(with C++ source code)
* [59]DeepSkyStacker by Luc Coiffier
* [60]dpMagic by Mikhail Stolpner
* [61]DRIFTT by Andrew Long
* [62]EasyRaw Studio
* [63]GraphicConverter by Thorsten Lemke
* [64]GVBox from JCO Consulting
* [65]ImageLab from Aragon System
* [66]IrfanView by Irfan Skiljan
* [67]IRIS image processor for astronomers
* [68]KA Photoservice
* [69]Lightbox by Josh Anon
* [70]LightZone by Anton Kast
* [71]LRViewer by Marc Rochkind
* [72]MediaRECOVER File Recovery Software
* [73]Mixpo by Mixpo Portfolio Broadcasting Inc.
* [74]Photo Companion by Jeff Moore
* [75]Photo Jockey by Davie Lee Reed who also wrote a [76]dcraw
interface for Delphi programmers.
* [71]Photo Organizer by Balint Kis
* [72]PhotoRescue from DataRescue
* [73]PhotoReviewer by Ben Haller
* [74]Photovault by Harri Kaimio
* [75]Picasa from Google
* [76]Picture Arena by Felix Schwarz
* [77]PixInsight by Pleiades Software
* [78]PiXPO by PiXPO Inc.
* [79]PolyView by Polybytes
* [80]PowerShovel-II by Luc Minnebo
* [81]RAW Developer by Iridient Digital
* [82]Raw Magick
* [83]RawConvert by Jason Swain
* [84]RawDrop by Frank Siegert
* [85]RawShooter from pixmantec
* [86]RawView by Jari Savolainen
* [87]Serif PhotoPlus, PanoramaPlus, and AlbumPlus
* [88]SharpRaw by Duane DeSieno
* [89]SilverFast DCPro by LaserSoft Imaging
* [90]StudioLine Photo by H&M Software
* [91]ViewIt by Zdzislaw Losvik
* [92]Viewer n5 by Dmitry Fedorov
* [93]VueScan by Ed Hamrick
* [94]Xara Xtreme Pro
* [77]Photo Organizer by Balint Kis
* [78]PhotoRescue from DataRescue
* [79]PhotoReviewer by Ben Haller
* [80]Photovault by Harri Kaimio
* [81]Picasa from Google
* [82]Picture Arena by Felix Schwarz
* [83]PixInsight by Pleiades Software
* [84]PiXPO by PiXPO Inc.
* [85]PolyView by Polybytes
* [86]PowerShovel-II by Luc Minnebo
* [87]RAW Developer by Iridient Digital
* [88]Raw Magick
* [89]RawConvert by Jason Swain
* [90]RawDrop by Frank Siegert
* [91]RawShooter from pixmantec
* [92]RawView by Jari Savolainen
* [93]Serif PhotoPlus, PanoramaPlus, and AlbumPlus
* [94]SharpRaw by Duane DeSieno
* [95]SilverFast DCPro by LaserSoft Imaging
* [96]StudioLine Photo by H&M Software
* [97]ViewIt by Zdzislaw Losvik
* [98]Viewer n5 by Dmitry Fedorov
* [99]VueScan by Ed Hamrick
* [100]Xara Xtreme Pro
Frequently Asked Questions
I don't have a C compiler. Could you send me an executable?
No, but Francisco Montilla provides Mac OS and Windows
executables [95]on his website. And Benjamin Lebsanft has
volunteered to maintain [96]Windows executables optimized for
specific CPUs. Dcraw has also been ported to [97]Amiga,
[98]MorphOS, [99]BeOS, [100]OS/2, and [101]RISC OS.
executables [101]on his website. And Benjamin Lebsanft has
volunteered to maintain [102]Windows executables optimized for
specific CPUs. Dcraw has also been ported to [103]Amiga,
[104]MorphOS, [105]BeOS, [106]OS/2, and [107]RISC OS.
If you're familiar with the DOS command line but don't know C,
you can install this [102]free C compiler for Windows and
you can install this [108]free C compiler for Windows and
compile dcraw.c quite easily.
Why does dcraw say "Out of memory" in Windows Vista?
This is an arbitrary limitation of Windows Vista that will be
fixed in Service Pack 1. Thomas Nicely (of Pentium FDIV fame)
has a [103]page describing the problem. At the moment, the only
has a [109]page describing the problem. At the moment, the only
workaround is to build dcraw.exe with a Microsoft compiler
instead of a GNU compiler.
How can I read the EXIF data (shutter speed, aperture, etc.)?
[104]Phil Harvey's ExifTool provides a unified Perl-based EXIF
[110]Phil Harvey's ExifTool provides a unified Perl-based EXIF
reader (and editor!) for all cameras and file formats. "dcraw -i
-v" is much faster, but provides less information.
How can I read NEF files from Nikon scanners?
Dcraw only supports cameras. Try [105]this simple program for
Dcraw only supports cameras. Try [111]this simple program for
scanners.
How can I read Nikon Dust Off images (NDF files)?
[106]Use this program.
[112]Use this program.
Do you have any specifications describing raw photo formats?
Yes, but they tend to omit important details, like how to
decompress the raw image or decrypt private metadata. See the
[107]TIFF spec, the [108]TIFF/EP spec, the [109]Adobe DNG spec,
the [110]CIFF (CRW) spec, and the [111]X3F spec.
[113]TIFF spec, the [114]TIFF/EP spec, the [115]Adobe DNG spec,
the [116]CIFF (CRW) spec, and the [117]X3F spec.
Where can I get an assortment of raw photos to test my software?
Try [112]raw.fotosite.pl, [113]www.rawsamples.ch, and [114]Glass
Try [118]raw.fotosite.pl, [119]www.rawsamples.ch, and [120]Glass
Lantern RAWpository. For the complete dcraw test suite (every
camera supported by dcraw), I sell a 2-DVD set for $600 and
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 [115]LibTIFF v3.8.2 and apply [116]this patch. Then use
[117]this C program as a template for converting your photos to
valid [118]Adobe DNG files.
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.
Why are dcraw output images larger than camera JPEGs?
Any algorithm that combines each pixel with its neighbors is
@ -263,11 +275,11 @@ http://www.cybercom.net/~dcoffin/dcraw/:
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 [119]Photoshop and
[120]CinePaint, but it's no good for most image viewers.
professional image editors such as [125]Photoshop and
[126]CinePaint, but it's no good for most image viewers.
What does the "-f" (four color RGB) option do?
If you see patterns like [121]this or [122]this in your output
If you see patterns like [127]this or [128]this in your output
images, first try "dcraw -a". If these patterns persist, use
"dcraw -f" to get rid of them.
@ -281,8 +293,8 @@ dcraw -c crw_0001.crw | pnmtopng > crw_0001.png
dcraw -c crw_0001.crw | ppmtobmp > crw_0001.bmp
dcraw -c crw_0001.crw | cjpeg > crw_0001.jpeg
I used the [123]Netpbm toolkit in these examples.
[124]ImageMagick also does command-line format conversions. Both
I used the [129]Netpbm toolkit in these examples.
[130]ImageMagick also does command-line format conversions. Both
are free.
Why don't you implement dcraw as a library?
@ -296,7 +308,7 @@ dcraw -c crw_0001.crw | cjpeg > crw_0001.jpeg
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 [125]explains this
it as a separate process. Eric Raymond [131]explains this
technique here.
Why are there false colors along edges within the image?
@ -312,23 +324,24 @@ dcraw -c crw_0001.crw | cjpeg > crw_0001.jpeg
Variable Number of Gradients (VNG), Patterned Pixel Grouping
(PPG), and Adaptive Homogeneity-Directed (AHD).
[126]The Foveon X3 Capture chip requires a different kind of
[132]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
enhance color while suppressing noise.
How do I get my camera to take raw photos?
For the Canon PowerShot A610, A620, and others, [127]go here.
For Canon PowerShots that don't output CRW or CR2, you need the
[133]CHDK hack.
For some Nikon Coolpix cameras, you need to enable a
[128]special "DIAG RAW" mode.
For Casio cameras, see [129]Maurice Delaney's website or read
[130]this discussion on dpreview.
For the Minolta DiMAGE G400, G500, G530, or G600, go [131]here
(in Russian) or [132]here (in English).
[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).
For the Minolta DiMAGE Z2 and Nikon Coolpix 2100/3100/3700,
[133]go here.
For SMaL cameras, see the [134]camerahacking Forum.
[139]go here.
For SMaL cameras, see the [140]camerahacking Forum.
For other cameras, refer to the User's Manual.
@ -336,7 +349,7 @@ dcraw -c crw_0001.crw | cjpeg > crw_0001.jpeg
Most likely, yes. If your camera is not on the list below, try
dcraw anyway. If it doesn't work, post a raw image to a website
and e-mail me the URL. If you don't have a website, use
[135]Dropload or [136]YouSendIt.
[141]Dropload or [142]YouSendIt.
Ideally, your sample image should show a standard white card or
color chart in direct sunlight, with other colors in the
@ -347,6 +360,8 @@ dcraw -c crw_0001.crw | cjpeg > crw_0001.jpeg
* Adobe Digital Negative (DNG)
* Apple QuickTake 100
* Apple QuickTake 150
* Apple QuickTake 200
* AVT F-080C
* AVT F-145C
* AVT F-201C
* AVT F-510C
@ -355,11 +370,15 @@ dcraw -c crw_0001.crw | cjpeg > crw_0001.jpeg
* Canon PowerShot A5
* Canon PowerShot A5 Zoom
* Canon PowerShot A50
* Canon PowerShot A610
* Canon PowerShot A620
* Canon PowerShot A630
* Canon PowerShot A640
* Canon PowerShot A710 IS
* Canon PowerShot A460 (CHDK hack)
* Canon PowerShot A530 (CHDK hack)
* Canon PowerShot A610 (CHDK hack)
* Canon PowerShot A620 (CHDK hack)
* Canon PowerShot A630 (CHDK hack)
* Canon PowerShot A640 (CHDK hack)
* Canon PowerShot A650 (CHDK hack)
* Canon PowerShot A710 IS (CHDK hack)
* Canon PowerShot A720 IS (CHDK hack)
* Canon PowerShot Pro70
* Canon PowerShot Pro90 IS
* Canon PowerShot G1
@ -367,8 +386,11 @@ dcraw -c crw_0001.crw | cjpeg > crw_0001.jpeg
* Canon PowerShot G3
* Canon PowerShot G5
* Canon PowerShot G6
* Canon PowerShot S2 IS
* Canon PowerShot S3 IS
* Canon PowerShot G7 (CHDK hack)
* Canon PowerShot G9
* Canon PowerShot S2 IS (CHDK hack)
* Canon PowerShot S3 IS (CHDK hack)
* Canon PowerShot S5 IS (CHDK hack)
* Canon PowerShot S30
* Canon PowerShot S40
* Canon PowerShot S45
@ -382,9 +404,11 @@ dcraw -c crw_0001.crw | cjpeg > crw_0001.jpeg
* Canon EOS 10D
* Canon EOS 20D
* Canon EOS 30D
* Canon EOS 40D
* Canon EOS 300D / Digital Rebel / Kiss Digital
* Canon EOS 350D / Digital Rebel XT / Kiss Digital N
* Canon EOS 400D / Digital Rebel XTi / Kiss Digital X
* Canon EOS 450D / Digital Rebel XSi / Kiss Digital X2
* Canon EOS D2000C
* Canon EOS-1D
* Canon EOS-1DS
@ -392,6 +416,7 @@ dcraw -c crw_0001.crw | cjpeg > crw_0001.jpeg
* Canon EOS-1D Mark III
* Canon EOS-1D Mark II N
* Canon EOS-1Ds Mark II
* Canon EOS-1Ds Mark III
* Casio QV-2000UX
* Casio QV-3000EX
* Casio QV-3500EX
@ -421,22 +446,26 @@ dcraw -c crw_0001.crw | cjpeg > crw_0001.jpeg
* Fuji FinePix S3Pro
* Fuji FinePix S5Pro
* Fuji FinePix S20Pro
* Fuji FinePix S100FS
* Fuji FinePix S5000
* Fuji FinePix S5100/S5500
* Fuji FinePix S5200/S5600
* Fuji FinePix S6000fd
* Fuji FinePix S7000
* Fuji FinePix S9000/S9500
* Fuji FinePix S9100/S9600
* Fuji IS-1
* Hasselblad CFV
* Hasselblad H3D
* Imacon Ixpress 16-megapixel
* Imacon Ixpress 22-megapixel
* Imacon Ixpress 39-megapixel
* ISG 2020x1520
* Kodak DC20 (see [137]Oliver Hartman's page)
* Kodak DC25 (see [138]Jun-ichiro Itoh's page)
* Kodak DC20 (see [143]Oliver Hartman's page)
* Kodak DC25 (see [144]Jun-ichiro Itoh's page)
* Kodak DC40
* Kodak DC50
* Kodak DC120 (also try [139]kdc2tiff)
* Kodak DC120 (also try [145]kdc2tiff)
* Kodak DCS200
* Kodak DCS315C
* Kodak DCS330C
@ -514,14 +543,17 @@ dcraw -c crw_0001.crw | cjpeg > crw_0001.jpeg
* Nikon D2Hs
* Nikon D2X
* Nikon D2Xs
* Nikon D3
* Nikon D40
* Nikon D40X
* Nikon D50
* Nikon D60
* Nikon D70
* Nikon D70s
* Nikon D80
* Nikon D100
* Nikon D200
* Nikon D300
* Nikon E700 ("DIAG RAW" hack)
* Nikon E800 ("DIAG RAW" hack)
* Nikon E880 ("DIAG RAW" hack)
@ -541,6 +573,8 @@ dcraw -c crw_0001.crw | cjpeg > crw_0001.jpeg
* Nikon E8400
* Nikon E8700
* Nikon E8800
* Nikon Coolpix S6 ("DIAG RAW" hack)
* Nokia N95
* Olympus C3030Z
* Olympus C5050Z
* Olympus C5060WZ
@ -550,12 +584,14 @@ dcraw -c crw_0001.crw | cjpeg > crw_0001.jpeg
* Olympus C770UZ
* Olympus C8080WZ
* Olympus E-1
* Olympus E-3
* Olympus E-10
* Olympus E-20
* Olympus E-300
* Olympus E-330
* Olympus E-400
* Olympus E-410
* Olympus E-420
* Olympus E-500
* Olympus E-510
* Olympus SP310
@ -564,10 +600,13 @@ dcraw -c crw_0001.crw | cjpeg > crw_0001.jpeg
* Olympus SP500UZ
* Olympus SP510UZ
* Olympus SP550UZ
* Olympus SP560UZ
* Panasonic DMC-FZ8
* Panasonic DMC-FZ18
* Panasonic DMC-FZ30
* Panasonic DMC-FZ50
* Panasonic DMC-L1
* Panasonic DMC-L10
* Panasonic DMC-LC1
* Panasonic DMC-LX1
* Panasonic DMC-LX2
@ -577,7 +616,9 @@ dcraw -c crw_0001.crw | cjpeg > crw_0001.jpeg
* Pentax *ist DS
* Pentax *ist DS2
* Pentax K10D
* Pentax K20D
* Pentax K100D
* Pentax K100D Super
* Pentax Optio S
* Pentax Optio S4
* Pentax Optio 33WR
@ -611,6 +652,9 @@ dcraw -c crw_0001.crw | cjpeg > crw_0001.jpeg
* Sony DSC-R1
* Sony DSC-V3
* Sony DSLR-A100
* Sony DSLR-A200
* Sony DSLR-A350
* Sony DSLR-A700
* Sony XCD-SX910CR
* STV680 VGA
__________________________________________________________________
@ -621,138 +665,144 @@ References
2. http://www.cybercom.net/~dcoffin/dcraw/index_eo.html
3. http://www.cybercom.net/~dcoffin/dcraw/index_pt.html
4. http://www.cybercom.net/~dcoffin/dcraw/index_ru.html
5. http://gphoto.sourceforge.net/
6. http://www.cybercom.net/~dcoffin/dcraw/dcraw.c
7. http://www.insflug.org/raw/
8. http://www.aim-dtp.net/aim/digicam/dcraw/
9. http://www.cybercom.net/~dcoffin/resume.html
10. http://www.outbackphoto.com/artofraw/raw_07/essay.html
11. http://news.com.com/Nikons+photo+encryption+reported+broken/2100-1030_3-5679848.html
12. http://www.dpreview.com/news/0504/05042701davecoffininterview.asp
13. http://www.schnebeck.de/interview-with-dave-coffin-creator-of-dcraw
14. http://www.ladinamo.org/english/raw-format-the-captive-photo.php
15. http://www.cybercom.net/~dcoffin/dcraw/dcraw.c
16. http://www.cybercom.net/~dcoffin/dcraw/#faq
17. http://www.cybercom.net/~dcoffin/dcraw/dcraw.1.html
18. http://www.cybercom.net/~dcoffin/dcraw/rawphoto.c
19. http://ufraw.sourceforge.net/
20. http://pages.quicksilver.net.nz/pepe/
21. http://www.cybercom.net/~dcoffin/dcraw/.badpixels
22. http://www.cybercom.net/~dcoffin/dcraw/RCS/dcraw.c,v
23. http://www.cs.purdue.edu/homes/trinkle/RCS/
24. http://www.cybercom.net/~dcoffin/dcraw/parse.c
25. http://www.cybercom.net/~dcoffin/dcraw/clean_crw.c
26. http://www.cybercom.net/~dcoffin/dcraw/fujiturn.c
27. http://www.cybercom.net/~dcoffin/dcraw/fuji_green.c
28. http://www.cybercom.net/~dcoffin/dcraw/decompress.c
29. http://www.cybercom.net/~dcoffin/dcraw/sony_clear.c
30. http://www.cybercom.net/~dcoffin/dcraw/archive/
31. http://www.cybercom.net/~dcoffin/dcraw/dcraw_eo.1.html
32. http://www.cybercom.net/~dcoffin/dcraw/dcraw_ru.1.html
33. http://www.cybercom.net/~dcoffin/dcraw/dcraw_fr.1.html
34. http://www.cybercom.net/~dcoffin/dcraw/dcraw_it.1.html
35. http://www.cybercom.net/~dcoffin/dcraw/dcraw_de.1.html
36. http://www.cybercom.net/~dcoffin/dcraw/dcraw_pt.1.html
37. http://www.cybercom.net/~dcoffin/dcraw/dcraw_es.1.html
38. http://www.cybercom.net/~dcoffin/dcraw/dcraw_nl.1.html
39. http://www.cybercom.net/~dcoffin/dcraw/dcraw_pl.1.html
40. http://www.cybercom.net/~dcoffin/dcraw/dcraw_hu.1.html
41. http://www.cybercom.net/~dcoffin/dcraw/dcraw_zh_TW.1.html
42. http://www.cybercom.net/~dcoffin/dcraw/dcraw_zh_CN.1.html
43. http://www.cybercom.net/~dcoffin/dcraw/dcraw.1
44. http://www.cybercom.net/~dcoffin/dcraw/dcraw_eo.po
45. http://www.acdsystems.com/
46. http://www.adobe.com/products/photoshop/cameraraw.html
47. http://www.br-software.com/
48. http://www.breezesys.com/
49. http://www.conceiva.com/
50. http://cpicture.net/en/t_raw.html
51. http://www.canto.com/
52. http://frostyplace.com/dcraw/
53. http://www.tanis.dk/wiki/index.php/DCRawUI
54. http://www.pretentiousname.com/jp2raw/
55. http://deepskystacker.free.fr/
56. http://www.dpmagic.com/
57. http://www.easyraw.com/
58. http://www.lemkesoft.com/
59. http://jcoconsulting.com/index.asp?Section=GVOCX
60. http://www.aragonsystem.com/
61. http://www.irfanview.com/
62. http://www.astrosurf.com/buil/us/iris/iris.htm
63. http://www.kaorg.com/photoservice.asp
64. http://www.lightboxsoftware.com/
65. http://sonic.net/~rat/lightcrafts/
66. http://www.mediarecover.com/
67. http://www.mixpo.com/
68. http://www.wildcape.com/
69. http://photojockey.com/
70. http://smatters.com/dcraw/
71. http://www.k-i-s.net/
72. http://www.datarescue.com/photorescue/
73. http://www.sticksoftware.com/software/PhotoReviewer.html
74. http://www.photovault.org/
75. http://www.picasa.com/
76. http://www.picturearena.com/
77. http://pleiades-astrophoto.com/
78. http://www.pixpo.com/
79. http://www.polybytes.com/
80. http://lens.liteserv.com/download/powershovel2.php
81. http://www.iridientdigital.com/
82. http://www.rawmagick.com/
83. http://www.i-graph.com/
84. http://www.wizards.de/rawdrop
85. http://www.pixmantec.com/
86. http://www.through-the-lens.net/
87. http://www.serif.com/
88. http://www.logicaldesigns.com/
89. http://www.silverfast.com/
90. http://www.studioline.net/
91. http://www.hexcat.com/viewit/
92. http://www.dimin.net/software/viewer/
93. http://www.hamrick.com/
94. http://www.xara.com/products/xtreme/
95. http://www.insflug.org/raw/
96. http://www.lebsanft.org/blog/index.php?cat=9
97. http://aminet.net/search?query=dcraw
98. http://amis.flatrate.ru/dcraw/
99. http://www.pidcock.co.uk/beos/index.html
100. http://hobbes.nmsu.edu/cgi-bin/h-search?key=dcraw
101. http://www.riscos.info/unix/indexes/graphics.html
102. http://www.delorie.com/djgpp/
103. http://www.trnicely.net/misc/vista.html
104. http://www.sno.phy.queensu.ca/~phil/exiftool/
105. http://www.cybercom.net/~dcoffin/dcraw/scan.c
106. http://www.cybercom.net/~dcoffin/dcraw/read_ndf.c
107. http://partners.adobe.com/asn/developer/PDFS/TN/TIFF6.pdf
108. http://www.map.tu.chiba-u.ac.jp/IEC/100/TA2/recdoc/N4378.pdf
109. http://www.adobe.com/products/dng/pdfs/dng_spec.pdf
110. http://xyrion.org/ciff/
111. http://www.x3f.info/technotes/FileDocs/X3F_Format.pdf
112. http://raw.fotosite.pl/
113. http://www.rawsamples.ch/
114. http://www.glasslantern.com/RAWpository/
115. http://dl.maptools.org/dl/libtiff/tiff-3.8.2.tar.gz
116. http://www.cybercom.net/~dcoffin/dcraw/libtiff.patch
117. http://www.cybercom.net/~dcoffin/dcraw/elphel_dng.c
118. http://www.adobe.com/products/dng/main.html
119. http://www.adobe.com/products/photoshop/main.html
120. http://cinepaint.sourceforge.net/
121. http://www.cybercom.net/~dcoffin/dcraw/ahd_maze.png
122. http://www.cybercom.net/~dcoffin/dcraw/vng_grid.png
123. http://netpbm.sourceforge.net/
124. http://www.imagemagick.org/
125. http://www.faqs.org/docs/artu/multiprogramchapter.html
126. http://www.dpreview.com/news/0202/02021101foveonx3.asp
127. http://digicanon.narod.ru/
128. http://e2500.narod.ru/raw_format_e.htm
129. http://www.inweb.ch/foto/rawformat.html
130. http://forums.dpreview.com/forums/read.asp?forum=1015&message=4961779
131. http://myfototest.narod.ru/
132. http://forums.dpreview.com/forums/read.asp?forum=1024&message=11773287
133. http://tester13.nm.ru/nikon/
134. http://www.camerahacking.com/
135. http://dropload.com/
136. http://yousendit.com/
137. http://www.planet-interkom.de/oliver.hartmann/dc20secr.htm
138. http://www.itojun.org/diary/19961113/index.eng.html
139. http://kdc2tiff.sourceforge.net/
5. http://www.libregraphicsmeeting.org/2008/
6. http://gphoto.sourceforge.net/
7. http://www.cybercom.net/~dcoffin/dcraw/dcraw.c
8. http://www.insflug.org/raw/
9. http://www.aim-dtp.net/aim/digicam/dcraw/
10. http://www.cybercom.net/~dcoffin/resume.html
11. http://www.outbackphoto.com/artofraw/raw_07/essay.html
12. http://news.com.com/Nikons+photo+encryption+reported+broken/2100-1030_3-5679848.html
13. http://www.dpreview.com/news/0504/05042701davecoffininterview.asp
14. http://www.schnebeck.de/interview-with-dave-coffin-creator-of-dcraw
15. http://www.ladinamo.org/english/raw-format-the-captive-photo.php
16. http://www.cybercom.net/~dcoffin/dcraw/dcraw.c
17. http://www.cybercom.net/~dcoffin/dcraw/#faq
18. http://www.cybercom.net/~dcoffin/dcraw/dcraw.1.html
19. http://www.cybercom.net/~dcoffin/dcraw/rawphoto.c
20. http://ufraw.sourceforge.net/
21. http://pages.quicksilver.net.nz/pepe/
22. http://www.cybercom.net/~dcoffin/dcraw/.badpixels
23. http://www.cybercom.net/~dcoffin/dcraw/RCS/dcraw.c,v
24. http://www.cs.purdue.edu/homes/trinkle/RCS/
25. http://www.cybercom.net/~dcoffin/dcraw/parse.c
26. http://www.cybercom.net/~dcoffin/dcraw/clean_crw.c
27. http://www.cybercom.net/~dcoffin/dcraw/fujiturn.c
28. http://www.cybercom.net/~dcoffin/dcraw/fuji_green.c
29. http://www.cybercom.net/~dcoffin/dcraw/decompress.c
30. http://www.cybercom.net/~dcoffin/dcraw/sony_clear.c
31. http://www.cybercom.net/~dcoffin/dcraw/archive/
32. http://www.cybercom.net/~dcoffin/dcraw/dcraw_eo.1.html
33. http://www.cybercom.net/~dcoffin/dcraw/dcraw_ru.1.html
34. http://www.cybercom.net/~dcoffin/dcraw/dcraw_fr.1.html
35. http://www.cybercom.net/~dcoffin/dcraw/dcraw_it.1.html
36. http://www.cybercom.net/~dcoffin/dcraw/dcraw_de.1.html
37. http://www.cybercom.net/~dcoffin/dcraw/dcraw_pt.1.html
38. http://www.cybercom.net/~dcoffin/dcraw/dcraw_es.1.html
39. http://www.cybercom.net/~dcoffin/dcraw/dcraw_nl.1.html
40. http://www.cybercom.net/~dcoffin/dcraw/dcraw_pl.1.html
41. http://www.cybercom.net/~dcoffin/dcraw/dcraw_hu.1.html
42. http://www.cybercom.net/~dcoffin/dcraw/dcraw_cs.1.html
43. http://www.cybercom.net/~dcoffin/dcraw/dcraw_sv.1.html
44. http://www.cybercom.net/~dcoffin/dcraw/dcraw_zh_TW.1.html
45. http://www.cybercom.net/~dcoffin/dcraw/dcraw_zh_CN.1.html
46. http://www.cybercom.net/~dcoffin/dcraw/msdos/
47. http://www.cybercom.net/~dcoffin/dcraw/dcraw.1
48. http://www.cybercom.net/~dcoffin/dcraw/dcraw_eo.po
49. http://www.acdsystems.com/
50. http://www.adobe.com/products/photoshop/cameraraw.html
51. http://www.br-software.com/
52. http://www.breezesys.com/
53. http://www.conceiva.com/
54. http://cpicture.net/en/t_raw.html
55. http://www.canto.com/
56. http://frostyplace.com/dcraw/
57. http://www.tanis.dk/wiki/index.php/DCRawUI
58. http://www.pretentiousname.com/jp2raw/
59. http://deepskystacker.free.fr/
60. http://www.dpmagic.com/
61. http://www.nla.gov.au/preserve/dohm/driftt.html
62. http://www.easyraw.com/
63. http://www.lemkesoft.com/
64. http://jcoconsulting.com/index.asp?Section=GVOCX
65. http://www.aragonsystem.com/
66. http://www.irfanview.com/
67. http://www.astrosurf.com/buil/us/iris/iris.htm
68. http://www.kaorg.com/photoservice.asp
69. http://www.lightboxsoftware.com/
70. http://sonic.net/~rat/lightcrafts/
71. http://imageingester.com/
72. http://www.mediarecover.com/
73. http://www.mixpo.com/
74. http://www.wildcape.com/
75. http://photojockey.com/
76. http://smatters.com/dcraw/
77. http://www.k-i-s.net/
78. http://www.datarescue.com/photorescue/
79. http://www.sticksoftware.com/software/PhotoReviewer.html
80. http://www.photovault.org/
81. http://www.picasa.com/
82. http://www.picturearena.com/
83. http://pleiades-astrophoto.com/
84. http://www.pixpo.com/
85. http://www.polybytes.com/
86. http://lens.liteserv.com/download/powershovel2.php
87. http://www.iridientdigital.com/
88. http://www.rawmagick.com/
89. http://www.i-graph.com/
90. http://www.wizards.de/rawdrop
91. http://www.pixmantec.com/
92. http://www.through-the-lens.net/
93. http://www.serif.com/
94. http://www.logicaldesigns.com/
95. http://www.silverfast.com/
96. http://www.studioline.net/
97. http://www.hexcat.com/viewit/
98. http://www.dimin.net/software/viewer/
99. http://www.hamrick.com/
100. http://www.xara.com/products/xtreme/
101. http://www.insflug.org/raw/
102. http://www.lebsanft.org/blog/?tag=dcraw
103. http://aminet.net/search?query=dcraw
104. http://amis.flatrate.ru/dcraw/
105. http://www.pidcock.co.uk/beos/index.html
106. http://hobbes.nmsu.edu/cgi-bin/h-search?key=dcraw
107. http://www.riscos.info/unix/indexes/graphics.html
108. http://www.delorie.com/djgpp/
109. http://www.trnicely.net/misc/vista.html
110. http://www.sno.phy.queensu.ca/~phil/exiftool/
111. http://www.cybercom.net/~dcoffin/dcraw/scan.c
112. http://www.cybercom.net/~dcoffin/dcraw/read_ndf.c
113. http://partners.adobe.com/asn/developer/PDFS/TN/TIFF6.pdf
114. http://www.map.tu.chiba-u.ac.jp/IEC/100/TA2/recdoc/N4378.pdf
115. http://www.adobe.com/products/dng/pdfs/dng_spec.pdf
116. http://xyrion.org/ciff/
117. http://www.x3f.info/technotes/FileDocs/X3F_Format.pdf
118. http://raw.fotosite.pl/
119. http://www.rawsamples.ch/
120. http://www.glasslantern.com/RAWpository/
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://www.camerahacking.com/
141. http://dropload.com/
142. http://yousendit.com/
143. http://www.planet-interkom.de/oliver.hartmann/dc20secr.htm
144. http://www.itojun.org/diary/19961113/index.eng.html
145. http://kdc2tiff.sourceforge.net/

208
dcraw-omp.patch Normal file
View File

@ -0,0 +1,208 @@
--- dcraw.c.orig 2008-02-19 00:30:12.000000000 +0100
+++ dcraw.c 2008-02-19 00:30:44.000000000 +0100
@@ -212,7 +212,7 @@
#define BAYER2(row,col) \
image[((row) >> shrink)*iwidth + ((col) >> shrink)][fc(row,col)]
-int CLASS fc (int row, int col)
+static int CLASS fc (int row, int col)
{
static const char filter[16][16] =
{ { 2,1,1,3,2,3,2,0,3,2,3,0,1,2,1,0 },
@@ -268,7 +268,7 @@
data_error = 1;
}
-ushort CLASS sget2 (uchar *s)
+static ushort CLASS sget2 (uchar *s)
{
if (order == 0x4949) /* "II" means little-endian */
return s[0] | s[1] << 8;
@@ -276,14 +276,14 @@
return s[0] << 8 | s[1];
}
-ushort CLASS get2()
+static ushort CLASS get2()
{
uchar str[2] = { 0xff,0xff };
fread (str, 1, 2, ifp);
return sget2(str);
}
-unsigned CLASS sget4 (uchar *s)
+static unsigned CLASS sget4 (uchar *s)
{
if (order == 0x4949)
return s[0] | s[1] << 8 | s[2] << 16 | s[3] << 24;
@@ -292,26 +292,26 @@
}
#define sget4(s) sget4((uchar *)s)
-unsigned CLASS get4()
+static unsigned CLASS get4()
{
uchar str[4] = { 0xff,0xff,0xff,0xff };
fread (str, 1, 4, ifp);
return sget4(str);
}
-unsigned CLASS getint (int type)
+static unsigned CLASS getint (int type)
{
return type == 3 ? get2() : get4();
}
-float CLASS int_to_float (int i)
+static float CLASS int_to_float (int i)
{
union { int i; float f; } u;
u.i = i;
return u.f;
}
-double CLASS getreal (int type)
+static double CLASS getreal (int type)
{
union { char c[8]; double d; } u;
int i, rev;
@@ -335,7 +335,7 @@
}
}
-void CLASS read_shorts (ushort *pixel, int count)
+static void CLASS read_shorts (ushort *pixel, int count)
{
if (fread (pixel, 2, count, ifp) < count) derror();
if ((order == 0x4949) == (ntohs(0x1234) == 0x1234))
@@ -554,7 +554,7 @@
getbits(-1) initializes the buffer
getbits(n) where 0 <= n <= 25 returns an n-bit integer
*/
-unsigned CLASS getbits (int nbits)
+static unsigned CLASS getbits (int nbits)
{
static unsigned bitbuf=0;
static int vbits=0, reset=0;
@@ -853,7 +853,7 @@
return zero_after_ff = 1;
}
-int CLASS ljpeg_diff (struct decode *dindex)
+static int CLASS ljpeg_diff (struct decode *dindex)
{
int len, diff;
@@ -868,7 +868,7 @@
return diff;
}
-ushort * CLASS ljpeg_row (int jrow, struct jhead *jh)
+static ushort * CLASS ljpeg_row (int jrow, struct jhead *jh)
{
int col, c, diff, pred;
ushort mark=0, *row[3];
@@ -904,7 +904,7 @@
return row[2];
}
-void CLASS lossless_jpeg_load_raw()
+static void CLASS lossless_jpeg_load_raw()
{
int jwide, jrow, jcol, val, jidx, i, j, row=0, col=0;
struct jhead jh;
@@ -3753,6 +3753,8 @@
fputc ('\n', stderr);
}
size = iheight*iwidth;
+
+#pragma omp parallel for default(none) private(i, val) shared(size,stderr,image,black,scale_mul)
for (i=0; i < size*4; i++) {
val = image[0][i];
if (!val) continue;
@@ -3822,7 +3824,7 @@
if (half_size) filters = 0;
}
-void CLASS border_interpolate (int border)
+static void CLASS border_interpolate (int border)
{
unsigned row, col, y, x, f, c, sum[8];
@@ -4110,10 +4112,18 @@
if (verbose) fprintf (stderr,_("AHD interpolation...\n"));
+#pragma omp parallel \
+ default(none) \
+ shared(stderr, cbrt, colors, xyz_cam, rgb_cam, height, width, image, filters) \
+ private(top, left, row, col, pix, rix, lix, c, xyz, val, d, tc, tr, i, j, k, ldiff, abdiff, leps, abeps, hm, buffer, rgb, lab, homo, r)
+ {
+#pragma omp for schedule(static) nowait
for (i=0; i < 0x10000; i++) {
r = i / 65535.0;
cbrt[i] = r > 0.008856 ? pow(r,1/3.0) : 7.787*r + 16/116.0;
}
+
+#pragma omp for
for (i=0; i < 3; i++)
for (j=0; j < colors; j++)
for (xyz_cam[i][j] = k=0; k < 3; k++)
@@ -4126,6 +4136,7 @@
lab = (short (*)[TS][TS][3])(buffer + 12*TS*TS);
homo = (char (*)[TS][TS]) (buffer + 24*TS*TS);
+#pragma omp for
for (top=2; top < height-5; top += TS-6)
for (left=2; left < width-5; left += TS-6) {
@@ -4219,6 +4230,7 @@
}
}
free (buffer);
+ }
}
#undef TS
@@ -7698,8 +7710,14 @@
_("Converting to %s colorspace...\n"), name[output_color-1]);
memset (histogram, 0, sizeof histogram);
- for (img=image[0], row=0; row < height; row++)
- for (col=0; col < width; col++, img+=4) {
+
+#pragma omp parallel for \
+ default(none) \
+ shared(height, width, image, raw_color, out_cam, colors, document_mode, filters, histogram) \
+ private(row, col, out, c, img)
+ for (row = 0; row < height; row++) {
+ img = image[0] + row * width * 4;
+ for (col = 0; col < width; col++, img += 4) {
if (!raw_color) {
out[0] = out[1] = out[2] = 0;
FORCC {
@@ -7711,8 +7729,12 @@
}
else if (document_mode)
img[0] = img[FC(row,col)];
- FORCC histogram[c][img[c] >> 3]++;
+ FORCC {
+#pragma omp atomic
+ histogram[c][img[c] >> 3]++;
+ }
}
+ }
if (colors == 4 && output_color) colors = 3;
if (document_mode && filters) colors = 1;
}
@@ -7814,6 +7836,10 @@
if (white < val) white = val;
}
white *= 8 / bright;
+#pragma omp parallel for \
+ default(none) \
+ shared(use_gamma, white, lut) \
+ private(i, r, val)
for (i=0; i < 0x10000; i++) {
r = i / white;
val = 256 * ( !use_gamma ? r :

209
dcraw.1
View File

@ -1,7 +1,7 @@
.\"
.\" Man page for dcraw
.\"
.\" Copyright (c) 2007 by David Coffin
.\" Copyright (c) 2008 by David Coffin
.\"
.\" You may distribute without restriction.
.\"
@ -9,7 +9,7 @@
.\" dcoffin a cybercom o net
.\" http://www.cybercom.net/~dcoffin
.\"
.TH dcraw 1 "July 23, 2007"
.TH dcraw 1 "February 6, 2008"
.LO 1
.SH NAME
dcraw - command-line decoder for raw digital photos
@ -19,7 +19,7 @@ dcraw - command-line decoder for raw digital photos
.SH DESCRIPTION
.B dcraw
decodes raw photos, displays metadata, and extracts thumbnails.
.SH OPTIONS
.SH GENERAL OPTIONS
.TP
.B -v
Print verbose messages, not just warnings and errors.
@ -32,7 +32,7 @@ Extract the camera-generated thumbnail, not the raw image.
You'll get either a JPEG or a PPM file, depending on the camera.
.TP
.B -z
Change the access and modification times of an AVI, JPEG or raw
Change the access and modification times of an AVI, JPEG, TIFF or raw
file to when the photo was taken, assuming that the camera clock
was set to Universal Time.
.TP
@ -47,66 +47,68 @@ shows metadata.
.B ""
.B dcraw
cannot decode JPEG files!!
.SH REPAIR OPTIONS
.TP
.B -d
Show the raw data as a grayscale image with no interpolation.
Good for photographing black-and-white documents.
.TP
.B -D
Same as
.BR -d ,
but totally raw (no color scaling).
.TP
.B -h
Output a half-size color image. Twice as fast as
.BR -q\ 0 .
.TP
.B -q 0
Use high-speed, low-quality bilinear interpolation.
.TP
.B -q 1
Use Variable Number of Gradients (VNG) interpolation.
.TP
.B -q 2
Use Patterned Pixel Grouping (PPG) interpolation.
.TP
.B -q 3
Use Adaptive Homogeneity-Directed (AHD) interpolation.
.TP
.B -f
Interpolate RGB as four colors. Use this if the output shows
false 2x2 meshes with VNG or mazes with AHD.
.TP
.B -n noise_threshold
Use wavelets to erase noise while preserving real detail.
The best threshold should be somewhere between 100 and 1000.
.TP
.B -b brightness
By default,
.B dcraw
writes 8-bit PGM/PPM/PAM with a BT.709 gamma curve and a
99th-percentile white point. If the result is too light or
too dark,
.B -b
lets you adjust it. Default is 1.0.
.TP
.B -4
Write 16-bit linear pseudo-PGM/PPM/PAM with no gamma curve,
no white point, and no
.B -b
option.
.TP
.B -T
Write TIFF output (with metadata) instead of PGM/PPM/PAM.
.TP
.B -k black
Set the black point. Default depends on the camera.
.B -P deadpixels.txt
Read the dead pixel list from this file instead of ".badpixels".
See
.B FILES
for a description of the format.
.TP
.B -K darkframe.pgm
Subtract a dark frame from the raw data. To generate a
dark frame, shoot a raw photo with no light and do
.BR dcraw\ -D\ -4\ -j\ -t\ 0 .
.TP
.B -k darkness
When shadows appear foggy, you need to raise the darkness level.
To measure this, apply
.B pamsumm -mean
to the dark frame generated above.
.TP
.B -S saturation
When highlights appear pink, you need to lower the saturation level.
To measure this, take a picture of something shiny and do
.B dcraw -D -4 -j -c
photo.raw
.B | pamsumm -max
.TP
.B ""
The default darkness and saturation are usually correct.
.TP
.B -n noise_threshold
Use wavelets to erase noise while preserving real detail.
The best threshold should be somewhere between 100 and 1000.
.TP
.B -C red_mag blue_mag
Enlarge the raw red and blue layers by the given factors,
typically 0.999 to 1.001, to correct chromatic aberration.
.TP
.B -H 0
Clip all highlights to solid white (default).
.TP
.B -H 1
Leave highlights unclipped in various shades of pink.
.TP
.B -H 2
Blend clipped and unclipped values together for a gradual fade
to white.
.TP
.B -H 3+
Reconstruct highlights. Low numbers favor whites; high numbers
favor colors. Try
.B -H 5
as a compromise. If that's not good enough, do
.BR -H\ 9 ,
cut out the non-white highlights, and paste them into an image
generated with
.BR -H\ 3 .
.SH COLOR OPTIONS
By default,
.B dcraw
uses a fixed white balance based on a color chart illuminated
with a standard D65 lamp.
.TP
.B -w
Use the white balance specified by the camera.
If this is not found, print a warning and use another method.
@ -125,10 +127,6 @@ Specify your own raw white balance.
These multipliers can be cut and pasted from the output of
.BR dcraw\ -v .
.TP
no white balance option
Use a fixed white balance based on a color chart illuminated
with a standard D65 lamp.
.TP
.BR +M " or " -M
Use (or don't use) any color matrix from the camera metadata.
The default is
@ -140,33 +138,6 @@ is set,
otherwise.
This option only affects Olympus, Leaf, and Phase One cameras.
.TP
.B -C red_mag blue_mag
Enlarge the raw red and blue layers by the given factors,
typically 0.999 to 1.001, to correct chromatic aberration.
.TP
.B -H 0
Clip all highlights to solid white (default).
.TP
.B -H 1
Leave highlights unclipped in various shades of pink.
.TP
.B -H 2
Blend clipped and unclipped values together for a gradual fade to white.
.TP
.B -H 3-9
Reconstruct highlights. Low numbers favor whites; high numbers
favor colors. Try
.B -H 5
as a compromise. If that's not good enough, do
.BR -H\ 9 ,
cut out the non-white highlights, and paste them into an image
generated with
.BR -H\ 3 .
.TP
.B -m
Same as
.BR -o\ 0 .
.TP
.B -o [0-5]
Select the output colorspace when the
.B -p
@ -196,6 +167,57 @@ desired output colorspace (sRGB by default).
.TP
.B -p embed
Use the ICC profile embedded in the raw photo.
.SH INTERPOLATION OPTIONS
.TP
.B -d
Show the raw data as a grayscale image with no interpolation.
Good for photographing black-and-white documents.
.TP
.B -D
Same as
.BR -d ,
but totally raw (no color scaling).
.TP
.B -h
Output a half-size color image. Twice as fast as
.BR -q\ 0 .
.TP
.B -q 0
Use high-speed, low-quality bilinear interpolation.
.TP
.B -q 1
Use Variable Number of Gradients (VNG) interpolation.
.TP
.B -q 2
Use Patterned Pixel Grouping (PPG) interpolation.
.TP
.B -q 3
Use Adaptive Homogeneity-Directed (AHD) interpolation.
.TP
.B -f
Interpolate RGB as four colors. Use this if the output shows
false 2x2 meshes with VNG or mazes with AHD.
.TP
.B -m number_of_passes
After interpolation, clean up color artifacts by repeatedly
applying a 3x3 median filter to the R-G and B-G channels.
.SH OUTPUT OPTIONS
By default,
.B dcraw
writes PGM/PPM/PAM with 8-bit samples, a BT.709 gamma curve,
a histogram-based white level, and no metadata.
.TP
.B -W
Use a fixed white level, ignoring the image histogram.
.TP
.B -b brightness
Divide the white level by this number, 1.0 by default.
.TP
.B -4
Write 16-bit linear samples (fixed white level, no gamma).
.TP
.B -T
Write TIFF with metadata instead of PGM/PPM/PAM.
.TP
.B -t [0-7,90,180,270]
Flip the output image. By default,
@ -204,16 +226,16 @@ applies the flip specified by the camera.
.B -t 0
disables all flipping.
.TP
.BR "-s [0..N-1]" " or " "-s all"
If a file contains N raw images, choose one or "all" to decode.
For example, Fuji\ Super\ CCD\ SR cameras generate a second image
underexposed four stops to show detail in the highlights.
.TP
.B -j
For Fuji\ Super\ CCD cameras, show the image tilted 45 degrees.
For cameras with non-square pixels, do not stretch the image to
its correct aspect ratio. In any case, this option guarantees
that each output pixel corresponds to one raw pixel.
.TP
.BR "-s [0..N-1]" " or " "-s all"
If a file contains N raw images, choose one or "all" to decode.
For example, Fuji\ Super\ CCD\ SR cameras generate a second image
underexposed four stops to show detail in the highlights.
.SH FILES
.TP
\:./.badpixels, ../.badpixels, ../../.badpixels, ...
@ -234,6 +256,7 @@ to locate dead pixels.
.BR pgm (5),
.BR ppm (5),
.BR pam (5),
.BR pamsumm (1),
.BR pnmgamma (1),
.BR pnmtotiff (1),
.BR pnmtopng (1),

907
dcraw.c

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,33 @@
-------------------------------------------------------------------
Sun Apr 13 22:57:10 CEST 2008 - postadal@suse.cz
- updated to RCS 1.401
* Copy GPS data into thumbnails and TIFF output
* Support the Apple QuickTake 200, Fuji IS-1, Sony DSLR-A350,
Pentax K20D, Nokia N95, and Canon PowerShots A460, A530, and A650
Canon EOS 450D, Nikon D60, and Fuji S100FS, Olympus E-420
* Copied new matrices from Adobe DNG Converter 4.4
* fixed sRAW support (broke Fuji DNG files)
- added omp.patch to speed up decoding (-fomp disabled by default)
-------------------------------------------------------------------
Tue Feb 12 10:54:10 CET 2008 - postadal@suse.cz
- updated to RCS 1.398
* Added the "-P" and "-S" options
* Support the Sony DSLR-A200 and the PowerShots A720 and S5 IS
* Support the Panasonic DMC-L10, added the "-W" option
* Cropped four columns from the Nikon D3
* Abolished the getrat() macro, support the Hasselblad H3D
* Added the Olympus E-3 and adjusted a few maximums
* Support the AVT F-080C, Canon EOS 40D, Canon EOS-1Ds Mark III,
Canon PowerShot G9, Nikon Coolpix S6, Nikon D3, Nikon D300,
Panasonic DMC-FZ18, and Sony DSLR-A700
* Support the new Canon sRAW CR2 format
* Added median filtering after interpolation
* Use fseeko() and ftello() only when needed
* Reject TIFF files with unsupported Compression tags
-------------------------------------------------------------------
Fri Aug 3 17:16:18 CEST 2007 - postadal@suse.cz

View File

@ -1,7 +1,7 @@
#
# spec file for package dcraw (Version 1.390)
# spec file for package dcraw (Version 1.401)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@ -10,13 +10,14 @@
# norootforbuild
Name: dcraw
BuildRequires: libjpeg-devel liblcms-devel
Version: 1.390
Version: 1.401
Release: 1
License: Any permissive
Group: Productivity/Graphics/Convertors
URL: http://www.cybercom.net/~dcoffin/dcraw/
Url: http://www.cybercom.net/~dcoffin/dcraw/
Summary: Raw Digital Photo Decoding
# NOTE: call "sh update_dcraw" to update to latest version.
Source: http://www.cybercom.net/~dcoffin/dcraw/dcraw.c
@ -28,7 +29,8 @@ Source5: http://www.cybercom.net/~dcoffin/dcraw/dcwrap
Source7: http://www.cybercom.net/~dcoffin/dcraw/fujiturn.c
Source8: http://www.cybercom.net/~dcoffin/dcraw/parse.c
Source9: update_dcraw
Autoreqprov: on
Patch: dcraw-omp.patch
AutoReqProv: on
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@ -43,10 +45,11 @@ Authors:
%prep
%setup -q -n . -D -T 0
cp -a %SOURCE0 %SOURCE1 %SOURCE2 %SOURCE3 %SOURCE4 %SOURCE5 %SOURCE7 %SOURCE8 .
%patch
mv badpixels .badpixels
%build
export CFLAGS="$RPM_OPT_FLAGS"
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%if %suse_version > 1000
export CFLAGS="$CFLAGS -fstack-protector-all"
%endif
@ -54,14 +57,16 @@ Authors:
LDFLAGS=
if test $file = dcraw.c ; then
LDFLAGS="-lm -ljpeg -llcms"
# gcc $CFLAGS -fopenmp -o ${file%.c}-omp $file $LDFLAGS
fi
gcc $CFLAGS -fno-strict-aliasing -o ${file%.c} $file $LDFLAGS
gcc $CFLAGS -o ${file%.c} $file $LDFLAGS
done
%install
mkdir -p $RPM_BUILD_ROOT/%_bindir
mkdir -p $RPM_BUILD_ROOT%_mandir/man1
install -m 0755 dcraw $RPM_BUILD_ROOT/%_bindir/
# install -m 0755 dcraw-omp $RPM_BUILD_ROOT/%_bindir/
install -m 0644 dcraw.1 $RPM_BUILD_ROOT/%_mandir/man1/
install -m 0755 parse $RPM_BUILD_ROOT/%_bindir/dcparse
install -m 0755 fujiturn $RPM_BUILD_ROOT/%_bindir/
@ -76,7 +81,31 @@ rm -rf $RPM_BUILD_ROOT
%doc %_mandir/man*/*
%changelog
* Fri Aug 03 2007 - postadal@suse.cz
* Mon Apr 14 2008 postadal@suse.cz
- updated to RCS 1.401
* Copy GPS data into thumbnails and TIFF output
* Support the Apple QuickTake 200, Fuji IS-1, Sony DSLR-A350,
Pentax K20D, Nokia N95, and Canon PowerShots A460, A530, and A650
Canon EOS 450D, Nikon D60, and Fuji S100FS, Olympus E-420
* Copied new matrices from Adobe DNG Converter 4.4
* fixed sRAW support (broke Fuji DNG files)
- added omp.patch to speed up decoding (-fomp disabled by default)
* Tue Feb 12 2008 postadal@suse.cz
- updated to RCS 1.398
* Added the "-P" and "-S" options
* Support the Sony DSLR-A200 and the PowerShots A720 and S5 IS
* Support the Panasonic DMC-L10, added the "-W" option
* Cropped four columns from the Nikon D3
* Abolished the getrat() macro, support the Hasselblad H3D
* Added the Olympus E-3 and adjusted a few maximums
* Support the AVT F-080C, Canon EOS 40D, Canon EOS-1Ds Mark III,
Canon PowerShot G9, Nikon Coolpix S6, Nikon D3, Nikon D300,
Panasonic DMC-FZ18, and Sony DSLR-A700
* Support the new Canon sRAW CR2 format
* Added median filtering after interpolation
* Use fseeko() and ftello() only when needed
* Reject TIFF files with unsupported Compression tags
* Fri Aug 03 2007 postadal@suse.cz
- updated to RCS 1.390
* Added Patterned Pixel Grouping interpolation
* Support 3096x2103 mode for the Panasonic DMC-FZ8.
@ -96,7 +125,7 @@ rm -rf $RPM_BUILD_ROOT
* Use full output range for "-H 2".
* Added color matrix for the Canon PowerShot A640.
* When they differ, use DateTimeOriginal instead of DateTime.
* Thu May 03 2007 - postadal@suse.cz
* Thu May 03 2007 postadal@suse.cz
- updated to RCS 1.379
* Offer blended highlights with the "-H 2" option
* Set "shot_order" for ORF and CR2 files
@ -107,7 +136,7 @@ rm -rf $RPM_BUILD_ROOT
* Sigma SD14, Apple QuickTake 100 & 150, Mamiya ZD, Casio QV-R41,
Olympus E-410 and Pentax Optio 750Z
- fixed doc permissions
* Wed Apr 25 2007 - postadal@suse.cz
* Wed Apr 25 2007 postadal@suse.cz
- updated to RCS 1.377
* Added a color matrix for the Fuji S6000fd
* Set aspect ratio for the Kodak DC20 and DC25
@ -122,7 +151,7 @@ rm -rf $RPM_BUILD_ROOT
* Optimized AHD interpolation to take 22%% less time
* Better detect and reject non-raw TIFFs
- fixed dcraw permission
* Thu Feb 08 2007 - postadal@suse.cz
* Thu Feb 08 2007 postadal@suse.cz
- updated to RCS 1.364
* Built a color matrix for Canon PowerShot S3 IS, Canon PowerShot A610
* Added Olympus SP510UZ, Panasonic DMC-L1, Leica Digilux 3,
@ -132,17 +161,17 @@ rm -rf $RPM_BUILD_ROOT
* Added "-K" option for dark-frame subtraction
* Get the Olympus black level from the ORF metadata.
* Found a more reliable way to identify 4775936-byte images
* Mon Oct 16 2006 - postadal@suse.cz
* Tue Oct 17 2006 postadal@suse.cz
- updated to RCS 1.353
* added support for Pentax K100D, Nikon D200, D80, E3200,
Canon EOS 400D, Panasonic DMC-LX2, DMC-FZ50
* correctly display long exposure times for CRW files
* added color matrices from Adobe DNG Converter 3.5
* display the focal length of Canon CRW images
* Thu Aug 17 2006 - postadal@suse.cz
* Thu Aug 17 2006 postadal@suse.cz
- updated to RCS 1.340
* improved support for the Olympus E-330
* Wed Aug 02 2006 - postadal@suse.cz
* Wed Aug 02 2006 postadal@suse.cz
- updated to RCS 1.338
* added "-H 2" option for rudimentary highlight recovery
* new "-T" option provides TIFF output with metadata and ICC profile
@ -152,42 +181,42 @@ rm -rf $RPM_BUILD_ROOT
* fixed camera WB for Canon EOS 10D, 300D, and clones
* added camera WB for the Kodak DCS Pro SLR models, Imacon Ixpress,
Kodak P850/P880
* Sun Mar 26 2006 - postadal@suse.cz
* Sun Mar 26 2006 postadal@suse.cz
- updated to RCS 1.319
* new color matrix for the Nikon E700, E800, and E950
* new "-D" option to output unscaled raw pixels (totally raw)
* fixed defective pixels and columns in Phase One images
* Thu Feb 09 2006 - dmueller@suse.de
* Fri Feb 10 2006 dmueller@suse.de
- update to RCS 1.315 (#112733)
* Wed Feb 08 2006 - dmueller@suse.de
* Wed Feb 08 2006 dmueller@suse.de
- update to RCS 1.314:
Updated color matrices based on Adobe DNG Converter 3.3.
Added Kodak ProPhoto D65 as an output option.
* Thu Jan 26 2006 - sbrabec@suse.cz
* Thu Jan 26 2006 sbrabec@suse.cz
- Updated to dcraw v8, RCS 1.313.
- Added simple update_dcraw script.
* Wed Jan 25 2006 - mls@suse.de
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Wed Jan 11 2006 - adrian@suse.de
* Wed Jan 11 2006 adrian@suse.de
- add stack protector compiler flag
* Thu Oct 13 2005 - postadal@suse.cz
* Thu Oct 13 2005 postadal@suse.cz
- update to RCS 1.290
* added as default new interpolation algorithm AHD
(Adaptive homogeneity-directed demosaicing algorithm)
* new Bilateral filtering to remove color noises in CIELAB space
- update dcraw.1, fujiturn, dcparse (parse.c)
- removed crwfixdates (fixdates.c) superseded by "dcraw -z"
* Tue Jun 07 2005 - adrian@suse.de
* Tue Jun 07 2005 adrian@suse.de
- update to RCS 1.263
- compile with -fno-strict-aliasing to avoid compiler errors
* Fri Jun 03 2005 - postadal@suse.cz
* Fri Jun 03 2005 postadal@suse.cz
- Updated to current version on maintainers website.
RCS version 1.262.
* Fri Feb 04 2005 - meissner@suse.de
* Fri Feb 04 2005 meissner@suse.de
- Updated to current version on maintainers website.
RCS version 1.234.
* Thu Aug 26 2004 - sbrabec@suse.cz
* Thu Aug 26 2004 sbrabec@suse.cz
- Updated to dcraw RCS version 1.200.
- Added more tools and documentation.
* Wed Jun 16 2004 - adrian@suse.de
* Wed Jun 16 2004 adrian@suse.de
- initial package of version 1.194

View File

@ -5,8 +5,8 @@
This program displays raw metadata for all raw photo formats.
It is free for all uses.
$Revision: 1.65 $
$Date: 2007/05/15 06:16:12 $
$Revision: 1.66 $
$Date: 2008/01/19 06:01:47 $
*/
#include <stdio.h>
@ -368,6 +368,11 @@ int parse_tiff_ifd (int base, int level)
fseek (ifp, get4()+base, SEEK_SET);
parse_exif (base, level+1);
break;
case 34853:
puts("GPS data:");
fseek (ifp, get4()+base, SEEK_SET);
parse_tiff_ifd (base, level+1);
break;
case 50459:
i = order;
save2 = ftell(ifp);