[Digikam-devel] better metadata support : added exiv2 depency ?
Gilles Caulier
caulier.gilles at kdemail.net
Tue Feb 14 14:55:32 GMT 2006
Hi all,
To support better metadata, especially Exif and IPTC, we need to use a new
lib. Exiv2 seem to be the better choose actually, to manipulate EXIF and IPTC
metadata from image file.
http://home.arcor.de/ahuggel/exiv2/
Actually, Exiv2 support :
- Exif data from JPEG files with a large suppport of special marker notes from
constructors.
- IPTC data from JPEG files
- Exif data from CRW RW file (Canon tm)
In Digikam::DImg, metadata are just stored like bytes array (DImg is a
metadata container, no a metadata parser). It's easy to move this metadata
from an original image to a target image. Actually, JPEG<->PNG Exif/IPTC
metadata preservation is complete. If you convert a JPEG file including Exif
data to a PNG file using Image Editor (and vis-versa), you can see the Exif
metadata including to PNG file with Exif tab from main interface. Look here :
http://digikam3rdparty.free.fr/Screenshots/digikam0.9.0-alpha4.png
Exif/IPTC are store to PNG using standard ImageMagick Raw profile tag...
But we need more metadata preservation :
- RAW Exif/IPTC extraction
==> http://www.rags-int-inc.com/PhotoTechStuff/RawStandards/RawSummary.html
- TIFF/EP Exif/IPTC manipulation.
- DNG Exif/IPTC manipulation (DNG==TIFF/EP like file. We can plan this file
format for the future).
Exiv2 will support others image file format in the future, especially more RAW
files and TIFF/EP files.
In all case, Extracting RAW Exif metadata is possible using dcraw::parse.c
method. This way is used in neftags2jpeg program dedicaced to extract Exif
from NEF file :
http://pages.quicksilver.net.nz/pepe/d70/Nikon_D70_on_Linux.html#exif
neftags2jpeg program using Exiv2 to store like a byte array Exif informations
(:=)))...
In digiKam, this way can be used to make a RAW file parser to extract Exif
data until that Exiv2 support better RAW file format. To get a complete list
of RAW file tags, we can get any inspiration from the great exifprobe
program :
http://www.virtual-cafe.com/~dhh/tools.d/exifprobe.d/exifprobe.html
If we using Exiv2 for 0.9.0, we will using 2 lib about Exif : Exiv2 and
libkexif (using libexif). Sure in the future, all code depending of libkexif
must be ported to Exiv2, but this can do later 0.9.0...
Note : Exiv2 Exif bytes array data is compatible with libkexif. We can extract
exif metadata using Exiv2 and displaying that using libkexif without
problem...
Any suggestions welcome.
Gilles Caulier
More information about the Digikam-devel
mailing list