[Digikam-devel] Odp: XMP metadata and GPS support
caulier.gilles at gmail.com
Wed Jun 20 07:44:14 BST 2007
2007/6/20, Andreas Huggel <ahuggel at gmx.net>:
> XMP support in Exiv2 should use the existing Exiv2 API and
> infrastructure where possible. In particular, the interface to access
> XMP metadata in files should remain Exiv2::Image so that a call to
> Exiv2::Image::readMetadata() scans a file only once and loads Exif,
> IPTC as well as XMP into tag/value structures (ExifData, IptcData,
> XmpData for the time being, eventually, a common class for all
> metadata). This implies that in Exiv2, XMP tags will be accessed with
> keys, similar to the existing Exif and IPTC keys. "Standard" conversion
> classes to convert between Exif, IPTC and XMP could then become part of
> If that cannot be done, then I don't see the point of adding XMP support
> to Exiv2.
Where I see a potential to save time by using Adobe's library/exempi is
> with the low-level decoding and encoding parts, i.e., scanning XML to
> decode the relevant bits (the "keys" and the "values") and the other
> way around on write. And maybe they have code to access file types
> which Exiv2 doesn't support yet.
> Another alternative is of course to use 2 libraries, one for XMP and one
> for Exif/IPTC and develop conversion classes outside of both of them.
> But this would require that the client calls each library's API to read
> its respective metadata, i.e., scans the file twice, and that the
> application maintains the conversion code.
I'm not favorable to use this way. To have a single library used to handle
metadata will be perfect for me. It's more simple to maintain and more
Would it help in the short term if Exiv2::Image provided some kind of
> getXmp/setXmp methods (at least for JPEGs) which would just deal with
> std::string BLOBs containing the raw XML? This would allow to
> read/write the data using Exiv2::Image::read/writeMetadata but require
> some other means to parse the XML.
Fix me if i'm wrong, but I think than XMP meatadata can be hosted in both
With JPEG files :
- a JPEG section.
- an EXIf tag.
With TIFF files :
- a TIFF tag.
- an Exif Tag.
With PNG :
- A text chunk as byte array (ImageMagick technic)
- A dedicaced PNG chunk (Adobe technic)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Digikam-devel