First beta of KDcraw shared library

After 8 days of intensive work, I'm very proud to announce the first LibKdcraw shared library 0.1.0 beta release.

LibKdcraw is a C++ interface around a dcraw binary program used to decode RAW picture files. This library is actually used by kipi-plugins (trunk), and later on by digiKam (with future 0.9.2 release). A RAWConverter screenshot can be seen at this url

The library documentation is available in the header files. Check at svn trunk repository for details.

Libkdcraw includes the latest dcraw program (version 8.54) from Dave Coffin. It provides a kdcraw binary which is used instead dcraw. This eliminates _all_ compatibility problems with call options we have seen with dcraw. In fact the dcraw author does not respect a compatibilty between dcraw releases which breaks the RAW workflow! Also, he won't provide dcraw as a shared library. We have wasted a lot time with these problems in the digiKam project. Using a specific version of dcraw in the library, we will validate this one with the library API and preserve the compatibility for the future.

The dcraw source code can be updated easily using this README file where i have written an instruction for that. The library doesn't touch the dcraw source code. It uses it well...

With this library, you can extract preview image (used by camera to display picture on TV screen) as a QImage, and extract all informations given by dcraw to identify a RAW file. Of course, you can decode and extract the RAW pictures with a lot of settings. The image data (8 or 16 bits color depth) is returned in a QByteArray container. The library include a widget to control all RAW decoding settings in your application.

Using the last dcraw source code, the libary support all last Camera models, especially all models out at Christmas 2006. The complete list is given below :

Adobe Digital Negative (DNG)
AVT F-145C
AVT F-201C
AVT F-510C
AVT F-810C
Canon PowerShot 600
Canon PowerShot A5
Canon PowerShot A5 Zoom
Canon PowerShot A50
Canon PowerShot A610
Canon PowerShot A620
Canon PowerShot Pro70
Canon PowerShot Pro90 IS
Canon PowerShot G1
Canon PowerShot G2
Canon PowerShot G3
Canon PowerShot G5
Canon PowerShot G6
Canon PowerShot S2 IS
Canon PowerShot S3 IS
Canon PowerShot S30
Canon PowerShot S40
Canon PowerShot S45
Canon PowerShot S50
Canon PowerShot S60
Canon PowerShot S70
Canon PowerShot Pro1
Canon EOS D30
Canon EOS D60
Canon EOS 5D
Canon EOS 10D
Canon EOS 20D
Canon EOS 30D
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 D2000C
Canon EOS-1D
Canon EOS-1DS
Canon EOS-1D Mark II
Canon EOS-1D Mark II N
Canon EOS-1Ds Mark II
Casio QV-2000UX
Casio QV-3000EX
Casio QV-3500EX
Casio QV-4000
Casio QV-5700
Casio QV-R51
Casio QV-R61
Casio EX-S100
Casio EX-Z4
Casio EX-Z50
Casio EX-Z55
Casio Exlim Pro 505
Casio Exlim Pro 600
Casio Exlim Pro 700
Contax N Digital
Creative PC-CAM 600
Epson R-D1
Foculus 531C
Fuji FinePix E550
Fuji FinePix E900
Fuji FinePix F700
Fuji FinePix F710
Fuji FinePix F800
Fuji FinePix F810
Fuji FinePix S2Pro
Fuji FinePix S3Pro
Fuji FinePix S20Pro
Fuji FinePix S5000
Fuji FinePix S5100/S5500
Fuji FinePix S5200/S5600
Fuji FinePix S6000fd
Fuji FinePix S7000
Fuji FinePix S9000/S9500
Imacon Ixpress 16-megapixel
Imacon Ixpress 22-megapixel
Imacon Ixpress 39-megapixel
ISG 2020x1520
Kodak DC20 (see Oliver Hartman's page)
Kodak DC25 (see Jun-ichiro Itoh's page)
Kodak DC40
Kodak DC50
Kodak DC120 (also try kdc2tiff)
Kodak DCS200
Kodak DCS315C
Kodak DCS330C
Kodak DCS420
Kodak DCS460
Kodak DCS460A
Kodak DCS520C
Kodak DCS560C
Kodak DCS620C
Kodak DCS620X
Kodak DCS660C
Kodak DCS660M

Kodak DCS720X
Kodak DCS760C
Kodak DCS760M
Kodak EOSDCS1
Kodak EOSDCS3B
Kodak NC2000F
Kodak ProBack
Kodak PB645C
Kodak PB645H
Kodak PB645M
Kodak DCS Pro 14n
Kodak DCS Pro 14nx
Kodak DCS Pro SLR/c
Kodak DCS Pro SLR/n
Kodak P850
Kodak P880
Kodak KAI-0340
Konica KD-400Z
Konica KD-510Z
Leaf Aptus 17
Leaf Aptus 22
Leaf Aptus 65
Leaf Aptus 75
Leaf Cantare
Leaf CatchLight
Leaf CMost
Leaf DCB2
Leaf Valeo 6
Leaf Valeo 11
Leaf Valeo 17
Leaf Valeo 22
Leaf Volare
Leica Digilux 2
Leica Digilux 3
Leica D-LUX2
Leica D-LUX3
Leica V-LUX1
Logitech Fotoman Pixtura
Micron 2010
Minolta RD175
Minolta DiMAGE 5
Minolta DiMAGE 7
Minolta DiMAGE 7i
Minolta DiMAGE 7Hi
Minolta DiMAGE A1
Minolta DiMAGE A2
Minolta DiMAGE A200
Minolta DiMAGE G400
Minolta DiMAGE G500
Minolta DiMAGE G530
Minolta DiMAGE G600
Minolta DiMAGE Z2
Minolta Alpha/Dynax/Maxxum 5D
Minolta Alpha/Dynax/Maxxum 7D
Nikon D1
Nikon D1H
Nikon D1X
Nikon D2H
Nikon D2Hs
Nikon D2X
Nikon D40
Nikon D50
Nikon D70
Nikon D70s
Nikon D80
Nikon D100
Nikon D200
Nikon E700 ("DIAG RAW" hack)
Nikon E800 ("DIAG RAW" hack)
Nikon E880 ("DIAG RAW" hack)
Nikon E900 ("DIAG RAW" hack)
Nikon E950 ("DIAG RAW" hack)
Nikon E990 ("DIAG RAW" hack)
Nikon E995 ("DIAG RAW" hack)
Nikon E2100 ("DIAG RAW" hack)
Nikon E2500 ("DIAG RAW" hack)
Nikon E3200 ("DIAG RAW" hack)
Nikon E3700 ("DIAG RAW" hack)
Nikon E4300 ("DIAG RAW" hack)
Nikon E4500 ("DIAG RAW" hack)
Nikon E5000
Nikon E5400
Nikon E5700
Nikon E8400
Nikon E8700
Nikon E8800
Olympus C3030Z
Olympus C5050Z
Olympus C5060WZ
Olympus C7070WZ
Olympus C70Z,C7000Z
Olympus C740UZ
Olympus C770UZ
Olympus C8080WZ
Olympus E-1
Olympus E-10
Olympus E-20
Olympus E-300
Olympus E-330
Olympus E-400
Olympus E-500
Olympus SP310
Olympus SP320
Olympus SP350
Olympus SP500UZ
Panasonic DMC-FZ30
Panasonic DMC-FZ50
Panasonic DMC-L1
Panasonic DMC-LC1
Panasonic DMC-LX1
Panasonic DMC-LX2
Pentax *ist D
Pentax *ist DL
Pentax *ist DL2
Pentax *ist DS
Pentax *ist DS2
Pentax K10D
Pentax K100D
Pentax Optio S
Pentax Optio S4
Pentax Optio 33WR
Phase One LightPhase
Phase One H 10
Phase One H 20
Phase One H 25
Phase One P 20
Phase One P 25
Phase One P 30
Phase One P 45
Pixelink A782
Polaroid x530
Rollei d530flex
RoverShot 3320af
Samsung GX-1S
Sarnoff 4096x5440
Sigma SD9
Sigma SD10
Sinar 3072x2048
Sinar 4080x4080
Sinar 4080x5440
Sinar STI format
SMaL Ultra-Pocket 3
SMaL Ultra-Pocket 4
SMaL Ultra-Pocket 5
Sony DSC-F828
Sony DSC-R1
Sony DSC-V3
Sony DSLR-A100
Sony XCD-SX910CR
STV680 VGA

About digiKam and this library, I have a big patch on my computer to use this library with all RAW files. I will commit this code in svn repository later digiKam 0.9.1 release. It will be available for 0.9.2 release. If you is impatient to test it, the patch against current svn implementation of digiKam can be downloaded at this url

Of course, you need to checkout, compile and install LibKdcraw first. It is stored on extragear/libs folder of svn trunk.

All feedbacks are welcome, especially all RAW pictures sample taken with a recent camera to perform advanced test. Thanks in advance for your help...

good working .thanks

good working .thanks

sohbet