[Digikam-users] extragear/libs

Gilles Caulier caulier.gilles at gmail.com
Mon Feb 19 11:56:51 GMT 2007


SVN commit 635195 by cgilles:

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 dcraw binary program used to decode RAW picture files. This library is actually used by kipi-plugins (trunk), and later by digiKam (with future 0.9.2 release).

http://digikam3rdparty.free.fr/Screenshots/newkipirawconverter.png

The library documentation is available on header files. Check svn trunk repository for details :

http://websvn.kde.org/trunk/extragear/libs/libkdcraw

Libkdcraw include the last dcraw program (version 8.54) from Dave Coffin. It provide a kdcraw binary witch is used instead dcraw. This way prevent _all_ compatibility problems with all options see with dcraw. In fact the dcraw author to not respect a compatibilty between dcraw release witch break all RAW workflow ! Also, he won't provide dcraw as a shared library. We have lost a waste a time with these problems in digiKam project. Using a specific version of dcraw in the library, we will valid this one with the library API and preserve the compatibility for the future.

The dcraw source code can be updated easily using the libkdcraw/dcraw/README file where i have written a notice for that. The library don't touch the content of dcraw source code. It use it as 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 :

http://digikam3rdparty.free.fr/Screenshots/rawsettings.png

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 :

http://digikam3rdparty.free.fr/misc.tarballs/libkdcrawdigikamport.patch

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...

Gilles Caulier
digiKam team

BUG: 140865
CCBUG : 138744
CCMAIL: digikam-users at kde.org, digikam-devel at kde.org, kde-imaging at kde.org

 M  +3 -3      kipi-plugins/rawconverter/batchdialog.cpp  
 M  +4 -4      kipi-plugins/rawconverter/singledialog.cpp  
 M  +36 -4     libkdcraw/dcraw/README  
 M  +602 -291  libkdcraw/dcraw/dcraw.c  
 M  +9 -9      libkdcraw/dcrawbinary.cpp  
 M  +1 -1      libkdcraw/dcrawbinary.h  
 M  +16 -7     libkdcraw/dcrawinfocontainer.h  
 M  +41 -35    libkdcraw/dcrawsettingswidget.cpp  
 M  +6 -3      libkdcraw/dcrawsettingswidget.h  
 M  +35 -6     libkdcraw/kdcraw.cpp  
 M  +6 -5      libkdcraw/rawdecodingsettings.h  





More information about the Digikam-users mailing list