Serene Life

by garik

submit your photo


Hall of Fame
View past winners from this year

Please participate in Meta
and help us grow.

Take the 2-minute tour ×
Photography Stack Exchange is a question and answer site for professional, enthusiast and amateur photographers. It's 100% free, no registration required.

I am writing an application which read/write metadata for an image (it converts a raw file into a jpeg/tiff) and I need to write metadata about camera/mode/...into the generated jpeg.

I know that I can do this using exif and in windows I am using GDI to do this. But I am reading information about xmp and xmp sdk from adobe.

I am wondering which one should I use? exif or xmp?

How they are relates to each other?

Why one may select to write exif metadata and somebody else may select XMP? What is the pros/cons of selecting any of them.

I am writing in c++ on windows (visual studio 2012)

share|improve this question
    
If you're writing anything using VS2012 then the best bet is to get your metadata via WIC. Then you don't have to futz about with any of that stuff and can access a wide range of filetypes without having to deal directly with any decoding (including Raw files if the appropriate codec pack is installed). –  James Snell Jan 27 at 20:05

2 Answers 2

If you are storing standard metadata fields such as camera information, it would probably be easiest to stick to the well defined field names and types of EXIF. It may mean better compatibility with other applications that may not have as good support for XMP.

Your other option is to simply use both as they can co-exist in the same file.

share|improve this answer
1  
+1 to using both. ("The nice thing about standards ...") –  mattdm Feb 25 at 13:56

They are different formats. XMP is an XML based format that is more self-descriptive where as EXIF requires knowing the format of the file to know what value is at each offset. EXIF is more limited in what it can store (atleast that can be universally recognized) but also is smaller since it doesn't need descriptors of the fields to be included in the file. XMP on the other hand takes more space, but can define any values you want since it includes field descriptors in the format.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.