Exiv2: Image metadata library and tools v0.16

# Image metadata library and tools v0.16

## Exiv2 Overview

Exiv2 comprises of a C++ library and a command line utility to access image metadata. Exiv2 is free software. The homepage of Exiv2 is at http://www.exiv2.org/.

The Exiv2 library provides

- full read and write access to the Exif, IPTC and XMP metadata of an image through Exiv2 keys and standard C++ iterators
- a smart IPTC implementation that does not affect data that programs like Photoshop store in the same image segment
- Exif MakerNote support:
  - MakerNote tags can be accessed just like any other Exif metadata
  - a sophisticated write algorithm avoids corrupting the MakerNote:
    1) the MakerNote is not re-located if possible at all, and
    2) MakerNote Ifd offsets are re-calculated if the MakerNote needs to be moved (for known Ifd MakerNotes)
- extract and delete methods for Exif thumbnails (both, JPEG and TIFF thumbnails)
- set methods for Exif thumbnails (JPEG only, TIFF thumbnails can be set from individual tags)
- complete API documentation

## Getting started

A few pointers to get you started with the Exiv2 library without delay.

## Metadata reference tables

Exif and MakerNote tags

- Standard Exif tags
- Canon MakerNote tags
- Fujifilm MakerNote tags
- Minolta MakerNote tags
- Nikon MakerNote tags
- Olympus MakerNote tags
- Panasonic MakerNote tags
- Pentax MakerNote tags
- Sigma/Foveon MakerNote tags
- Sony MakerNote tags

IPTC datasets

- IPTC datasets

XMP properties

- dc schema
- xmp schema
- xmpRights schema
- xmpMM schema
- xmpBJ schema
- xmpTPg schema
- xmpDM schema
- pdf schema
- photoshop schema
- crs schema
- tiff schema
- exif schema
- aux schema
- Iptc4xmpCore schema

## File Formats

- JPEG
- Canon CRW
- TIFF and related RAW formats (Adobe DNG, Canon CR2, Fujifilm RAF, Minolta MRW, Nikon NEF, Olympus ORF, Pentax PEF, Sony ARW and Sony SR2), read-only
- PNG, read-only

## Support

Please write to the Yahoo! group for Exiv2 help and discussions.

Join the group to post and receive messages or use exiv2post/2post2exiv2 to post anonymously. Bug reports can be submitted directly to the bug tracking system.

## Development

Exiv2 is maintained in a publicly available subversion repository. There is a live list with the latest commits to the repository, and you can browse the source code online.

To check-out the current source code from the repository, you need a subversion client. If you use a command line client, change to the directory where you want to keep the source code and type:

    $ svn checkout svn://dev.robotbattle.com/exiv2/trunk .

To download the test data and test drivers for version 0.16 from the repository, change to your local exiv2-0.16 directory and use the following command:

    $ svn export svn://dev.robotbattle.com/exiv2/tags/0.16/test

If you'd like to contribute code, please contact me.

## License

Copyright (C) 2004-2008 Andreas Huggel <ahuggel@gmx.net>

Exiv2 is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Alternatively, Exiv2 is also available with a commercial license, which allows it to be used in closed-source projects. Contact me for more information.

Exiv2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA.