Feature #599

XMP packets split across multiple APP1 segments

Added by Andreas Huggel almost 13 years ago. Updated about 6 years ago.

Target version:
Start date:
06 Jan 2009
Due date:
% Done:


Estimated time:
1.00 h


It looks like Adobe has recently updated its XMP specification
to allow JPEG files to host large (> 65,502 bytes) XMP packets
by splitting them into multiple APP1 marker segments.

The gory details are explained in the "Extended XMP in JPEG"
section in this document:


Since there is now an official specification, are there any
plans to support extended XMP in exiv2?

Reported by Marco Piovanelli

Related issues

Related to Exiv2 - Bug #600: Upgrade XMP Toolkit to version 4.4.2 Closed06 Jan 2009

Related to Exiv2 - Feature #941: Upgrade xmpsdk source to Adobe's current versionClosed27 Dec 2013




Updated by Jan Rüegg about 7 years ago

See also this discussion:

This feature is used for example for writing depthmap data into images, as described here:

This is an example of such an image with extended xmp data:


Updated by Robin Mills about 7 years ago

  • Category set to xmp
  • Status changed from New to Assigned
  • Assignee set to Andreas Huggel
  • Target version set to 1.0


Thanks for updating this. We have planned to update our XMP support in 2015 to incorporate the latest xmpsdk code from Adobe. It's very likely that Adobe's code now provides support for this feature, so we might gain this support "for free". Upgrading our xmp support is non-trivial as Adobe's code requires some modification to use the Exiv2 I/O module and other features of our code. Andreas has already agreed to take on the xmpsdk upgrade support - so I'll assign this to him.


Updated by Robin Mills about 7 years ago

  • Target version changed from 1.0 to 0.26

Updated by Robin Mills over 6 years ago

A new feature -pX has been added to exiv2(.exe) to print the "raw" XMP/xml directly to stdout. -pX can read "Standard XMP" and “Extended XMP". -pX does not use XMPsdk. It parses the JPEG and extracts it directly. #922.

#599 is broader in scope in at least two ways:

  1. Although -pX can read "Standard XMP" and "Extended XMP", we generally do not support Extended XMP. So if we had a file that has more than 65k of XMP, we would only “see” the first 65k. So exiv2.exe (and all the other samples) know nothing about Extended XMP until we upgrade to Adobe’s latest stuff.
  2. Exiv2 code base cannot write “Extended” XMP at this time. If you keep adding XMP data, Exiv2 cannot write a block of XMP which exceeds 65k bytes.

Updated by Robin Mills over 6 years ago

  • Status changed from Assigned to Closed
  • Estimated time set to 1.00 h

I'm going to mark this "Closed". We dealt with this in the exiv2 -pX option in v0.25. It will be more widely handled when we update XMPsdk (#941).


Updated by Robin Mills about 6 years ago

  • % Done changed from 0 to 100

Also available in: Atom PDF