Edit

Share via


Metadata Support

RAW formats should also support the common metadata read and write scenarios for images in Windows. Microsoft has developed a set of native metadata providers for exchangeable image file (EXIF), International Press Telecommunications Council (IPTC), and Extensible Metadata Platform (XMP) metadata that are currently invoked only for TIFF and JPEG containers. If the RAW image is stored in one of these container formats, it is recommended to use the Windows built-in metadata providers. However, the codec author is responsible for configuring this properly. For RAW files that are not based on a TIFF container, it might be necessary to implement EXIF, IPTC, or XMP writers because the built-in readers and writers expect the data to conform to EXIF, IPTC, and XMP on-disk layout specifications. Codec authors can also implement their own providers for any custom metadata.

Because of the architecture of Windows Imaging Component (WIC), metadata writers can be invoked only through an instance of an image encoder. Therefore, RAW format owners should create at least a "stub" WICRawParameterSet.WICAutoAdjustedParameterSet encoder, even if the actual encoding of pixels into a RAW format is not implemented. The codec author must invoke the proper metadata handlers:

To support all of the anticipated scenarios in imaging applications in Windows Vista, it is recommended that codec vendors support the following at a minimum:

  • EXIF read
  • Partial EXIF write (to permit updates to capture date and time)
  • XMP read and write (including optionally IPTC Core for XMP)
  • IPTC IIMv4 read and write

Most of the metadata access (both read and write) in Windows Vista occurs through the IWICMetadataQueryReader or IWICMetadataQueryWriter interface. Therefore, to participate in the Windows Vista metadata experiences, RAW codec authors must implement the IWICBitmapFrameDecode::GetMetadataQueryReader and IWICBitmapFrameEncode::GetMetadataQueryWriter methods.

Conceptual

Windows Imaging Component Overview

WIC Guidelines for Camera RAW Image Formats

How to Write a WIC-Enabled CODEC