17.06.2013 Views

XMP Specification Part 3: Storage in Files - Adobe

XMP Specification Part 3: Storage in Files - Adobe

XMP Specification Part 3: Storage in Files - Adobe

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Header Object<br />

File Properties Object<br />

Stream Properties Object<br />

Stream Properties Object<br />

<br />

Data Object<br />

Data Packet 1<br />

. . .<br />

<br />

Index Object 1<br />

. . .<br />

Simple Index Object 1<br />

. . .<br />

All ASF objects have a similar structure:<br />

Figure 4 — ASF format<br />

• A 16-byte GUID: The GUID identifies the purpose of an object. It is unique as a type identifier, not as an<br />

<strong>in</strong>stance identifier; that is, the same conceptual object <strong>in</strong> different files has the same GUID. The ASF<br />

specification conta<strong>in</strong>s tables of standard GUIDs, and applications can create others. The ASF<br />

specification does not def<strong>in</strong>e GUIDs <strong>in</strong> file byte order. The documentation lists them as though they<br />

conta<strong>in</strong>ed:<br />

— A 4-byte little-endian <strong>in</strong>teger<br />

— A 2-byte little-endian <strong>in</strong>teger<br />

— A 2-byte little-endian <strong>in</strong>teger<br />

— A 2-byte big-endian <strong>in</strong>teger<br />

— A 6-byte <strong>in</strong>-order sequence<br />

Thus, if the documented value of a GUID is 00112233-4455-6677-8899-AABBCCDDEEFF, the file conta<strong>in</strong>s<br />

33221100 55447766 8899AABB CCDDEEFF.<br />

• An 8-byte little-endian size: The size <strong>in</strong>cludes both the GUID and size itself; that is, 24 plus the data size.<br />

The ASF specification does not say whether the size is signed or unsigned. For safety, it should be treated<br />

as unsigned, with a 63-bit range.<br />

• The object's data<br />

26 ©<strong>Adobe</strong> Systems Incorporated, 2010

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!