- Main Page
- Namespaces
- Classes
- Files
- Examples

# Exif and Iptc metadata manipulation library and tools v0.10

## 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 and Iptc 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 (by Doxygen)

## Getting started

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

## Exif and MakerNote tags and Iptc datasets

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

## File Formats

- Jpeg
- Canon CRW
- TIFF and related RAW formats (Canon CR2, Nikon NEF, Pentax PEF, Sony SR2, Adobe DNG, and Minolta MRW), read-only

## Support

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

Join the group to post and receive messages or use exiv2user/password 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.10 from the repository, change to your local exiv2-0.10 directory and use the following command:

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

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

## License

Copyright (C) 2004, 2005, 2006 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.

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.