incubator-sanselan-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher Blunck <>
Subject Re: Copying IPTC/EXIF data from one file to another...
Date Thu, 07 Aug 2008 20:32:55 GMT
On Aug 7, 2008, at 4:44 AM, Charles Matthew Chen wrote:

> Hi Christopher.,
>   XMP and EXIF are both stored in (different, both optional) APP1
> segments of a Jpeg file.  IPTC is stored in APP13 segments.
>   Both IPTC and XMP can and often are written into the same Jpeg file
> in these two separate locations.

I've noticed this.  I believe PhotoMechanic embeds IPTC and XMP into  
the same JPEG file.

>   IPTC Information Interchange Model (the full name of IPTC) is a
> metadata standard developed by the International Press
> Telecommunications Council.  My understanding is that the binary
> format for this metadata used in Jpeg files was designed and
> popularized by Adobe Photoshop, hence its photoshop-file-like
> structure.

IPTC IIM is written by several different tools.  Lightroom and  
Aperture also embed IPTC IIM data into JPEGs, although it's not  
necessarily binary.  I am able to view JPEG files I produced in  
Lightroom that contain IPTC metadata using a hexeditor and my  
headlines and captions are visible ASCII characters.

>   XMP data is an XML-based metadata format developed by Adobe that is
> in many ways redundant with (as it was intended to supercede) IPTC
> data.
>   XMP is more open-ended and flexible than IPTC; IPTC data can be
> readily transformed into XMP format; not all XMP data can be
> transformed into IPTC.
>   If you are reading IPTC and/or XMP data, I would suggest using the
> XMP if present; if not, using the IPTC.

Interesting...  I probably need to support both IPTC and XMP in the  
long run.

So ... do both the APP1 and APP13 sections follow the same section  
format as the other sections?  They're started by their section  
marker, then a 2 byte length section, and then the actual data?

If so, would it be difficult (in your opinion) to read the APP1/APP13  
sections and then drop that raw data on top of another JPEG?  Do you  
have some APIs I could use to possibly do that?  Or does the Sanselan  
writing code only work with Metadata objects (and other higher level  


View raw message