Exiv2 Namespace Reference

Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of the objects of this namespace. More...

Namespaces

namespace  ImageType
 

Supported image formats.


namespace  Internal
 

Contains internal objects which are not published and are not part of the libexiv2 API.


Classes

class  BasicIo
 An interface for simple binary IO. More...
class  IoCloser
 Utility class that closes a BasicIo instance upon destruction. Meant to be used as a stack variable in functions that need to ensure BasicIo instances get closed. Useful when functions return errors from many locations. More...
class  FileIo
 Provides binary file IO by implementing the BasicIo interface. More...
class  MemIo
 Provides binary IO on blocks of memory by implementing the BasicIo interface. A copy-on-write implementation ensures that the data passed in is only copied when necessary, i.e., as soon as data is written to the MemIo. The original data is only used for reading. If writes are performed, the changed data can be retrieved using the read methods (since the data used in construction is never modified). More...
class  BmpImage
 Class to access Windows bitmaps. This is just a stub - we only read width and height. More...
struct  LensIdFct
 A lens id and a pretty-print function for special treatment of the id. More...
struct  LensTypeAndFocalLength
 Helper structure. More...
class  CanonMakerNote
 MakerNote for Canon cameras. More...
class  Converter
 Metadata conversions. More...
class  Cr2Image
 Class to access raw Canon CR2 images. Exif metadata is supported directly, IPTC is read from the Exif data, if present. More...
class  Cr2Parser
 Stateless parser class for data in CR2 format. Images use this class to decode and encode CR2 data. See class TiffParser for details. More...
class  CrwImage
 Class to access raw Canon CRW images. Only Exif metadata and a comment are supported. CRW format does not contain IPTC metadata. More...
class  CrwParser
struct  RecordInfo
 Details of an IPTC record. More...
struct  DataSet
 Details of an IPTC dataset. More...
class  IptcDataSets
 IPTC dataset reference, implemented as a static class. More...
class  IptcKey
 Concrete keys for IPTC metadata. More...
class  AnyError
 Error class interface. Allows the definition and use of a hierarchy of error classes which can all be handled in one catch block. Inherits from the standard exception base-class, to make life easier for library users (they have the option of catching most things via std::exception). More...
class  Error
 Simple error class used for exceptions. An output operator is provided to print errors to a stream. More...
class  Exifdatum
 An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate these. More...
class  ExifThumbC
 Access to a Exif thumbnail image. This class provides higher level accessors to the thumbnail image that is optionally embedded in IFD1 of the Exif data. These methods do not write to the Exif metadata. Manipulators are provided in subclass ExifThumb. More...
class  ExifThumb
 Access and modify an Exif thumbnail image. This class implements manipulators to set and erase the thumbnail image that is optionally embedded in IFD1 of the Exif data. Accessors are provided by the base class, ExifThumbC. More...
class  ExifData
 A container for Exif data. This is a top-level class of the Exiv2 library. The container holds Exifdatum objects. More...
class  ExifParser
 Stateless parser class for Exif data. Images use this class to decode and encode binary Exif data. More...
class  FujiMakerNote
 MakerNote for Fujifilm cameras. More...
class  GifImage
 Class to access raw GIF images. Exif/IPTC metadata are supported directly. More...
class  Image
 Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2 library. More...
class  ImageFactory
 Returns an Image instance of the specified type. More...
class  Iptcdatum
 An IPTC metadatum ("dataset"), consisting of an IptcKey and a Value and methods to manipulate these. More...
class  IptcData
 A container for IPTC data. This is a top-level class of the Exiv2 library. More...
class  IptcParser
 Stateless parser class for IPTC data. Images use this class to decode and encode binary IPTC data. More...
class  Jp2Image
 Class to access JPEG-2000 images. More...
struct  Photoshop
 Helper class, has methods to deal with Photoshop "Information Resource Blocks" (IRBs). More...
class  JpegBase
 Abstract helper base class to access JPEG images. More...
class  JpegImage
 Class to access JPEG images. More...
class  ExvImage
 Helper class to access Exiv2 files. More...
class  Key
 Abstract base class defining the Key of a metadatum. Keys are used to identify and group metadata. More...
class  Metadatum
 Abstract base class defining the interface to access information related to one metadata tag. More...
class  MinoltaMakerNote
 MakerNote for Minolta cameras. More...
class  MrwImage
 Class to access raw Minolta MRW images. Exif metadata is supported directly, IPTC is read from the Exif data, if present. More...
class  Nikon1MakerNote
 A MakerNote format used by Nikon cameras, such as the E990 and D1. More...
class  Nikon2MakerNote
 A second MakerNote format used by Nikon cameras, including the E700, E800, E900, E900S, E910, E950. More...
class  Nikon3MakerNote
 A third MakerNote format used by Nikon cameras, e.g., E5400, SQ, D2H, D70. More...
class  OlympusMakerNote
 MakerNote for Olympus cameras. More...
class  OrfImage
 Class to access raw Olympus ORF images. Exif metadata is supported directly, IPTC is read from the Exif data, if present. More...
class  OrfParser
 Stateless parser class for data in ORF format. Images use this class to decode and encode ORF data. See class TiffParser for details. More...
class  PanasonicMakerNote
 MakerNote for Panasonic cameras. More...
class  PentaxMakerNote
 MakerNote for Pentaxfilm cameras. More...
class  PgfImage
 Class to access PGF images. Exif and IPTC metadata are supported directly. More...
class  PngImage
 Class to access PNG images. Exif and IPTC metadata are supported directly. More...
struct  PreviewProperties
 Preview image properties. More...
class  PreviewImage
 Class that holds preview image properties and data buffer. More...
class  PreviewManager
 Class for extracting preview images from image metadata. More...
struct  XmpPropertyInfo
 Information about one XMP property. More...
struct  XmpNsInfo
 Structure mapping XMP namespaces and (preferred) prefixes. More...
class  XmpProperties
 XMP property reference, implemented as a static class. More...
class  XmpKey
 Concrete keys for XMP metadata. More...
class  PsdImage
 Class to access raw Photoshop images. More...
class  RafImage
 Class to access raw Fujifilm RAF images. Exif metadata is supported directly, IPTC is read from the Exif data, if present. More...
class  Rw2Image
 Class to access raw Panasonic RW2 images. Exif metadata is supported directly, IPTC and XMP are read from the Exif data, if present. More...
class  Rw2Parser
 Stateless parser class for data in RW2 format. Images use this class to decode and encode RW2 data. Only decoding is currently implemented. See class TiffParser for details. More...
class  SigmaMakerNote
 MakerNote for Sigma (Foveon) cameras. More...
class  SonyMakerNote
 MakerNote for Sony cameras. More...
struct  IfdInfo
 The details of an IFD. More...
struct  SectionInfo
 The details of a section. More...
struct  TagInfo
 Tag information. More...
struct  TagDetails
 Helper structure for lookup tables for translations of numeric tag values to human readable labels. More...
struct  TagDetailsBitmask
 Helper structure for lookup tables for translations of bitmask values to human readable labels. More...
struct  TagVocabulary
 Helper structure for lookup tables for translations of controlled vocabulary strings to their descriptions. More...
class  ExifTags
 Exif tag reference, implemented as a static class. More...
class  ExifKey
 Concrete keys for Exif metadata. More...
class  TgaImage
 Class to access raw TARGA images. This is just a stub - we only read width and height. More...
class  TiffImage
 Class to access TIFF images. Exif metadata is supported directly, IPTC is read from the Exif data, if present. More...
class  TiffParser
 Stateless parser class for data in TIFF format. Images use this class to decode and encode TIFF data. It is a wrapper of the internal class Internal::TiffParserWorker. More...
class  TypeInfo
 Type information lookup functions. Implemented as a static class. More...
struct  DataBufRef
 Auxiliary type to enable copies and assignments, similar to std::auto_ptr_ref. See http://www.josuttis.com/libbook/auto_ptr.html for a discussion. More...
class  DataBuf
 Utility class containing a character array. All it does is to take care of memory allocation and deletion. Its primary use is meant to be as a stack variable in functions that need a temporary data buffer. More...
class  Value
 Common interface for all types of values used with metadata. More...
class  DataValue
 Value for an undefined data type. More...
class  StringValueBase
 Abstract base class for a string based Value type. More...
class  StringValue
 Value for string type. More...
class  AsciiValue
 Value for an Ascii string type. More...
class  CommentValue
 Value for an Exif comment. More...
class  XmpValue
 Base class for all Exiv2 values used to store XMP property values. More...
class  XmpTextValue
 Value type suitable for simple XMP properties and XMP nodes of complex types which are not parsed into specific values. More...
class  XmpArrayValue
 Value type for simple arrays. Each item in the array is a simple value, without qualifiers. The array may be an ordered (seq), unordered (bag) or alternative array (alt). The array items must not contain qualifiers. For language alternatives use LangAltValue. More...
class  LangAltValue
 Value type for XMP language alternative properties. More...
class  DateValue
 Value for simple ISO 8601 dates More...
class  TimeValue
 Value for simple ISO 8601 times. More...
class  ValueType
 Template for a Value of a basic type. This is used for unsigned and signed short, long and rationals. More...
class  Xmpdatum
 Information related to an XMP property. An XMP metadatum consists of an XmpKey and a Value and provides methods to manipulate these. More...
class  XmpData
 A container for XMP data. This is a top-level class of the Exiv2 library. More...
class  XmpParser
 Stateless parser class for XMP packets. Images use this class to parse and serialize XMP packets. The parser uses the XMP toolkit to do the job. More...
class  XmpSidecar
 Class to access XMP sidecar files. They contain only XMP metadata. More...

Typedefs

typedef std::vector< ExifdatumExifMetadata
 Container type to hold all metadata.
typedef Image::AutoPtr(* NewInstanceFct )(BasicIo::AutoPtr io, bool create)
 Type for function pointer that creates new Image instances.
typedef bool(* IsThisTypeFct )(BasicIo &iIo, bool advance)
 Type for function pointer that checks image types.
typedef std::vector< IptcdatumIptcMetadata
 Container type to hold all metadata.
typedef int PreviewId
 Type of preview image.
typedef std::vector
< PreviewProperties
PreviewPropertiesList
 Container type to hold all preview images metadata.
typedef std::ostream &(* PrintFct )(std::ostream &, const Value &, const ExifData *pExifData)
 Type for a function pointer for functions interpreting the tag value.
typedef const TagInfo *(* TagListFct )()
 A function returning a tag list.
typedef uint8_t byte
 1 byte unsigned integer type.
typedef std::pair< uint32_t,
uint32_t > 
URational
 8 byte unsigned rational type.
typedef std::pair< int32_t,
int32_t > 
Rational
 8 byte signed rational type.
typedef std::vector< byteBlob
 Container for binary data.
typedef ValueType< uint16_t > UShortValue
 Unsigned short value type.
typedef ValueType< uint32_t > ULongValue
 Unsigned long value type.
typedef ValueType< URationalURationalValue
 Unsigned rational value type.
typedef ValueType< int16_t > ShortValue
 Signed short value type.
typedef ValueType< int32_t > LongValue
 Signed long value type.
typedef ValueType< RationalRationalValue
 Signed rational value type.
typedef std::vector< XmpdatumXmpMetadata
 Container type to hold all metadata.

Enumerations

enum  XmpCategory { xmpInternal, xmpExternal }
 

Category of an XMP property.


enum  SectionId {
  sectionIdNotSet, imgStruct, recOffset, imgCharacter,
  otherTags, exifFormat, exifVersion, imgConfig,
  userInfo, relatedFile, dateTime, captureCond,
  gpsTags, iopTags, makerTags, dngTags,
  panaRaw, tiffEp, lastSectionId
}
 

Section identifiers to logically group tags. A section consists of nothing more than a name, based on the Exif standard.


enum  ByteOrder { invalidByteOrder, littleEndian, bigEndian }
 

Type to express the byte order (little or big endian).


enum  WriteMethod { wmIntrusive, wmNonIntrusive }
 

Type to indicate write method used by TIFF parsers.


enum  MetadataId {
  mdNone = 0, mdExif = 1, mdIptc = 2, mdComment = 4,
  mdXmp = 8
}
 

An identifier for each type of metadata.


enum  AccessMode { amNone = 0, amRead = 1, amWrite = 2, amReadWrite = 3 }
 

An identifier for each mode of metadata support.


enum  TypeId {
  unsignedByte = 1, asciiString = 2, unsignedShort = 3, unsignedLong = 4,
  unsignedRational = 5, signedByte = 6, undefined = 7, signedShort = 8,
  signedLong = 9, signedRational = 10, tiffFloat = 11, tiffDouble = 12,
  tiffIfd = 13, string = 0x10000, date = 0x10001, time = 0x10002,
  comment = 0x10003, directory = 0x10004, xmpText = 0x10005, xmpAlt = 0x10006,
  xmpBag = 0x10007, xmpSeq = 0x10008, langAlt = 0x10009, invalidTypeId = 0x1fffe,
  lastTypeId = 0x1ffff
}
 

Exiv2 value type identifiers.

More...
enum  IfdId {
  ifdIdNotSet, ifd0Id, exifIfdId, gpsIfdId,
  iopIfdId, ifd1Id, ifd2Id, ifd3Id,
  subImage1Id, subImage2Id, subImage3Id, subImage4Id,
  mnIfdId, canonIfdId, canonCsIfdId, canonSiIfdId,
  canonCfIfdId, canonPiIfdId, canonPaIfdId, canonFiIfdId,
  fujiIfdId, minoltaIfdId, minoltaCs5DIfdId, minoltaCs7DIfdId,
  minoltaCsOldIfdId, minoltaCsNewIfdId, nikon1IfdId, nikon2IfdId,
  nikon3IfdId, nikonPvIfdId, nikonVrIfdId, nikonPcIfdId,
  nikonWtIfdId, nikonIiIfdId, nikonAfIfdId, nikonSi1IfdId,
  nikonSi2IfdId, nikonSi3IfdId, nikonSi4IfdId, nikonSi5IfdId,
  nikonSi6IfdId, nikonLd1IfdId, nikonLd2IfdId, nikonLd3IfdId,
  nikonCb1IfdId, nikonCb2IfdId, nikonCb2aIfdId, nikonCb2bIfdId,
  nikonCb3IfdId, nikonCb4IfdId, olympusIfdId, olympus2IfdId,
  olympusCsIfdId, olympusEqIfdId, olympusRdIfdId, olympusRd2IfdId,
  olympusIpIfdId, olympusFiIfdId, olympusFe1IfdId, olympusFe2IfdId,
  olympusFe3IfdId, olympusFe4IfdId, olympusFe5IfdId, olympusFe6IfdId,
  olympusFe7IfdId, olympusFe8IfdId, olympusFe9IfdId, olympusRiIfdId,
  panasonicIfdId, panaRawIfdId, pentaxIfdId, sigmaIfdId,
  sonyIfdId, lastIfdId
}
 

Type to specify the IFD to which a metadata belongs.


Functions

DataBuf readFile (const std::string &path)
 Read file path into a DataBuf, which is returned.
long writeFile (const DataBuf &buf, const std::string &path)
 Write DataBuf buf to file path.
Image::AutoPtr newBmpInstance (BasicIo::AutoPtr io, bool create)
 Create a new BmpImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isBmpType (BasicIo &iIo, bool advance)
 Check if the file iIo is a Windows Bitmap image.
std::ostream & printCsLensByFocalLength (std::ostream &os, const Value &value, const ExifData *metadata)
 Special treatment pretty-print function for non-unique lens ids.
bool operator== (const TagDetails &td, const LensTypeAndFocalLength &ltfl)
 Compare tag details with a lens entry.
float canonEv (long val)
 Convert Canon hex-based EV (modulo 0x20) to real number Ported from Phil Harvey's Image::ExifTool::Canon::CanonEv by Will Stokes.
void copyExifToXmp (const ExifData &exifData, XmpData &xmpData)
 Convert (copy) Exif tags to XMP properties.
void moveExifToXmp (ExifData &exifData, XmpData &xmpData)
 Convert (move) Exif tags to XMP properties, remove converted Exif tags.
void copyXmpToExif (const XmpData &xmpData, ExifData &exifData)
 Convert (copy) XMP properties to Exif tags.
void moveXmpToExif (XmpData &xmpData, ExifData &exifData)
 Convert (move) XMP properties to Exif tags, remove converted XMP properties.
void syncExifWithXmp (ExifData &exifData, XmpData &xmpData)
 Detect which metadata are newer and perform a copy in appropriate direction.
void copyIptcToXmp (const IptcData &iptcData, XmpData &xmpData, const char *iptcCharset=0)
 Convert (copy) IPTC datasets to XMP properties.
void moveIptcToXmp (IptcData &iptcData, XmpData &xmpData, const char *iptcCharset=0)
 Convert (move) IPTC datasets to XMP properties, remove converted IPTC datasets.
void copyXmpToIptc (const XmpData &xmpData, IptcData &iptcData)
 Convert (copy) XMP properties to IPTC datasets.
void moveXmpToIptc (XmpData &xmpData, IptcData &iptcData)
 Convert (move) XMP properties to IPTC tags, remove converted XMP properties.
Image::AutoPtr newCr2Instance (BasicIo::AutoPtr io, bool create)
 Create a new Cr2Image instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isCr2Type (BasicIo &iIo, bool advance)
 Check if the file iIo is a CR2 image.
Image::AutoPtr newCrwInstance (BasicIo::AutoPtr io, bool create)
 Create a new CrwImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isCrwType (BasicIo &iIo, bool advance)
 Check if the file iIo is a CRW image.
std::ostream & operator<< (std::ostream &os, const DataSet &dataSet)
 Output operator for dataSet.
ExifData::const_iterator orientation (const ExifData &ed)
 Return the orientation of the image.
ExifData::const_iterator isoSpeed (const ExifData &ed)
 Return the ISO speed used to shoot the image.
ExifData::const_iterator flashBias (const ExifData &ed)
 Return the flash bias value.
ExifData::const_iterator exposureMode (const ExifData &ed)
 Return the exposure mode setting.
ExifData::const_iterator sceneMode (const ExifData &ed)
 Return the scene mode setting.
ExifData::const_iterator macroMode (const ExifData &ed)
 Return the macro mode setting.
ExifData::const_iterator imageQuality (const ExifData &ed)
 Return the image quality setting.
ExifData::const_iterator whiteBalance (const ExifData &ed)
 Return the white balance setting.
ExifData::const_iterator lensName (const ExifData &ed)
 Return the name of the lens used.
ExifData::const_iterator saturation (const ExifData &ed)
 Return the saturation level.
ExifData::const_iterator sharpness (const ExifData &ed)
 Return the sharpness level.
ExifData::const_iterator contrast (const ExifData &ed)
 Return the contrast level.
ExifData::const_iterator sceneCaptureType (const ExifData &ed)
 Return the scene capture type.
std::ostream & operator<< (std::ostream &os, const AnyError &error)
 AnyBase output operator
template<typename T >
Exiv2::ExifdatumsetValue (Exiv2::Exifdatum &exifDatum, const T &value)
 Set the value of exifDatum to value. If the object already has a value, it is replaced. Otherwise a new ValueType<T> value is created and set to value.
bool fileExists (const std::string &path, bool ct=false)
 Test if a file exists.
std::string strError ()
 Return a system error message and the error code (errno). See strerror(3).
Image::AutoPtr newGifInstance (BasicIo::AutoPtr io, bool create)
 Create a new GifImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isGifType (BasicIo &iIo, bool advance)
 Check if the file iIo is a GIF image.
void append (Exiv2::Blob &blob, const byte *buf, uint32_t len)
 Append len bytes pointed to by buf to blob.
Image::AutoPtr newJp2Instance (BasicIo::AutoPtr io, bool create)
 Create a new Jp2Image instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isJp2Type (BasicIo &iIo, bool advance)
 Check if the file iIo is a JPEG-2000 image.
Image::AutoPtr newJpegInstance (BasicIo::AutoPtr io, bool create)
 Create a new JpegImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isJpegType (BasicIo &iIo, bool advance)
 Check if the file iIo is a JPEG image.
Image::AutoPtr newExvInstance (BasicIo::AutoPtr io, bool create)
 Create a new ExvImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isExvType (BasicIo &iIo, bool advance)
 Check if the file iIo is an EXV file.
bool cmpMetadataByTag (const Metadatum &lhs, const Metadatum &rhs)
 Compare two metadata by tag. Return true if the tag of metadatum lhs is less than that of rhs.
bool cmpMetadataByKey (const Metadatum &lhs, const Metadatum &rhs)
 Compare two metadata by key. Return true if the key of metadatum lhs is less than that of rhs.
std::ostream & operator<< (std::ostream &os, const Key &key)
 Output operator for Key types.
std::ostream & operator<< (std::ostream &os, const Metadatum &md)
 Output operator for Metadatum types, writing the interpreted tag value.
Image::AutoPtr newMrwInstance (BasicIo::AutoPtr io, bool create)
 Create a new MrwImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isMrwType (BasicIo &iIo, bool advance)
 Check if the file iIo is a MRW image.
Image::AutoPtr newOrfInstance (BasicIo::AutoPtr io, bool create)
 Create a new OrfImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isOrfType (BasicIo &iIo, bool advance)
 Check if the file iIo is an ORF image.
template<int N, const TagDetails(&) array, int count, int ignoredcount>
std::ostream & printCombiTag (std::ostream &os, const Value &value, const ExifData *metadata)
 Print function to translate Pentax "combi-values" to a description by looking up a reference table.
Image::AutoPtr newPgfInstance (BasicIo::AutoPtr io, bool create)
 Create a new PgfImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isPgfType (BasicIo &iIo, bool advance)
 Check if the file iIo is a PGF image.
EXIV2API Image::AutoPtr newPngInstance (BasicIo::AutoPtr io, bool create)
 Create a new PngImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
EXIV2API bool isPngType (BasicIo &iIo, bool advance)
 Check if the file iIo is a PNG image.
EXIV2API std::ostream & operator<< (std::ostream &os, const XmpPropertyInfo &propertyInfo)
 Output operator for property info.
Image::AutoPtr newPsdInstance (BasicIo::AutoPtr io, bool create)
 Create a new PsdImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isPsdType (BasicIo &iIo, bool advance)
 Check if the file iIo is a Photoshop image.
Image::AutoPtr newRafInstance (BasicIo::AutoPtr io, bool create)
 Create a new RafImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isRafType (BasicIo &iIo, bool advance)
 Check if the file iIo is a RAF image.
Image::AutoPtr newRw2Instance (BasicIo::AutoPtr io, bool create)
 Create a new Rw2Image instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isRw2Type (BasicIo &iIo, bool advance)
 Check if the file iIo is a RW2 image.
std::ostream & operator<< (std::ostream &os, const TagInfo &ti)
 Output operator for TagInfo.
std::ostream & operator<< (std::ostream &os, const Rational &r)
 Output operator for our fake rational.
std::istream & operator>> (std::istream &is, Rational &r)
 Input operator for our fake rational.
std::ostream & operator<< (std::ostream &os, const URational &r)
 Output operator for our fake unsigned rational.
std::istream & operator>> (std::istream &is, URational &r)
 Input operator for our fake unsigned rational.
float fnumber (float apertureValue)
 Calculate F number from an APEX aperture value.
URational exposureTime (float shutterSpeedValue)
 Calculate the exposure time from an APEX shutter speed value.
template<int N, const TagDetails(&) array>
std::ostream & printTag (std::ostream &os, const Value &value, const ExifData *)
 Generic pretty-print function to translate a long value to a description by looking up a reference table.
template<int N, const TagDetailsBitmask(&) array>
std::ostream & printTagBitmask (std::ostream &os, const Value &value, const ExifData *)
 Generic print function to translate a long value to a description by looking up bitmasks in a reference table.
template<int N, const TagVocabulary(&) array>
std::ostream & printTagVocabulary (std::ostream &os, const Value &value, const ExifData *)
 Generic pretty-print function to translate a controlled vocabulary value (string) to a description by looking up a reference table.
Image::AutoPtr newTgaInstance (BasicIo::AutoPtr io, bool create)
 Create a new TgaImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isTgaType (BasicIo &iIo, bool advance)
 Check if the file iIo is a Targa v2 image.
Image::AutoPtr newTiffInstance (BasicIo::AutoPtr io, bool create)
 Create a new TiffImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isTiffType (BasicIo &iIo, bool advance)
 Check if the file iIo is a TIFF image.
uint16_t getUShort (const byte *buf, ByteOrder byteOrder)
 Read a 2 byte unsigned short value from the data buffer.
uint32_t getULong (const byte *buf, ByteOrder byteOrder)
 Read a 4 byte unsigned long value from the data buffer.
URational getURational (const byte *buf, ByteOrder byteOrder)
 Read an 8 byte unsigned rational value from the data buffer.
int16_t getShort (const byte *buf, ByteOrder byteOrder)
 Read a 2 byte signed short value from the data buffer.
int32_t getLong (const byte *buf, ByteOrder byteOrder)
 Read a 4 byte signed long value from the data buffer.
Rational getRational (const byte *buf, ByteOrder byteOrder)
 Read an 8 byte signed rational value from the data buffer.
long us2Data (byte *buf, uint16_t s, ByteOrder byteOrder)
 Convert an unsigned short to data, write the data to the buffer, return number of bytes written.
long ul2Data (byte *buf, uint32_t l, ByteOrder byteOrder)
 Convert an unsigned long to data, write the data to the buffer, return number of bytes written.
long ur2Data (byte *buf, URational l, ByteOrder byteOrder)
 Convert an unsigned rational to data, write the data to the buffer, return number of bytes written.
long s2Data (byte *buf, int16_t s, ByteOrder byteOrder)
 Convert a signed short to data, write the data to the buffer, return number of bytes written.
long l2Data (byte *buf, int32_t l, ByteOrder byteOrder)
 Convert a signed long to data, write the data to the buffer, return number of bytes written.
long r2Data (byte *buf, Rational l, ByteOrder byteOrder)
 Convert a signed rational to data, write the data to the buffer, return number of bytes written.
void hexdump (std::ostream &os, const byte *buf, long len, long offset=0)
 Print len bytes from buf in hex and ASCII format to the given stream, prefixed with the position in the buffer adjusted by offset.
bool isHex (const std::string &str, size_t size=0, const std::string &prefix="")
 Return true if str is a hex number starting with prefix followed by size hex digits, false otherwise. If size is 0, any number of digits is allowed and all are checked.
int exifTime (const char *buf, struct tm *tm)
 Converts a string in the form "%Y:%m:%d %H:%M:%S", e.g., "2007:05:24 12:31:55" to broken down time format, returns 0 if successful, else 1.
const char * exvGettext (const char *str)
 Translate a string using the gettext framework. This wrapper hides all the implementation details from the interface.
template<>
bool stringTo< bool > (const std::string &s, bool &ok)
 Specialization of stringTo(const std::string& s, bool& ok) for bool.
long parseLong (const std::string &s, bool &ok)
 Return a long set to the value represented by s.
float parseFloat (const std::string &s, bool &ok)
 Return a float set to the value represented by s.
Rational parseRational (const std::string &s, bool &ok)
 Return a Rational set to the value represented by s.
Rational floatToRationalCast (float f)
 Very simple conversion of a float to a Rational.
template<typename T , typename K , int N>
const T * find (T(&src)[N], const K &key)
 Find an element that matches key in the array src.
template<typename T , int N>
char(& sizer (T(&)[N]))[N]
 Template used in the COUNTOF macro to determine the size of an array.
template<typename T >
std::string toString (const T &arg)
 Utility function to convert the argument of any type to a string.
template<typename T >
stringTo (const std::string &s, bool &ok)
 Utility function to convert a string to a value of type T.
template<typename IntType >
IntType gcd (IntType n, IntType m)
 Return the greatest common denominator of n and m. (Implementation from Boost rational.hpp).
std::ostream & operator<< (std::ostream &os, const Value &value)
 Output operator for Value types.
template<typename T >
TypeId getType ()
 Template to determine the TypeId for a type T.
template<>
TypeId getType< uint16_t > ()
 Specialization for an unsigned short.
template<>
TypeId getType< uint32_t > ()
 Specialization for an unsigned long.
template<>
TypeId getType< URational > ()
 Specialization for an unsigned rational.
template<>
TypeId getType< int16_t > ()
 Specialization for a signed short.
template<>
TypeId getType< int32_t > ()
 Specialization for a signed long.
template<>
TypeId getType< Rational > ()
 Specialization for a signed rational.
template<typename T >
getValue (const byte *buf, ByteOrder byteOrder)
 Read a value of type T from the data buffer.
template<>
uint16_t getValue (const byte *buf, ByteOrder byteOrder)
 Read a value of type T from the data buffer.
template<typename T >
long toData (byte *buf, T t, ByteOrder byteOrder)
 Convert a value of type T to data, write the data to the data buffer.
template<>
long toData (byte *buf, uint16_t t, ByteOrder byteOrder)
 Specialization to write an unsigned short to the data buffer. Return the number of bytes written.
template<>
long toData (byte *buf, uint32_t t, ByteOrder byteOrder)
 Specialization to write an unsigned long to the data buffer. Return the number of bytes written.
template<>
long toData (byte *buf, URational t, ByteOrder byteOrder)
 Specialization to write an unsigned rational to the data buffer. Return the number of bytes written.
template<>
long toData (byte *buf, int16_t t, ByteOrder byteOrder)
 Specialization to write a signed short to the data buffer. Return the number of bytes written.
template<>
long toData (byte *buf, int32_t t, ByteOrder byteOrder)
 Specialization to write a signed long to the data buffer. Return the number of bytes written.
template<>
long toData (byte *buf, Rational t, ByteOrder byteOrder)
 Specialization to write a signed rational to the data buffer. Return the number of bytes written.
int versionNumber ()
 Return the version of Exiv2 available at runtime as an integer.
const char * version ()
 Return the version of Exiv2 available at runtime as a string.
bool testVersion (int major, int minor, int patch)
 Test the version of the available Exiv2 library at runtime. Return true if it is the same as or newer than the passed-in version.
Image::AutoPtr newXmpInstance (BasicIo::AutoPtr io, bool create)
 Create a new XmpSidecar instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool isXmpType (BasicIo &iIo, bool advance)
 Check if the file iIo is an XMP sidecar file.
Functions printing interpreted tag values

std::ostream & printValue (std::ostream &os, const Value &value, const ExifData *)
 Default print function, using the Value output operator.
std::ostream & printLong (std::ostream &os, const Value &value, const ExifData *)
 Print the value converted to a long.
std::ostream & printFloat (std::ostream &os, const Value &value, const ExifData *)
 Print a Rational or URational value in floating point format.
std::ostream & printDegrees (std::ostream &os, const Value &value, const ExifData *)
 Print a longitude or latitude value.
std::ostream & printUcs2 (std::ostream &os, const Value &value, const ExifData *)
 Print function converting from UCS-2LE to UTF-8.
std::ostream & printExifUnit (std::ostream &os, const Value &value, const ExifData *)
 Print function for Exif units.
std::ostream & print0x0000 (std::ostream &os, const Value &value, const ExifData *)
 Print GPS version.
std::ostream & print0x0005 (std::ostream &os, const Value &value, const ExifData *)
 Print GPS altitude ref.
std::ostream & print0x0006 (std::ostream &os, const Value &value, const ExifData *)
 Print GPS altitude.
std::ostream & print0x0007 (std::ostream &os, const Value &value, const ExifData *)
 Print GPS timestamp.
std::ostream & print0x0009 (std::ostream &os, const Value &value, const ExifData *)
 Print GPS status.
std::ostream & print0x000a (std::ostream &os, const Value &value, const ExifData *)
 Print GPS measurement mode.
std::ostream & print0x000c (std::ostream &os, const Value &value, const ExifData *)
 Print GPS speed ref.
std::ostream & print0x0019 (std::ostream &os, const Value &value, const ExifData *)
 Print GPS destination distance ref.
std::ostream & print0x001e (std::ostream &os, const Value &value, const ExifData *)
 Print GPS differential correction.
std::ostream & print0x0112 (std::ostream &os, const Value &value, const ExifData *)
 Print orientation.
std::ostream & print0x0213 (std::ostream &os, const Value &value, const ExifData *)
 Print YCbCrPositioning.
std::ostream & print0x8298 (std::ostream &os, const Value &value, const ExifData *)
 Print the copyright.
std::ostream & print0x829a (std::ostream &os, const Value &value, const ExifData *)
 Print the exposure time.
std::ostream & print0x829d (std::ostream &os, const Value &value, const ExifData *)
 Print the f-number.
std::ostream & print0x8822 (std::ostream &os, const Value &value, const ExifData *)
 Print exposure program.
std::ostream & print0x8827 (std::ostream &os, const Value &value, const ExifData *)
 Print ISO speed ratings.
std::ostream & print0x9101 (std::ostream &os, const Value &value, const ExifData *)
 Print components configuration specific to compressed data.
std::ostream & print0x9201 (std::ostream &os, const Value &value, const ExifData *)
 Print exposure time converted from APEX shutter speed value.
std::ostream & print0x9202 (std::ostream &os, const Value &value, const ExifData *)
 Print f-number converted from APEX aperture value.
std::ostream & print0x9204 (std::ostream &os, const Value &value, const ExifData *)
 Print the exposure bias value.
std::ostream & print0x9206 (std::ostream &os, const Value &value, const ExifData *)
 Print the subject distance.
std::ostream & print0x9207 (std::ostream &os, const Value &value, const ExifData *)
 Print metering mode.
std::ostream & print0x9208 (std::ostream &os, const Value &value, const ExifData *)
 Print light source.
std::ostream & print0x920a (std::ostream &os, const Value &value, const ExifData *)
 Print the actual focal length of the lens.
std::ostream & print0x9286 (std::ostream &os, const Value &value, const ExifData *)
 Print the user comment.
std::ostream & print0xa001 (std::ostream &os, const Value &value, const ExifData *)
 Print color space.
std::ostream & print0xa217 (std::ostream &os, const Value &value, const ExifData *)
 Print sensing method.
std::ostream & print0xa300 (std::ostream &os, const Value &value, const ExifData *)
 Print file source.
std::ostream & print0xa301 (std::ostream &os, const Value &value, const ExifData *)
 Print scene type.
std::ostream & print0xa401 (std::ostream &os, const Value &value, const ExifData *)
 Print custom rendered.
std::ostream & print0xa402 (std::ostream &os, const Value &value, const ExifData *)
 Print exposure mode.
std::ostream & print0xa403 (std::ostream &os, const Value &value, const ExifData *)
 Print white balance.
std::ostream & print0xa404 (std::ostream &os, const Value &value, const ExifData *)
 Print digital zoom ratio.
std::ostream & print0xa405 (std::ostream &os, const Value &value, const ExifData *)
 Print 35mm equivalent focal length.
std::ostream & print0xa406 (std::ostream &os, const Value &value, const ExifData *)
 Print scene capture type.
std::ostream & print0xa407 (std::ostream &os, const Value &value, const ExifData *)
 Print gain control.
std::ostream & print0xa409 (std::ostream &os, const Value &value, const ExifData *)
 Print saturation.
std::ostream & print0xa40c (std::ostream &os, const Value &value, const ExifData *)
 Print subject distance range.
std::ostream & printGPSDirRef (std::ostream &os, const Value &value, const ExifData *)
 Print GPS direction ref.
std::ostream & printNormalSoftHard (std::ostream &os, const Value &value, const ExifData *)
 Print contrast, sharpness (normal, soft, hard).
std::ostream & printExifVersion (std::ostream &os, const Value &value, const ExifData *)
 Print any version packed in 4 Bytes format : major major minor minor.
std::ostream & printXmpVersion (std::ostream &os, const Value &value, const ExifData *)
 Print any version encoded in the ASCII string majormajorminorminor.
std::ostream & printXmpDate (std::ostream &os, const Value &value, const ExifData *)
 Print a date following the format YYYY-MM-DDTHH:MM:SSZ.

Variables

const TagDetails canonModelId []
 ModelId, tag 0x0010.
const TagDetails canonCsMacro []
 Macro, tag 0x0001.
const TagDetails canonCsQuality []
 Quality, tag 0x0003.
const TagDetails canonCsFlashMode []
 FlashMode, tag 0x0004.
const TagDetails canonCsDriveMode []
 DriveMode, tag 0x0005.
const TagDetails canonCsFocusMode []
 FocusMode, tag 0x0007.
const TagDetails canonCsImageSize []
 ImageSize, tag 0x000a.
const TagDetails canonCsEasyMode []
 EasyMode, tag 0x000b.
const TagDetails canonCsDigitalZoom []
 DigitalZoom, tag 0x000c.
const TagDetails canonCsLnh []
 Contrast, Saturation Sharpness, tags 0x000d, 0x000e, 0x000f.
const TagDetails canonCsISOSpeed []
 ISOSpeeds, tag 0x0010.
const TagDetails canonCsMeteringMode []
 MeteringMode, tag 0x0011.
const TagDetails canonCsFocusType []
 FocusType, tag 0x0012.
const TagDetails canonCsAfPoint []
 AFPoint, tag 0x0013.
const TagDetails canonCsExposureProgram []
 ExposureProgram, tag 0x0014.
const TagDetails canonCsLensType []
 LensType, tag 0x0016.
const LensIdFct lensIdFct []
 List of lens ids which require special treatment with the medicine.
const TagDetails canonCsFlashActivity []
 FlashActivity, tag 0x001c.
const TagDetailsBitmask canonCsFlashDetails []
 FlashDetails, tag 0x001d.
const TagDetails canonCsFocusContinuous []
 FocusContinuous, tag 0x0020.
const TagDetails canonCsAESetting []
 AESetting, tag 0x0021.
const TagDetails canonCsImageStabilization []
 ImageStabilization, tag 0x0022.
const TagDetails canonCsPhotoEffect []
 PhotoEffect, tag 0x0028.
const TagDetails canonSiWhiteBalance []
 WhiteBalance, tag 0x0007.
const TagDetailsBitmask canonSiAFPointUsed []
 AFPointUsed, tag 0x000e.
const TagDetails canonSiFlashBias []
 FlashBias, tag 0x000f.
const TagDetails canonPaDirection []
 PanoramaDirection, tag 0x0005.
const TagDetailsBitmask canonPiAFPointsUsed []
 AFPointsUsed, tag 0x0016.
const TagDetailsBitmask canonPiAFPointsUsed20D []
 AFPointsUsed20D, tag 0x001a.
const TagDetails canonBracketMode []
 BracketMode, tag 0x0003.
const TagDetails canonRawJpgSize []
 RawJpgSize, tag 0x0007.
const TagDetails canonNoiseReduction []
 NoiseReduction, tag 0x0008.
const TagDetails canonWBBracketMode []
 WBBracketMode, tag 0x0009.
const TagDetails canonFilterEffect []
 FilterEffect, tag 0x000e.
const TagDetails canonToningEffect []
 ToningEffect, tag 0x000e.
const TagDetails fujiOffOn []
 OffOn, multiple tags.
const TagDetails fujiSharpness []
 Sharpness, tag 0x1001.
const TagDetails fujiWhiteBalance []
 WhiteBalance, tag 0x1002.
const TagDetails fujiColor []
 Color, tag 0x1003.
const TagDetails fujiTone []
 Tone, tag 0x1004.
const TagDetails fujiFlashMode []
 FlashMode, tag 0x1010.
const TagDetails fujiFocusMode []
 FocusMode, tag 0x1021.
const TagDetails fujiPictureMode []
 PictureMode, tag 0x1031.
const TagDetails fujiContinuous []
 Continuous, tag 0x1100.
const TagDetails fujiFinePixColor []
 FinePixColor, tag 0x1210.
const TagDetails fujiDynamicRange []
 DynamicRange, tag 0x1400.
const TagDetails fujiFilmMode []
 FilmMode, tag 0x1401.
const TagDetails fujiDynamicRangeSetting []
 DynamicRange, tag 0x1402.
const TagDetails minoltaColorMode []
 Lookup table to translate Minolta color mode values to readable labels.
const TagDetails minoltaImageQuality []
 Lookup table to translate Minolta image quality values to readable labels.
const TagDetails minoltaZoneMatching []
 Lookup table to translate Minolta zone matching values.
const TagDetails minoltaImageStabilization []
 Lookup table to translate Minolta image stabilization values.
const TagDetails minoltaLensID []
 Lookup table to translate Minolta Lens id values to readable labels.
const TagDetails minoltaExposureModeStd []
 Lookup table to translate Minolta Std camera settings exposure mode values to readable labels.
const TagDetails minoltaFlashModeStd []
 Lookup table to translate Minolta Std camera settings exposure mode values to readable labels.
const TagDetails minoltaWhiteBalanceStd []
 Lookup table to translate Minolta Std camera settings white balance values to readable labels.
const TagDetails minoltaImageSizeStd []
 Lookup table to translate Minolta Std camera settings image size values to readable labels.
const TagDetails minoltaImageQualityStd []
 Lookup table to translate Minolta Std camera settings image quality values to readable labels.
const TagDetails minoltaDriveModeStd []
 Lookup table to translate Minolta Std camera settings drive mode values to readable labels.
const TagDetails minoltaMeteringModeStd []
 Lookup table to translate Minolta Std camera settings metering mode values to readable labels.
const TagDetails minoltaMacroModeStd []
 Lookup table to translate Minolta Std camera settings macro mode values to readable labels.
const TagDetails minoltaDigitalZoomStd []
 Lookup table to translate Minolta Std camera settings digital zoom values to readable labels.
const TagDetails minoltaBracketStepStd []
 Lookup table to translate Minolta Std camera bracket step mode values to readable labels.
const TagDetails minoltaAFPointsStd []
 Lookup table to translate Minolta Std camera settings AF points values to readable labels.
const TagDetails minoltaFlashStd []
 Lookup table to translate Minolta Std camera settings white balance values to readable labels.
const TagDetails minoltaFileNumberMemoryStd []
 Lookup table to translate Minolta Std camera settings file number memory values to readable labels.
const TagDetails minoltaSharpnessStd []
 Lookup table to translate Minolta Std camera settings sharpness values to readable labels.
const TagDetails minoltaSubjectProgramStd []
 Lookup table to translate Minolta Std camera settings subject program values to readable labels.
const TagDetails minoltaISOSettingStd []
 Lookup table to translate Minolta Std camera settings ISO settings values to readable labels.
const TagDetails minoltaModelStd []
 Lookup table to translate Minolta Std camera settings model values to readable labels.
const TagDetails minoltaIntervalModeStd []
 Lookup table to translate Minolta Std camera settings interval mode values to readable labels.
const TagDetails minoltaFolderNameStd []
 Lookup table to translate Minolta Std camera settings folder name values to readable labels.
const TagDetails minoltaColorModeStd []
 Lookup table to translate Minolta Std camera settings color mode values to readable labels.
const TagDetails minoltaInternalFlashStd []
 Lookup table to translate Minolta Std camera settings internal flash values to readable labels.
const TagDetails minoltaWideFocusZoneStd []
 Lookup table to translate Minolta Std camera settings wide focus zone values to readable labels.
const TagDetails minoltaFocusModeStd []
 Lookup table to translate Minolta Std camera settings focus mode values to readable labels.
const TagDetails minoltaFocusAreaStd []
 Lookup table to translate Minolta Std camera settings focus area values to readable labels.
const TagDetails minoltaDECPositionStd []
 Lookup table to translate Minolta Std camera settings DEC switch position values to readable labels.
const TagDetails minoltaColorProfileStd []
 Lookup table to translate Minolta Std camera settings color profile values to readable labels.
const TagDetails minoltaDataImprintStd []
 Lookup table to translate Minolta Std camera settings data Imprint values to readable labels.
const TagDetails minoltaFlashMeteringStd []
 Lookup table to translate Minolta Std camera settings flash metering values to readable labels.
const TagDetails minoltaExposureMode7D []
 Lookup table to translate Minolta Dynax 7D camera settings exposure mode values to readable labels.
const TagDetails minoltaImageSize7D []
 Lookup table to translate Minolta Dynax 7D camera settings image size values to readable labels.
const TagDetails minoltaImageQuality7D []
 Lookup table to translate Minolta Dynax 7D camera settings image quality values to readable labels.
const TagDetails minoltaWhiteBalance7D []
 Lookup table to translate Minolta Dynax 7D camera settings white balance values to readable labels.
const TagDetails minoltaFocusMode7D []
 Lookup table to translate Minolta Dynax 7D camera settings focus mode values to readable labels.
const TagDetails minoltaAFPoints7D []
 Lookup table to translate Minolta Dynax 7D camera settings AF points values to readable labels.
const TagDetails minoltaFlash7D []
 Lookup table to translate Minolta Dynax 7D camera settings white balance values to readable labels.
const TagDetails minoltaISOSetting7D []
 Lookup table to translate Minolta Dynax 7D camera settings ISO settings values to readable labels.
const TagDetails minoltaColorSpace7D []
 Lookup table to translate Minolta Dynax 7D camera settings color space values to readable labels.
const TagDetails minoltaRotation7D []
 Lookup table to translate Minolta Dynax 7D camera settings rotation values to readable labels.
const TagDetails minoltaNoiseReduction7D []
 Lookup table to translate Minolta Dynax 7D camera settings noise reduction values to readable labels.
const TagDetails minoltaImageStabilization7D []
 Lookup table to translate Minolta Dynax 7D camera settings image stabilization values to readable labels.
const TagDetails minoltaZoneMatchingOn7D []
 Lookup table to translate Minolta Dynax 7D camera settings zone matching on values to readable labels.
const TagDetails minoltaExposureMode5D []
 Lookup table to translate Minolta Dynax 5D camera settings exposure mode values to readable labels.
const TagDetails minoltaImageSize5D []
 Lookup table to translate Minolta Dynax 5D camera settings image size values to readable labels.
const TagDetails minoltaImageQuality5D []
 Lookup table to translate Minolta Dynax 5D camera settings image quality values to readable labels.
const TagDetails minoltaWhiteBalance5D []
 Lookup table to translate Minolta Dynax 5D camera settings white balance values to readable labels.
const TagDetails minoltaFlash5D []
 Lookup table to translate Minolta Dynax 5D camera settings flash labels.
const TagDetails minoltaMeteringMode5D []
 Lookup table to translate Minolta Dynax 5D camera settings metering mode values to readable labels.
const TagDetails minoltaISOSetting5D []
 Lookup table to translate Minolta Dynax 5D camera settings ISO settings values to readable labels.
const TagDetails minoltaRotation5D []
 Lookup table to translate Minolta Dynax 5D camera settings rotation values to readable labels.
const TagDetails minoltaNoiseReduction5D []
 Lookup table to translate Minolta Dynax 5D camera settings noise reduction values to readable labels.
const TagDetails minoltaImageStabilization5D []
 Lookup table to translate Minolta Dynax 5D camera settings image stabilization values to readable labels.
const TagDetails minoltaFocusPosition5D []
 Lookup table to translate Minolta Dynax 5D camera settings focus position values to readable labels.
const TagDetails minoltaFocusArea5D []
 Lookup table to translate Minolta Dynax 5D camera settings focus area values to readable labels.
const TagDetails minoltaAFMode5D []
 Lookup table to translate Minolta Dynax 5D camera settings focus mode values to readable labels.
const TagDetails minoltaFocusMode5D []
 Lookup table to translate Minolta Dynax 5D camera settings focus mode values to readable labels.
const TagDetails nikonOffOn []
 OffOn, multiple tags.
const TagDetails nikonOlnh []
 Off, Low, Normal, High, multiple tags.
const char * nikonFocusarea []
 Focus area for Nikon cameras.
const char * nikonFocuspoints []
 Focus points for Nikon cameras, used for Nikon 1 and Nikon 3 makernotes.
const TagDetails nikonFlashComp []
 FlashComp, tag 0x0012.
const TagDetails nikonColorSpace []
 ColorSpace, tag 0x001e.
const TagDetails nikonFlashMode []
 FlashMode, tag 0x0087.
const TagDetailsBitmask nikonShootingMode []
 ShootingMode, tag 0x0089.
const TagDetailsBitmask nikonShootingModeD70 []
 ShootingMode D70, tag 0x0089.
const TagDetails nikonAutoBracketRelease []
 AutoBracketRelease, tag 0x008a.
const TagDetails nikonNefCompression []
 NEFCompression, tag 0x0093.
const TagDetails nikonRetouchHistory []
 RetouchHistory, tag 0x009e.
const TagDetails nikonHighISONoiseReduction []
 HighISONoiseReduction, tag 0x00b1.
const TagDetails nikon2Quality []
 Quality, tag 0x0003.
const TagDetails nikon2ColorMode []
 ColorMode, tag 0x0004.
const TagDetails nikon2ImageAdjustment []
 ImageAdjustment, tag 0x0005.
const TagDetails nikon2IsoSpeed []
 ISOSpeed, tag 0x0006.
const TagDetails nikon2WhiteBalance []
 WhiteBalance, tag 0x0007.
const TagDetails nikonYesNo []
 YesNo, used for DaylightSavings, tag index 2.
const TagDetails nikonDateDisplayFormat []
 DateDisplayFormat, tag index 3.
const TagDetails nikonOnOff []
 OnOff.
const TagDetails nikonAdjust []
 Adjust.
const TagDetails nikonFilterEffect []
 FilterEffect.
const TagDetails nikonToningEffect []
 ToningEffect.
const TagDetails nikonIsoExpansion []
 ISOExpansion, tag index 4 and 10.
const TagDetails nikonAfAreaMode []
 AfAreaMode.
const TagDetails nikonAfPoint []
 AfPoint.
const TagDetailsBitmask nikonAfPointsInFocus []
 AfPointsInFocus.
const TagDetails nikonAfFineTuneAdj1 []
 AfFineTuneAdj D300 (a).
const TagDetails nikonAfFineTuneAdj2 []
 AfFineTuneAdj D300 (b).
const TagDetails nikonOffOn2 []
 VibrationReduction.
const TagDetails nikonOffOn3 []
 VibrationReduction2.
const TagDetails olympusOffOn []
 OffOn, multiple tags.
const TagDetails olympusNoYes []
 NoYes, multiple tags.
const TagDetails olympusQuality []
 Quality, tag 0x0201.
const TagDetails olympusMacro []
 Macro, tag 0x0202.
const TagDetails olympusOneTouchWb []
 OneTouchWB, tag 0x0302.
const TagDetails olympusFlashDevice []
 FlashDevice, tag 0x1005.
const TagDetails olympusFocusMode []
 FocusMode, tag 0x100b.
const TagDetails olympusSharpness []
 Sharpness, tag 0x100f.
const TagDetails olympusContrast []
 Contrast, tag 0x1029.
const TagDetails olympusCCDScanMode []
 CCDScanMode, tag 0x1039.
const TagDetails olympusExposureMode []
 ExposureMode, tag 0x0200.
const TagDetails olympusMeteringMode []
 MeteringMode.
const TagDetails olympusMacroMode []
 MacroMode.
const TagDetails olympusCsFocusMode []
 FocusMode.
const TagDetails olympusFocusProcess []
 FocusProcess.
const TagDetails olympusAFSearch []
 AFSearch.
const TagDetailsBitmask olympusFlashMode []
 FlashMode.
const TagDetails olympusWhiteBalance []
 OlympusCs WhiteBalance.
const TagDetails olympusModifiedSaturation []
 ModifiedSaturation.
const TagDetails olympusColorSpace []
 ColorSpace.
const TagDetails olympusSceneMode []
 SceneMode.
const TagDetailsBitmask olympusNoiseReduction []
 NoiseReduction.
const TagDetails olympusPictureMode []
 PictureMode.
const TagDetails olympusPictureModeBWFilter []
 PictureModeBWFilter.
const TagDetails olympusPictureModeTone []
 PictureModeTone.
const TagDetails olympusCsQuality []
 OlympusCs Quality.
const TagDetails olympusEqFlashType []
 OlympusEq FlashType, tag 0x1000.
const TagDetails olympusEqFlashModel []
 OlympusEq FlashModel, tag 0x1001.
const TagDetails olympusRdColorSpace []
 OlympusRd ColorSpace, tag 0x0108.
const TagDetails olympusRdEngine []
 OlympusRd Engine, tag 0x0109.
const TagDetails olympusRdEditStatus []
 OlympusRd EditStatus, tag 0x010b.
const TagDetailsBitmask olympusRdSettings []
 OlympusRd Settings, tag 0x010c.
const TagDetails olympusRd2WhiteBalance []
 OlympusRd2 WhiteBalance, tag 0x0101.
const TagDetails olympusRd2ColorSpace []
 OlympusRd2 ColorSpace, tag 0x0109.
const TagDetails olympusRd2Engine []
 OlympusRd2 Engine, tag 0x010b.
const TagDetails olympusRd2PictureMode []
 OlympusRd2 PictureMode, tag 0x010c.
const TagDetails olympusRd2PM_BWFilter []
 OlympusRd2 PM_BWFilter, tag 0x0110.
const TagDetails olympusRd2PMPictureTone []
 OlympusRd2 PMPictureTone, tag 0x0111.
const TagDetails olympusFiExternalFlashBounce []
 OlympusFi ExternalFlashBounce, tag 0x1204.
const TagDetails olympusRiLightSource []
 OlympusRi LightSource, tag 0x1000.
const TagDetails panasonicQuality []
 Quality, tag 0x0001.
const TagDetails panasonicWhiteBalance []
 WhiteBalance, tag 0x0003.
const TagDetails panasonicFocusMode []
 FocusMode, tag 0x0007.
const TagDetails panasonicImageStabilizer []
 ImageStabilizer, tag 0x001a.
const TagDetails panasonicMacro []
 Macro, tag 0x001c.
const TagDetails panasonicShootingMode []
 ShootingMode, tag 0x001f and SceneMode, tag 0x8001.
const TagDetails panasonicAudio []
 Audio, tag 0x0020.
const TagDetails panasonicColorEffect []
 ColorEffect, tag 0x0028.
const TagDetails panasonicBurstMode []
 BustMode, tag 0x002a.
const TagDetails panasonicContrast []
 Contrast, tag 0x002c.
const TagDetails panasonicNoiseReduction []
 NoiseReduction, tag 0x002d.
const TagDetails panasonicSelfTimer []
 SelfTimer, tag 0x002e.
const TagDetails panasonicRotation []
 Rotation, tag 0x0030.
const TagDetails panasonicColorMode []
 ColorMode, tag 0x0032.
const TagDetails panasonicOpticalZoomMode []
 OpticalZoomMode, tag 0x0034.
const TagDetails panasonicConversionLens []
 ConversionLens, tag 0x0035.
const TagDetails panasonicWorldTimeLocation []
 WorldTimeLocation, tag 0x003a.
const TagDetails panasonicFilmMode []
 FilmMode, tag 0x0042.
const TagDetails pentaxShootingMode []
 ShootingMode, tag 0x0001.
const TagDetails pentaxModel []
 CameraModel, tag 0x0005.
const TagDetails pentaxQuality []
 Quality, tag 0x0008.
const TagDetails pentaxSize []
 Size, tag 0x0009.
const TagDetails pentaxFlash []
 Flash, tag 0x000c.
const TagDetails pentaxFocus []
 Focus, tag 0x000d.
const TagDetails pentaxAFPoint []
 AFPoint, tag 0x000e.
const TagDetails pentaxISO []
 ISO, tag 0x0014.
const TagDetails pentaxOffOn []
 Generic for Off/On switches.
const TagDetails pentaxYesNo []
 Generic for Yes/No switches.
const TagDetails pentaxMeteringMode []
 MeteringMode, tag 0x0017.
const TagDetails pentaxWhiteBallance []
 WhiteBallance, tag 0x0019.
const TagDetails pentaxWhiteBallanceMode []
 WhiteBallance, tag 0x001a.
const TagDetails pentaxSaturation []
 Saturation, tag 0x001f.
const TagDetails pentaxContrast []
 Contrast, tag 0x0020.
const TagDetails pentaxSharpness []
 Sharpness, tag 0x0021.
const TagDetails pentaxLocation []
 Location, tag 0x0022.
const TagDetails pentaxCities []
 City names, tags 0x0023 and 0x0024.
const TagDetails pentaxImageProcessing []
 ImageProcessing, combi-tag 0x0032 (4 bytes).
const TagDetails pentaxPictureMode []
 PictureMode, combi-tag 0x0033 (3 bytes).
const TagDetails pentaxDriveMode []
 DriveMode, combi-tag 0x0034 (4 bytes).
const TagDetails pentaxColorSpace []
 ColorSpace, tag 0x0037.
const TagDetails pentaxLensType []
 LensType, combi-tag 0x003f (2 unsigned long).
const TagDetails pentaxImageTone []
 ImageTone, tag 0x004f.
const TagDetails pentaxDynamicRangeExpansion []
 DynamicRangeExpansion, tag 0x0069.
const TagDetails pentaxHighISONoiseReduction []
 HighISONoiseReduction, tag 0x0071.
const TagDetails exifNewSubfileType []
 NewSubfileType, TIFF tag 0x00fe - this is actually a bitmask.
const TagDetails exifUnit []
 Units for measuring X and Y resolution, tags 0x0128, 0xa210.
const TagDetails exifCompression []
 Compression, tag 0x0103.
const TagDetails exifPhotometricInterpretation []
 PhotometricInterpretation, tag 0x0106.
const TagDetails exifOrientation []
 Orientation, tag 0x0112.
const TagDetails exifYCbCrPositioning []
 YCbCrPositioning, tag 0x0213.
const TagDetails exifFlash []
 Flash, Exif tag 0x9209.
const TagDetails exifCfaLayout []
 CFALayout, tag 0xc617.
const TagDetails exifExposureProgram []
 ExposureProgram, tag 0x8822.
const TagDetails exifMeteringMode []
 MeteringMode, tag 0x9207.
const TagDetails exifLightSource []
 LightSource, tag 0x9208.
const TagDetails exifColorSpace []
 ColorSpace, tag 0xa001.
const TagDetails exifSensingMethod []
 SensingMethod, tag 0xa217.
const TagDetails exifFileSource []
 FileSource, tag 0xa300.
const TagDetails exifSceneType []
 SceneType, tag 0xa301.
const TagDetails exifCustomRendered []
 CustomRendered, tag 0xa401.
const TagDetails exifExposureMode []
 ExposureMode, tag 0xa402.
const TagDetails exifWhiteBalance []
 WhiteBalance, tag 0xa403.
const TagDetails exifSceneCaptureType []
 SceneCaptureType, tag 0xa406.
const TagDetails exifGainControl []
 GainControl, tag 0xa407.
const TagDetails exifNormalSoftHard []
 Contrast, tag 0xa408 and Sharpness, tag 0xa40a.
const TagDetails exifSaturation []
 Saturation, tag 0xa409.
const TagDetails exifSubjectDistanceRange []
 SubjectDistanceRange, tag 0xa40c.
const TagDetails exifGPSLatitudeRef []
 GPS latitude reference, tag 0x0001; also GPSDestLatitudeRef, tag 0x0013.
const TagDetails exifGPSLongitudeRef []
 GPS longitude reference, tag 0x0003; also GPSDestLongitudeRef, tag 0x0015.
const TagDetails exifGPSAltitudeRef []
 GPS altitude reference, tag 0x0005.
const TagDetails exifGPSStatus []
 GPS status, tag 0x0009.
const TagDetails exifGPSMeasureMode []
 GPS measurement mode, tag 0x000a.
const TagDetails exifGPSSpeedRef []
 GPS speed reference, tag 0x000c.
const TagDetails exifGPSDirRef []
 GPS direction ref, tags 0x000e, 0x0010, 0x0017.
const TagDetails exifGPSDestDistanceRef []
 GPS Destination distance ref, tag 0x0019.
const TagDetails exifGPSDifferential []
 GPS Differential, tag 0x001e.

Detailed Description

Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of the objects of this namespace.


Enumeration Type Documentation

Exiv2 value type identifiers.

Used primarily as identifiers when creating Exiv2 Value instances. See Value::create. 0x0000 to 0xffff are reserved for TIFF (Exif) types.

Enumerator:
unsignedByte 

Exif BYTE type, 8-bit unsigned integer.

asciiString 

Exif ASCII type, 8-bit byte.

unsignedShort 

Exif SHORT type, 16-bit (2-byte) unsigned integer.

unsignedLong 

Exif LONG type, 32-bit (4-byte) unsigned integer.

unsignedRational 

Exif RATIONAL type, two LONGs: numerator and denumerator of a fraction.

signedByte 

Exif SBYTE type, an 8-bit signed (twos-complement) integer.

undefined 

Exif UNDEFINED type, an 8-bit byte that may contain anything.

signedShort 

Exif SSHORT type, a 16-bit (2-byte) signed (twos-complement) integer.

signedLong 

Exif SLONG type, a 32-bit (4-byte) signed (twos-complement) integer.

signedRational 

Exif SRATIONAL type, two SLONGs: numerator and denumerator of a fraction.

tiffFloat 

TIFF FLOAT type, single precision (4-byte) IEEE format.

tiffDouble 

TIFF DOUBLE type, double precision (8-byte) IEEE format.

tiffIfd 

TIFF IFD type, 32-bit (4-byte) unsigned integer.

string 

IPTC string type.

date 

IPTC date type.

time 

IPTC time type.

comment 

Exiv2 type for the Exif user comment.

directory 

Exiv2 type for a CIFF directory.

xmpText 

XMP text type.

xmpAlt 

XMP alternative type.

xmpBag 

XMP bag type.

xmpSeq 

XMP sequence type.

langAlt 

XMP language alternative type.

invalidTypeId 

Invalid type id.

lastTypeId 

Last type id.


Function Documentation

EXIV2API float Exiv2::canonEv ( long  val  ) 

Convert Canon hex-based EV (modulo 0x20) to real number Ported from Phil Harvey's Image::ExifTool::Canon::CanonEv by Will Stokes.

0x00 -> 0 0x0c -> 0.33333 0x10 -> 0.5 0x14 -> 0.66666 0x20 -> 1 .. 160 -> 5 128 -> 4 143 -> 4.46875

Referenced by Exiv2::CanonMakerNote::printSi0x0002(), Exiv2::CanonMakerNote::printSi0x0015(), and Exiv2::CanonMakerNote::printSi0x0016().

EXIV2API bool Exiv2::fileExists ( const std::string &  path,
bool  ct = false 
)

Test if a file exists.

Parameters:
path Name of file to verify.
ct Flag to check if path is a regular file.
Returns:
true if path exists and, if ct is set, is a regular file, else false.
Note:
The function calls stat() test for path and its type, see stat(2). errno is left unchanged in case of an error.

Referenced by Action::Insert::insertThumbnail(), Action::Insert::insertXmpPacket(), Action::Print::printComment(), Action::Print::printList(), Action::Print::printPreviewList(), Action::Print::printSummary(), Action::FixIso::run(), Action::Adjust::run(), Action::Modify::run(), Action::Insert::run(), Action::Erase::run(), Action::Rename::run(), Exiv2::FileIo::transfer(), Action::Extract::writePreviews(), and Action::Extract::writeThumbnail().

template<typename T , typename K , int N>
const T* Exiv2::find ( T(&)  src[N],
const K &  key 
) [inline]

Find an element that matches key in the array src.

Designed to be used with lookup tables as shown in the example below. Requires a Key structure (ideally in the array) and a comparison operator to compare a key with an array element. The size of the array is determined automagically. Thanks to Stephan Broennimann for this nifty implementation.

      struct Bar {
          int i;
          int k;
          const char* data;

          struct Key;
          bool operator==(const Bar::Key& rhs) const;
      };

      struct Bar::Key {
          Key(int a, int b) : i(a), k(b) {}
          int i;
          int k;
      };

      bool Bar::operator==(const Bar::Key& key) const // definition
      {
          return i == key.i && k == key.k;
      }

      const Bar bars[] = {
          { 1, 1, "bar data 1" },
          { 1, 2, "bar data 2" },
          { 1, 3, "bar data 3" }
      };

      int main ( void ) {
          const Bar* bar = find(bars, Bar::Key(1, 3));
          if (bar) std::cout << bar->data << "\n";
          else std::cout << "Key not found.\n";
          return 0;
      }

Referenced by Exiv2::ImageFactory::checkMode(), Exiv2::ImageFactory::checkType(), Exiv2::Internal::TiffCreator::create(), Exiv2::Internal::TiffMnCreator::create(), Exiv2::ImageFactory::create(), Exiv2::Internal::TiffMapping::findDecoder(), Exiv2::Internal::TiffMapping::findEncoder(), Exiv2::Internal::TiffCreator::getPath(), Exiv2::ExifTags::ifdIdByIfdItem(), Exiv2::ExifTags::ifdItem(), Exiv2::ExifTags::ifdName(), Exiv2::ExifTags::isMakerIfd(), Exiv2::Nikon3MakerNote::print0x009e(), printCombiTag(), printCsLensByFocalLength(), Exiv2::CanonMakerNote::printCsLensType(), printTag(), printTagVocabulary(), Exiv2::TypeInfo::typeId(), Exiv2::TypeInfo::typeName(), Exiv2::TypeInfo::typeSize(), and Exiv2::Internal::TiffReader::visitBinaryArray().

EXIV2API Rational Exiv2::floatToRationalCast ( float  f  ) 

Very simple conversion of a float to a Rational.

Test it with the values that you expect and check the implementation to see if this is really what you want!

Referenced by Exiv2::Converter::cnvXmpGPSCoord().

template<typename IntType >
IntType Exiv2::gcd ( IntType  n,
IntType  m 
) [inline]

Return the greatest common denominator of n and m. (Implementation from Boost rational.hpp).

Note:
We use n and m as temporaries in this function, so there is no value in using const IntType& as we would only need to make a copy anyway...
template<>
Rational Exiv2::getValue ( const byte *  buf,
ByteOrder  byteOrder 
) [inline]

Read a value of type T from the data buffer.

We need this template function for the ValueType template classes. There are only specializations of this function available; no default implementation is provided.

Parameters:
buf Pointer to the data buffer to read from.
byteOrder Applicable byte order (little or big endian).
Returns:
A value of type T.

References getRational().

template<typename T >
T Exiv2::getValue ( const byte *  buf,
ByteOrder  byteOrder 
) [inline]

Read a value of type T from the data buffer.

We need this template function for the ValueType template classes. There are only specializations of this function available; no default implementation is provided.

Parameters:
buf Pointer to the data buffer to read from.
byteOrder Applicable byte order (little or big endian).
Returns:
A value of type T.

References getRational().

EXIV2API float Exiv2::parseFloat ( const std::string &  s,
bool &  ok 
)

Return a float set to the value represented by s.

Besides strings that represent float values, the function also handles long, Rational and boolean (see also: stringTo(const std::string& s, bool& ok)).

Parameters:
s String to parse
ok Output variable indicating the success of the operation.
Returns:
Returns the float value represented by s and sets ok to true if the conversion was successful or false if not.

Referenced by Exiv2::XmpArrayValue::toFloat(), and Exiv2::XmpTextValue::toFloat().

EXIV2API long Exiv2::parseLong ( const std::string &  s,
bool &  ok 
)

Return a long set to the value represented by s.

Besides strings that represent long values, the function also handles float, Rational and boolean (see also: stringTo(const std::string& s, bool& ok)).

Parameters:
s String to parse
ok Output variable indicating the success of the operation.
Returns:
Returns the long value represented by s and sets ok to true if the conversion was successful or false if not.

Referenced by Exiv2::XmpArrayValue::toLong(), and Exiv2::XmpTextValue::toLong().

EXIV2API Rational Exiv2::parseRational ( const std::string &  s,
bool &  ok 
)

Return a Rational set to the value represented by s.

Besides strings that represent Rational values, the function also handles long, float and boolean (see also: stringTo(const std::string& s, bool& ok)). Uses floatToRationalCast(float f) if the string can be parsed into a float.

Parameters:
s String to parse
ok Output variable indicating the success of the operation.
Returns:
Returns the Rational value represented by s and sets ok to true if the conversion was successful or false if not.

Referenced by Exiv2::XmpArrayValue::toRational(), and Exiv2::XmpTextValue::toRational().

EXIV2API DataBuf Exiv2::readFile ( const std::string &  path  ) 

Read file path into a DataBuf, which is returned.

Returns:
Buffer containing the file.
Exceptions:
Error In case of failure.

Referenced by Action::Insert::insertXmpPacket(), and Exiv2::ExifThumb::setJpegThumbnail().

template<typename T >
Exiv2::Exifdatum& Exiv2::setValue ( Exiv2::Exifdatum exifDatum,
const T &  value 
) [inline]

Set the value of exifDatum to value. If the object already has a value, it is replaced. Otherwise a new ValueType<T> value is created and set to value.

This is a helper function, called from Exifdatum members. It is meant to be used with T = (u)int16_t, (u)int32_t or (U)Rational. Do not use directly.

template<typename T >
T Exiv2::stringTo ( const std::string &  s,
bool &  ok 
) [inline]

Utility function to convert a string to a value of type T.

The string representation of the value must match that recognized by the input operator for T for this function to succeed.

Parameters:
s String to convert
ok Output variable indicating the success of the operation.
Returns:
Returns the converted value and sets ok to true if the conversion was successful or false if not.

References string.

template<>
bool Exiv2::stringTo< bool > ( const std::string &  s,
bool &  ok 
) [inline]

Specialization of stringTo(const std::string& s, bool& ok) for bool.

Handles the same string values as the XMP SDK. Converts the string to lowercase and returns true if it is "true", "t" or "1", and false if it is "false", "f" or "0".

EXIV2API bool Exiv2::testVersion ( int  major,
int  minor,
int  patch 
)

Test the version of the available Exiv2 library at runtime. Return true if it is the same as or newer than the passed-in version.

Versions are denoted using a triplet of integers: major.minor.patch .

 Don't include the <exiv2/version.hpp> file directly, it is included by
 <exiv2/types.hpp>. Early Exiv2 versions didn't have version.hpp and the macros.

      #include <exiv2/types.hpp>

 Make sure an EXIV2_TEST_VERSION macro exists:

      #ifdef EXIV2_VERSION
      # ifndef EXIV2_TEST_VERSION
      # define EXIV2_TEST_VERSION(major,minor,patch) \
          ( EXIV2_VERSION >= EXIV2_MAKE_VERSION(major,minor,patch) )
      # endif
      #else
      # define EXIV2_TEST_VERSION(major,minor,patch) (false)
      #endif

      std::cout << "Compiled with Exiv2 version " << EXV_PACKAGE_VERSION << "\n"
                << "Runtime Exiv2 version is    " << Exiv2::version()    << "\n";

 Test the Exiv2 version available at runtime but compile the if-clause only if
 the compile-time version is at least 0.15. Earlier versions didn't have a
 testVersion() function:

      #if EXIV2_TEST_VERSION(0,15,0)
      if (Exiv2::testVersion(0,13,0)) {
          std::cout << "Available Exiv2 version is equal to or greater than 0.13\n";
      }
      else {
          std::cout << "Installed Exiv2 version is less than 0.13\n";
      }
      #else
      std::cout << "Compile-time Exiv2 version doesn't have Exiv2::testVersion()\n";
      #endif
template<typename T >
long Exiv2::toData ( byte *  buf,
t,
ByteOrder  byteOrder 
) [inline]

Convert a value of type T to data, write the data to the data buffer.

We need this template function for the ValueType template classes. There are only specializations of this function available; no default implementation is provided.

Parameters:
buf Pointer to the data buffer to write to.
t Value to be converted.
byteOrder Applicable byte order (little or big endian).
Returns:
The number of bytes written to the buffer.

Referenced by Exiv2::ValueType< T >::copy().

EXIV2API long Exiv2::writeFile ( const DataBuf &  buf,
const std::string &  path 
)

Write DataBuf buf to file path.

Returns:
Return the number of bytes written.
Exceptions:
Error In case of failure.

Variable Documentation

Initial value:
 {
        { 0, N_("Off") },
        { 1, N_("AEB") },
        { 2, N_("FEB") },
        { 3, N_("ISO") },
        { 4, N_("WB")  }
    }

BracketMode, tag 0x0003.

Initial value:
 {
        { 0, N_("Normal AE")                       },
        { 1, N_("Exposure compensation")           },
        { 2, N_("AE lock")                         },
        { 3, N_("AE lock + exposure compensation") },
        { 4, N_("No AE")                           }
    }

AESetting, tag 0x0021.

Initial value:
 {
        { 0x2005, N_("Manual AF point selection") },
        { 0x3000, N_("None (MF)")                 },
        { 0x3001, N_("Auto-selected")             },
        { 0x3002, N_("Right")                     },
        { 0x3003, N_("Center")                    },
        { 0x3004, N_("Left")                      },
        { 0x4001, N_("Auto AF point selection")   }
    }

AFPoint, tag 0x0013.

Initial value:
 {
        { 0, N_("None")  },
        { 1, "2x"        },
        { 2, "4x"        },
        { 3, N_("Other") }
    }

DigitalZoom, tag 0x000c.

Initial value:
 {
        { 0, N_("Single / timer")             },
        { 1, N_("Continuous")                 },
        { 2, N_("Movie")                      },
        { 3, N_("Continuous, speed priority") },
        { 4, N_("Continuous, low")            },
        { 5, N_("Continuous, high")           }
    }

DriveMode, tag 0x0005.

Initial value:
 {
        { 0, N_("Easy shooting (Auto)")   },
        { 1, N_("Program (P)")            },
        { 2, N_("Shutter priority (Tv)")  },
        { 3, N_("Aperture priority (Av)") },
        { 4, N_("Manual (M)")             },
        { 5, N_("A-DEP")                  },
        { 6, N_("M-DEP")                  }
    }

ExposureProgram, tag 0x0014.

Initial value:
 {
        { 0, N_("Did not fire") },
        { 1, N_("Fired")        }
    }

FlashActivity, tag 0x001c.

Initial value:
 {
        { 0x4000, N_("External flash")        },
        { 0x2000, N_("Internal flash")        },
        { 0x0001, N_("Manual")                },
        { 0x0002, N_("TTL")                   },
        { 0x0004, N_("A-TTL")                 },
        { 0x0008, N_("E-TTL")                 },
        { 0x0010, N_("FP sync enabled")       },
        { 0x0080, N_("2nd-curtain sync used") },
        { 0x0800, N_("FP sync used")          }
    }

FlashDetails, tag 0x001d.

Initial value:
 {
        {  0, N_("Off")            },
        {  1, N_("Auto")           },
        {  2, N_("On")             },
        {  3, N_("Red-eye")        },
        {  4, N_("Slow sync")      },
        {  5, N_("Auto + red-eye") },
        {  6, N_("On + red-eye")   },
        { 16, N_("External")       }
    }

FlashMode, tag 0x0004.

Initial value:
 {
        { 0, N_("Single")     },
        { 1, N_("Continuous") }
    }

FocusContinuous, tag 0x0020.

Initial value:
 {
        {  0, N_("One shot AF")  },
        {  1, N_("AI servo AF")  },
        {  2, N_("AI focus AF")  },
        {  3, N_("Manual focus") },
        {  4, N_("Single")       },
        {  5, N_("Continuous")   },
        {  6, N_("Manual focus") },
        { 16, N_("Pan focus")    }
    }

FocusMode, tag 0x0007.

Initial value:
 {
        {  0, N_("Manual")       },
        {  1, N_("Auto")         },
        {  2, N_("Not known")    },
        {  3, N_("Macro")        },
        {  4, N_("Very close")   },
        {  5, N_("Close")        },
        {  6, N_("Middle range") },
        {  7, N_("Far range")    },
        {  8, N_("Pan focus")    },
        {  9, N_("Super macro")  },
        { 10, N_("Infinity")     }
    }

FocusType, tag 0x0012.

Initial value:
 {
        { 0, N_("Large")    },
        { 1, N_("Medium")   },
        { 2, N_("Small")    },
        { 5, N_("Medium 1") },
        { 6, N_("Medium 2") },
        { 7, N_("Medium 3") }
    }

ImageSize, tag 0x000a.

Initial value:
 {
        { 0, N_("Off")           },
        { 1, N_("On")            },
        { 2, N_("On, shot only") }
    }

ImageStabilization, tag 0x0022.

Initial value:
 {
        {     0, N_("n/a")       },
        {    14, N_("Auto High") },
        {    15, N_("Auto")      },
        {    16,   "50"      },
        {    17,  "100"      },
        {    18,  "200"      },
        {    19,  "400"      },
        {    20,  "800"      },
        { 16464,   "80"      },
        { 16484,  "100"      },
        { 16584,  "200"      },
        { 16784,  "400"      },
        { 17184,  "800"      },
        { 17984, "1600"      },
        { 19584, "3200"      }
    }

ISOSpeeds, tag 0x0010.

Initial value:
 {
        { 0xffff, N_("Low")    },
        { 0x0000, N_("Normal") },
        { 0x0001, N_("High")   }
    }

Contrast, Saturation Sharpness, tags 0x000d, 0x000e, 0x000f.

Initial value:
 {
        { 1, N_("On")  },
        { 2, N_("Off") }
    }

Macro, tag 0x0001.

Initial value:
 {
        { 0, N_("Default")         },
        { 1, N_("Spot")            },
        { 2, N_("Average")         },
        { 3, N_("Evaluative")      },
        { 4, N_("Partial")         },
        { 5, N_("Center weighted") }
    }

MeteringMode, tag 0x0011.

Initial value:
 {
        { 0,   N_("Off")           },
        { 1,   N_("Vivid")         },
        { 2,   N_("Neutral")       },
        { 3,   N_("Smooth")        },
        { 4,   N_("Sepia")         },
        { 5,   N_("B&W")           },
        { 6,   N_("Custom")        },
        { 100, N_("My color data") }
    }

PhotoEffect, tag 0x0028.

Initial value:
 {
        { 1,   N_("Economy")      },
        { 2,   N_("Normal")       },
        { 3,   N_("Fine")         },
        { 4,   N_("RAW")          },
        { 5,   N_("Superfine")    },
        { 130, N_("Normal Movie") }
    }

Quality, tag 0x0003.

Initial value:
 {
        { 0, N_("None")   },
        { 1, N_("Yellow") },
        { 2, N_("Orange") },
        { 3, N_("Red")    },
        { 4, N_("Green")  }
    }

FilterEffect, tag 0x000e.

Initial value:
 {
        { 0, N_("Off")  },
        { 1, N_("On 1") },
        { 2, N_("On 2") },
        { 3, N_("On")   },
        { 4, N_("Auto") }
    }

NoiseReduction, tag 0x0008.

Initial value:
 {
        { 0, N_("Left to right")          },
        { 1, N_("Right to left")          },
        { 2, N_("Bottom to top")          },
        { 3, N_("Top to bottom")          },
        { 4, N_("2x2 matrix (Clockwise)") }
    }

PanoramaDirection, tag 0x0005.

Initial value:
 {
        { 0x01, N_("right")     },
        { 0x02, N_("mid-right") },
        { 0x04, N_("bottom")    },
        { 0x08, N_("center")    },
        { 0x10, N_("top")       },
        { 0x20, N_("mid-left")  },
        { 0x40, N_("left")      }
    }

AFPointsUsed, tag 0x0016.

Initial value:
 {
        { 0x001, N_("top")         },
        { 0x002, N_("upper-left")  },
        { 0x004, N_("upper-right") },
        { 0x008, N_("left")        },
        { 0x010, N_("center")      },
        { 0x020, N_("right")       },
        { 0x040, N_("lower-left")  },
        { 0x080, N_("lower-right") },
        { 0x100, N_("bottom")      }
    }

AFPointsUsed20D, tag 0x001a.

Initial value:
 {
        { 0,   N_("Large")        },
        { 1,   N_("Medium")       },
        { 2,   N_("Small")        },
        { 5,   N_("Medium 1")     },
        { 6,   N_("Medium 2")     },
        { 7,   N_("Medium 3")     },
        { 8,   N_("Postcard")     },
        { 9,   N_("Widescreen")   },
        { 129, N_("Medium Movie") },
        { 130, N_("Small Movie")  }
    }

RawJpgSize, tag 0x0007.

Initial value:
 {
        { 0x0004, N_("left")   },
        { 0x0002, N_("center") },
        { 0x0001, N_("right")  }
    }

AFPointUsed, tag 0x000e.

Referenced by Exiv2::CanonMakerNote::printSi0x000e().

Initial value:
 {
        { 0xffc0, "-2 EV"    },
        { 0xffcc, "-1.67 EV" },
        { 0xffd0, "-1.50 EV" },
        { 0xffd4, "-1.33 EV" },
        { 0xffe0, "-1 EV"    },
        { 0xffec, "-0.67 EV" },
        { 0xfff0, "-0.50 EV" },
        { 0xfff4, "-0.33 EV" },
        { 0x0000, "0 EV"     },
        { 0x000c, "0.33 EV"  },
        { 0x0010, "0.50 EV"  },
        { 0x0014, "0.67 EV"  },
        { 0x0020, "1 EV"     },
        { 0x002c, "1.33 EV"  },
        { 0x0030, "1.50 EV"  },
        { 0x0034, "1.67 EV"  },
        { 0x0040, "2 EV"     }
    }

FlashBias, tag 0x000f.

Initial value:
 {
        {  0, N_("Auto")                        },
        {  1, N_("Sunny")                       },
        {  2, N_("Cloudy")                      },
        {  3, N_("Tungsten")                    },
        {  4, N_("Fluorescent")                 },
        {  5, N_("Flash")                       },
        {  6, N_("Custom")                      },
        {  7, N_("Black & White")               },
        {  8, N_("Shade")                       },
        {  9, N_("Manual Temperature (Kelvin)") },
        { 10, N_("PC Set 1")                    },
        { 11, N_("PC Set 2")                    },
        { 12, N_("PC Set 3")                    },
        { 14, N_("Daylight Fluorescent")        },
        { 15, N_("Custom 1")                    },
        { 16, N_("Custom 2")                    },
        { 17, N_("Underwater")                  }
    }

WhiteBalance, tag 0x0007.

Initial value:
 {
        { 0, N_("None")   },
        { 1, N_("Sepia")  },
        { 2, N_("Blue")   },
        { 3, N_("Purple") },
        { 4, N_("Green")  }
    }

ToningEffect, tag 0x000e.

Initial value:
 {
        { 0, N_("Off")           },
        { 1, N_("On (shift AB)") },
        { 2, N_("On (shift GM)") }
    }

WBBracketMode, tag 0x0009.

Initial value:
 {
        { 1, N_("Rectangular (or square) layout") },
        { 2, N_("Staggered layout A: even columns are offset down by 1/2 row")  },
        { 3, N_("Staggered layout B: even columns are offset up by 1/2 row")    },
        { 4, N_("Staggered layout C: even rows are offset right by 1/2 column") },
        { 5, N_("Staggered layout D: even rows are offset left by 1/2 column")  }
    }

CFALayout, tag 0xc617.

Initial value:
 {
        {      1, N_("sRGB")         },
        {      2, N_("Adobe RGB")    },    
        { 0xffff, N_("Uncalibrated") }
    }

ColorSpace, tag 0xa001.

Initial value:
 {
        { 0, N_("Normal process") },
        { 1, N_("Custom process") }
    }

CustomRendered, tag 0xa401.

Initial value:
 {
        { 0, N_("Auto")         },
        { 1, N_("Manual")       },
        { 2, N_("Auto bracket") }
    }

ExposureMode, tag 0xa402.

Initial value:
 {
        { 0, N_("Not defined")       },
        { 1, N_("Manual")            },
        { 2, N_("Auto")              },
        { 3, N_("Aperture priority") },
        { 4, N_("Shutter priority")  },
        { 5, N_("Creative program")  },
        { 6, N_("Action program")    },
        { 7, N_("Portrait mode")     },
        { 8, N_("Landscape mode")    }
    }

ExposureProgram, tag 0x8822.

Initial value:
 {
        { 1, N_("Film scanner")            },   
        { 2, N_("Reflexion print scanner") },   
        { 3, N_("Digital still camera")    }
    }

FileSource, tag 0xa300.

Initial value:
 {
        { 0x00, N_("No flash")                                                      },
        { 0x01, N_("Fired")                                                         },
        { 0x05, N_("Fired, strobe return light not detected")                       },
        { 0x07, N_("Fired, strobe return light detected")                           },
        { 0x08, N_("Yes, did not fire")                                             },
        { 0x09, N_("Yes, compulsory")                                               },
        { 0x0d, N_("Yes, compulsory, return light not detected")                    },
        { 0x0f, N_("Yes, compulsory, return light detected")                        },
        { 0x10, N_("No, compulsory")                                                },
        { 0x14, N_("No, did not fire, return not detected")                         },
        { 0x18, N_("No, auto")                                                      },
        { 0x19, N_("Yes, auto")                                                     },
        { 0x1d, N_("Yes, auto, return light not detected")                          },
        { 0x1f, N_("Yes, auto, return light detected")                              },
        { 0x20, N_("No flash function")                                             },
        { 0x20, N_("No, no flash function")                                         },
        { 0x41, N_("Yes, red-eye reduction")                                        },
        { 0x45, N_("Yes, red-eye reduction, return light not detected")             },
        { 0x47, N_("Yes, red-eye reduction, return light detected")                 },
        { 0x49, N_("Yes, compulsory, red-eye reduction")                            },
        { 0x4d, N_("Yes, compulsory, red-eye reduction, return light not detected") },
        { 0x4f, N_("Yes, compulsory, red-eye reduction, return light detected")     },
        { 0x50, N_("No, red-eye reduction")                                         },
        { 0x58, N_("No, auto, red-eye reduction")                                   },
        { 0x59, N_("Yes, auto, red-eye reduction")                                  },
        { 0x5d, N_("Yes, auto, red-eye reduction, return light not detected")       },
        { 0x5f, N_("Yes, auto, red-eye reduction, return light detected")           }
    }

Flash, Exif tag 0x9209.

Initial value:
 {
        { 0, N_("None")           },
        { 1, N_("Low gain up")    },
        { 2, N_("High gain up")   },
        { 3, N_("Low gain down")  },
        { 4, N_("High gain down") }
    }

GainControl, tag 0xa407.

Initial value:
 {
        { 0, N_("Above sea level") },
        { 1, N_("Below sea level") }
    }

GPS altitude reference, tag 0x0005.

Initial value:
 {
        { 'K', N_("Kilometers") },
        { 'M', N_("Miles")      },
        { 'N', N_("Knots")      }
    }

GPS Destination distance ref, tag 0x0019.

Initial value:
 {
        { 0, N_("Without correction") },
        { 1, N_("Correction applied") }
    }

GPS Differential, tag 0x001e.

Initial value:
 {
        { 'T', N_("True direction")     },
        { 'M', N_("Magnetic direction") }
    }

GPS direction ref, tags 0x000e, 0x0010, 0x0017.

Initial value:
 {
        { 78, N_("North") },
        { 83, N_("South") }
    }

GPS latitude reference, tag 0x0001; also GPSDestLatitudeRef, tag 0x0013.

Initial value:
 {
        { 69, N_("East") },
        { 87, N_("West") }
    }

GPS longitude reference, tag 0x0003; also GPSDestLongitudeRef, tag 0x0015.

Initial value:
 {
        { '2', N_("Two-dimensional measurement")   },
        { '3', N_("Three-dimensional measurement") }
    }

GPS measurement mode, tag 0x000a.

Initial value:
 {
        { 'K', N_("km/h")  },
        { 'M', N_("mph")   },
        { 'N', N_("knots") }
    }

GPS speed reference, tag 0x000c.

Initial value:
 {
        { 'A', N_("Measurement in progress")      },
        { 'V', N_("Measurement Interoperability") }
    }

GPS status, tag 0x0009.

Initial value:
 {
        {   0, N_("Unknown")                                 },
        {   1, N_("Daylight")                                },
        {   2, N_("Fluorescent")                             },
        {   3, N_("Tungsten (incandescent light)")           },
        {   4, N_("Flash")                                   },
        {   9, N_("Fine weather")                            },
        {  10, N_("Cloudy weather")                          },
        {  11, N_("Shade")                                   },
        {  12, N_("Daylight fluorescent (D 5700 - 7100K)")   },
        {  13, N_("Day white fluorescent (N 4600 - 5400K)")  },
        {  14, N_("Cool white fluorescent (W 3900 - 4500K)") },
        {  15, N_("White fluorescent (WW 3200 - 3700K)")     },
        {  17, N_("Standard light A")                        },
        {  18, N_("Standard light B")                        },
        {  19, N_("Standard light C")                        },
        {  20, N_("D55")                                     },
        {  21, N_("D65")                                     },
        {  22, N_("D75")                                     },
        {  23, N_("D50")                                     },
        {  24, N_("ISO studio tungsten")                     },
        { 255, N_("Other light source")                      }
    }

LightSource, tag 0x9208.

Initial value:
 {
        { 0,   N_("Unknown")                 },
        { 1,   N_("Average")                 },
        { 2,   N_("Center weighted average") },
        { 3,   N_("Spot")                    },
        { 4,   N_("Multi-spot")              },
        { 5,   N_("Multi-segment")           },
        { 6,   N_("Partial")                 },
        { 255, N_("Other")                   }
    }

MeteringMode, tag 0x9207.

Initial value:
 {
        {  0, N_("Primary image")                                               },
        {  1, N_("Thumbnail/Preview image")                                     },
        {  2, N_("Primary image, Multi page file")                              },
        {  3, N_("Thumbnail/Preview image, Multi page file")                    },
        {  4, N_("Primary image, Transparency mask")                            },
        {  5, N_("Thumbnail/Preview image, Transparency mask")                  },
        {  6, N_("Primary image, Multi page file, Transparency mask")           },
        {  7, N_("Thumbnail/Preview image, Multi page file, Transparency mask") }
    }

NewSubfileType, TIFF tag 0x00fe - this is actually a bitmask.

Initial value:
 {
        { 0, N_("Normal") },
        { 1, N_("Soft")   },
        { 2, N_("Hard")   }
    }

Contrast, tag 0xa408 and Sharpness, tag 0xa40a.

Initial value:
 {
        { 1, N_("top, left")     },
        { 2, N_("top, right")    },
        { 3, N_("bottom, right") },
        { 4, N_("bottom, left")  },
        { 5, N_("left, top")     },
        { 6, N_("right, top")    },
        { 7, N_("right, bottom") },
        { 8, N_("left, bottom")  }
    }

Orientation, tag 0x0112.

Initial value:
 {
        {     0, N_("White Is Zero")      },
        {     1, N_("Black Is Zero")      },
        {     2, N_("RGB")                },
        {     3, N_("RGB Palette")        },
        {     4, N_("Transparency Mask")  },
        {     5, N_("CMYK")               },
        {     6, N_("YCbCr")              },
        {     8, N_("CIELab")             },
        {     9, N_("ICCLab")             },
        {    10, N_("ITULab")             },
        { 32803, N_("Color Filter Array") },
        { 32844, N_("Pixar LogL")         },
        { 32845, N_("Pixar LogLuv")       },
        { 34892, N_("Linear Raw")         }
    }

PhotometricInterpretation, tag 0x0106.

Initial value:
 {
        { 0, N_("Normal") },
        { 1, N_("Low")    },
        { 2, N_("High")   }
    }

Saturation, tag 0xa409.

Initial value:
 {
        { 0, N_("Standard")    },
        { 1, N_("Landscape")   },
        { 2, N_("Portrait")    },
        { 3, N_("Night scene") }
    }

SceneCaptureType, tag 0xa406.

Initial value:
 {
        { 1, N_("Directly photographed") }
    }

SceneType, tag 0xa301.

Initial value:
 {
        { 1, N_("Not defined")             },
        { 2, N_("One-chip color area")     },
        { 3, N_("Two-chip color area")     },
        { 4, N_("Three-chip color area")   },
        { 5, N_("Color sequential area")   },
        { 7, N_("Trilinear sensor")        },
        { 8, N_("Color sequential linear") }
    }

SensingMethod, tag 0xa217.

Initial value:
 {
        { 0, N_("Unknown")      },
        { 1, N_("Macro")        },
        { 2, N_("Close view")   },
        { 3, N_("Distant view") }
    }

SubjectDistanceRange, tag 0xa40c.

Initial value:
 {
        { 1, N_("none") },
        { 2, N_("inch") },
        { 3, N_("cm")   }
    }

Units for measuring X and Y resolution, tags 0x0128, 0xa210.

Initial value:
 {
        { 0, N_("Auto")   },
        { 1, N_("Manual") }
    }

WhiteBalance, tag 0xa403.

Initial value:
 {
        { 1, N_("Centered") },
        { 2, N_("Co-sited") }
    }

YCbCrPositioning, tag 0x0213.

Initial value:
 {
        {   0, N_("Normal")               },
        { 256, N_("High")                 },
        { 512, N_("Low")                  },
        { 768, N_("None (black & white)") }
    }

Color, tag 0x1003.

Initial value:
 {
        { 0, N_("Off")              },
        { 1, N_("On")               },
        { 2, N_("No flash & flash") }
    }

Continuous, tag 0x1100.

Initial value:
 {
        { 1, N_("Standard") },
        { 3, N_("Wide")     }
    }

DynamicRange, tag 0x1400.

Initial value:
 {
        {     0, N_("Auto (100-400%)")      },
        {     1, N_("Raw")                  },
        {   256, N_("Standard (100%)")      },
        {   512, N_("Wide mode 1 (230%)")   },
        {   513, N_("Wide mode 2 (400%)")   },
        { 32768, N_("Film simulation mode") }
    }

DynamicRange, tag 0x1402.

Initial value:
 {
        {    0, N_("F0/Standard")           },
        {  256, N_("F1/Studio portrait")    },
        {  512, N_("F2/Fujichrome")         },
        {  768, N_("F3/Studio portrait Ex") },
        { 1024, N_("F4/Velvia")             }
    }

FilmMode, tag 0x1401.

Initial value:
 {
        { 0,  N_("Standard")      },
        { 16, N_("Chrome")        },
        { 48, N_("Black & white") }
    }

FinePixColor, tag 0x1210.

Initial value:
 {
        { 0, N_("Auto")              },
        { 1, N_("On")                },
        { 2, N_("Off")               },
        { 3, N_("Red-eye reduction") }
    }

FlashMode, tag 0x1010.

Initial value:
 {
        { 0, N_("Auto")   },
        { 1, N_("Manual") }
    }

FocusMode, tag 0x1021.

Initial value:
 {
        { 0, N_("Off") },
        { 1, N_("On")  }
    }

OffOn, multiple tags.

Initial value:
 {
        {   0, N_("Auto")                      },
        {   1, N_("Portrait")                  },
        {   2, N_("Landscape")                 },
        {   4, N_("Sports")                    },
        {   5, N_("Night scene")               },
        {   6, N_("Program AE")                },
        {   7, N_("Natural light")             },
        {   8, N_("Anti-blur")                 },
        {  10, N_("Sunset")                    },
        {  11, N_("Museum")                    },
        {  12, N_("Party")                     },
        {  13, N_("Flower")                    },
        {  14, N_("Text")                      },
        {  15, N_("Natural light & flash")     },
        {  16, N_("Beach")                     },
        {  17, N_("Snow")                      },
        {  18, N_("Fireworks")                 },
        {  19, N_("Underwater")                },
        { 256, N_("Aperture-priority AE")      },
        { 512, N_("Shutter speed priority AE") },
        { 768, N_("Manual")                    }
    }

PictureMode, tag 0x1031.

Initial value:
 {
        { 1, N_("Soft mode 1") },
        { 2, N_("Soft mode 2") },
        { 3, N_("Normal")      },
        { 4, N_("Hard mode 1") },
        { 5, N_("Hard mode 2") }
    }

Sharpness, tag 0x1001.

Initial value:
 {
        {   0, N_("Normal") },
        { 256, N_("High")   },
        { 512, N_("Low")    }
    }

Tone, tag 0x1004.

Initial value:
 {
        {    0, N_("Auto")                     },
        {  256, N_("Daylight")                 },
        {  512, N_("Cloudy")                   },
        {  768, N_("Fluorescent (daylight)")   },
        {  769, N_("Fluorescent (warm white)") },
        {  770, N_("Fluorescent (cool white)") },
        { 1024, N_("Incandescent")             },
        { 3480, N_("Custom")                   }
    }

WhiteBalance, tag 0x1002.

Initial value:
 {
        { 0, "AF-A" },
        { 1, "AF-S" },
        { 2, "AF-D" },
        { 3, "DMF"  }
    }

Lookup table to translate Minolta Dynax 5D camera settings focus mode values to readable labels.

Initial value:
 {
        { 1,   N_("Center")       },
        { 2,   N_("Top")          },
        { 4,   N_("Top-right")    },
        { 8,   N_("Right")        },
        { 16,  N_("Bottom-right") },
        { 32,  N_("Bottom")       },
        { 64,  N_("Bottom-left")  },
        { 128, N_("Left")         },
        { 256, N_("Top-left")     }
    }

Lookup table to translate Minolta Dynax 7D camera settings AF points values to readable labels.

Initial value:
 {
        { 0, N_("Center")       },
        { 1, N_("Top")          },
        { 2, N_("Top-right")    },
        { 3, N_("Right")        },
        { 4, N_("Bottom-right") },
        { 5, N_("Bottom")       },
        { 6, N_("Bottom-left")  },
        { 7, N_("Left")         },
        { 8, N_("Top-left")     }
    }

Lookup table to translate Minolta Std camera settings AF points values to readable labels.

Initial value:
 {
        { 0, "1/3 EV" },
        { 1, "2/3 EV" },
        { 2, "1 EV"   }
    }

Lookup table to translate Minolta Std camera bracket step mode values to readable labels.

Initial value:
 {
        { 0,  N_("Natural Color")  },
        { 1,  N_("Black & White")  },
        { 2,  N_("Vivid Color")    },
        { 3,  N_("Solarization")   },
        { 4,  N_("AdobeRGB")       },
        { 5,  N_("Sepia")          },
        { 9,  N_("Natural")        },
        { 12, N_("Portrait")       },
        { 13, N_("Natural sRGB")   },
        { 14, N_("Natural+ sRGB")  },
        { 15, N_("Landscape")      },
        { 16, N_("Evening")        },   
        { 17, N_("Night Scene")    },
        { 18, N_("Night Portrait") }
    }

Lookup table to translate Minolta color mode values to readable labels.

Initial value:
 {
        { 0, N_("Natural color")   },
        { 1, N_("Black and white") },
        { 2, N_("Vivid color")     },
        { 3, N_("Solarization")    },
        { 4, N_("Adobe RGB")       }
    }

Lookup table to translate Minolta Std camera settings color mode values to readable labels.

Initial value:
 {
        { 0, N_("Not embedded") },
        { 1, N_("Embedded")     }
    }

Lookup table to translate Minolta Std camera settings color profile values to readable labels.

Initial value:
 {
        { 0, N_("sRGB (Natural)")  },
        { 1, N_("sRGB (Natural+)") },
        { 4, N_("Adobe RGB")       }
    }

Lookup table to translate Minolta Dynax 7D camera settings color space values to readable labels.

Initial value:
 {
        { 0, N_("None")       },
        { 1, "YYYY/MM/DD"     },
        { 2, "MM/DD/HH:MM"    },
        { 3, N_("Text")       },
        { 4, N_("Text + ID#") }
    }

Lookup table to translate Minolta Std camera settings data Imprint values to readable labels.

Initial value:
 {
        { 0, N_("Exposure")   },
        { 1, N_("Contrast")   },
        { 2, N_("Saturation") },
        { 3, N_("Filter")     }
    }

Lookup table to translate Minolta Std camera settings DEC switch position values to readable labels.

Initial value:
 {
        { 0, N_("Off")                      },
        { 1, N_("Electronic magnification") },
        { 2, "2x"                           }
    }

Lookup table to translate Minolta Std camera settings digital zoom values to readable labels.

Initial value:
 {
        { 0, N_("Single")         },
        { 1, N_("Continuous")     },
        { 2, N_("Self-timer")     },
        { 4, N_("Bracketing")     },
        { 5, N_("Interval")       },
        { 6, N_("UHS continuous") },
        { 7, N_("HS continuous")  }
    }

Lookup table to translate Minolta Std camera settings drive mode values to readable labels.

Initial value:
 {
        { 0,    N_("Program")           },
        { 1,    N_("Aperture priority") },
        { 2,    N_("Shutter priority")  },
        { 3,    N_("Manual")            },
        { 4,    N_("Auto")              },
        { 4131, N_("Connected copying") }
    }

Lookup table to translate Minolta Dynax 5D camera settings exposure mode values to readable labels.

Initial value:
 {
        { 0, N_("Program")           },
        { 1, N_("Aperture priority") },
        { 2, N_("Shutter priority")  },
        { 3, N_("Manual")            },
        { 4, N_("Auto")              },
        { 5, N_("Program-shift A")   },
        { 6, N_("Program-shift S")   }
    }

Lookup table to translate Minolta Dynax 7D camera settings exposure mode values to readable labels.

Initial value:
 {
        { 0, N_("Program")           },
        { 1, N_("Aperture priority") },
        { 2, N_("Shutter priority")  },
        { 3, N_("Manual")            }
    }

Lookup table to translate Minolta Std camera settings exposure mode values to readable labels.

Initial value:
 {
        { 0, N_("Off") },
        { 1, N_("On")  }
    }

Lookup table to translate Minolta Std camera settings file number memory values to readable labels.

Initial value:
 {
        { 0, N_("Did not fire") },
        { 1, N_("Fired")        }
    }

Lookup table to translate Minolta Dynax 5D camera settings flash labels.

Initial value:
 {
        { 0, N_("Did not fire") },
        { 1, N_("Fired")        }
    }

Lookup table to translate Minolta Dynax 7D camera settings white balance values to readable labels.

Initial value:
 {
        { 0, N_("ADI (Advanced Distance Integration)") },
        { 1, N_("Pre-flash TTl")                       },
        { 2, N_("Manual flash control")                }
    }

Lookup table to translate Minolta Std camera settings flash metering values to readable labels.

Initial value:
 {
        { 0, N_("Fill flash")        },
        { 1, N_("Red-eye reduction") },
        { 2, N_("Rear flash sync")   },
        { 3, N_("Wireless")          }
    }

Lookup table to translate Minolta Std camera settings exposure mode values to readable labels.

Initial value:
 {
        { 0, N_("Did not fire") },
        { 1, N_("Fired")        }
    }

Lookup table to translate Minolta Std camera settings white balance values to readable labels.

Initial value:
 {
        { 0, N_("Wide")      },
        { 1, N_("Selection") },
        { 2, N_("Spot")      }
    }

Lookup table to translate Minolta Dynax 5D camera settings focus area values to readable labels.

Initial value:
 {
        { 0, N_("Wide focus (normal)") },
        { 1, N_("Spot focus")          }
    }

Lookup table to translate Minolta Std camera settings focus area values to readable labels.

Initial value:
 {
        { 0, "AF" },
        { 1, "MF" }
    }

Lookup table to translate Minolta Dynax 5D camera settings focus mode values to readable labels.

Initial value:
 {
        { 0, N_("Single-shot AF") },
        { 1, N_("Continuous AF")  },
        { 3, N_("Automatic AF")   },
        { 4, N_("Manual")         }
    }

Lookup table to translate Minolta Dynax 7D camera settings focus mode values to readable labels.

Initial value:
 {
        { 0, N_("Auto focus")   },
        { 1, N_("Manual focus") }
    }

Lookup table to translate Minolta Std camera settings focus mode values to readable labels.

Initial value:
 {
        { 0, N_("Wide")       },
        { 1, N_("Central")    },
        { 2, N_("Up")         },
        { 3, N_("Up right")   },
        { 4, N_("Right")      },
        { 5, N_("Down right") },
        { 6, N_("Down")       },
        { 7, N_("Down left")  },
        { 8, N_("Left")       },
        { 9, N_("Up left")    }
    }

Lookup table to translate Minolta Dynax 5D camera settings focus position values to readable labels.

Initial value:
 {
        { 0, N_("Standard form") },
        { 1, N_("Data form")     }
    }

Lookup table to translate Minolta Std camera settings folder name values to readable labels.

Initial value:
 {
        { 0, N_("Raw")        },
        { 1, N_("Super Fine") },
        { 2, N_("Fine")       },
        { 3, N_("Standard")   },
        { 4, N_("Economy")    },
        { 5, N_("Extra Fine") }
    }

Lookup table to translate Minolta image quality values to readable labels.

Initial value:
 {
        { 0,  N_("Raw")      },
        { 16, N_("Fine")     },
        { 32, N_("Normal")   },
        { 34, N_("Raw+Jpeg") },
        { 48, N_("Economy")  }
    }

Lookup table to translate Minolta Dynax 5D camera settings image quality values to readable labels.

Initial value:
 {
        { 0,  N_("Raw")      },
        { 16, N_("Fine")     },
        { 32, N_("Normal")   },
        { 34, N_("Raw+Jpeg") },
        { 48, N_("Economy")  }
    }

Lookup table to translate Minolta Dynax 7D camera settings image quality values to readable labels.

Initial value:
 {
        { 0, N_("Raw")        },
        { 1, N_("Super fine") },
        { 2, N_("Fine")       },
        { 3, N_("Standard")   },
        { 4, N_("Economy")    },
        { 5, N_("Extra fine") }
    }

Lookup table to translate Minolta Std camera settings image quality values to readable labels.

Initial value:
 {
        { 0, N_("Large")  },
        { 1, N_("Medium") },
        { 2, N_("Small")  }
    }

Lookup table to translate Minolta Dynax 5D camera settings image size values to readable labels.

Initial value:
 {
        { 0, N_("Large")  },
        { 1, N_("Medium") },
        { 2, N_("Small")  }
    }

Lookup table to translate Minolta Dynax 7D camera settings image size values to readable labels.

Initial value:
 {
        { 0, N_("Full size") },
        { 1, "1600x1200"     },
        { 2, "1280x960"      },
        { 3, "640x480"       },
        { 6, "2080x1560"     },
        { 7, "2560x1920"     },
        { 8, "3264x2176"     }
    }

Lookup table to translate Minolta Std camera settings image size values to readable labels.

Initial value:
 {
        { 1, N_("Off") },
        { 5, N_("On")  }
    }

Lookup table to translate Minolta image stabilization values.

Initial value:
 {
        { 0, N_("Off") },
        { 1, N_("On")  }
    }

Lookup table to translate Minolta Dynax 5D camera settings image stabilization values to readable labels.

Initial value:
 {
        { 0, N_("Off") },
        { 1, N_("On")  }
    }

Lookup table to translate Minolta Dynax 7D camera settings image stabilization values to readable labels.

Initial value:
 {
        { 0, N_("Did not fire") },
        { 1, N_("Fired")        }
    }

Lookup table to translate Minolta Std camera settings internal flash values to readable labels.

Initial value:
 {
        { 0, N_("Still image")      },
        { 1, N_("Time-lapse movie") }
    }

Lookup table to translate Minolta Std camera settings interval mode values to readable labels.

Initial value:
 {
        { 0,  N_("Auto")                     },
        { 1,  "100"                          },
        { 3,  "200"                          },
        { 4,  "400"                          },
        { 5,  "800"                          },
        { 6,  "1600"                         },
        { 7,  "3200"                         },
        { 8,  N_("200 (Zone Matching High)") },
        { 10, N_("80 (Zone Matching Low)")   }
    }

Lookup table to translate Minolta Dynax 5D camera settings ISO settings values to readable labels.

Initial value:
 {
        { 0, N_("Auto") },
        { 1, "100"      },
        { 3, "200"      },
        { 4, "400"      },
        { 5, "800"      },
        { 6, "1600"     },
        { 7, "3200"     }
    }

Lookup table to translate Minolta Dynax 7D camera settings ISO settings values to readable labels.

Initial value:
 {
        { 0, "100"      },
        { 1, "200"      },
        { 2, "400"      },
        { 3, "800"      },
        { 4, N_("Auto") },
        { 5, "64"       }
    }

Lookup table to translate Minolta Std camera settings ISO settings values to readable labels.

Initial value:
 {
        { 0, N_("Off") },
        { 1, N_("On")  }
    }

Lookup table to translate Minolta Std camera settings macro mode values to readable labels.

Initial value:
 {
        { 0, N_("Multi-segment")   },
        { 1, N_("Center weighted") },
        { 2, N_("Spot")            }
    }

Lookup table to translate Minolta Dynax 5D camera settings metering mode values to readable labels.

Initial value:
 {
        { 0, N_("Multi-segment")   },
        { 1, N_("Center weighted") },
        { 2, N_("Spot")            }
    }

Lookup table to translate Minolta Std camera settings metering mode values to readable labels.

Initial value:
 {
        { 0, "DiMAGE 7 | X1 | X21 | X31" },
        { 1, "DiMAGE 5"                  },
        { 2, "DiMAGE S304"               },
        { 3, "DiMAGE S404"               },
        { 4, "DiMAGE 7i"                 },
        { 5, "DiMAGE 7Hi"                },
        { 6, "DiMAGE A1"                 },
        { 7, "DiMAGE A2 | S414"          }
    }

Lookup table to translate Minolta Std camera settings model values to readable labels.

Initial value:
 {
        { 0, N_("Off") },
        { 1, N_("On")  }
    }

Lookup table to translate Minolta Dynax 5D camera settings noise reduction values to readable labels.

Initial value:
 {
        { 0, N_("Off") },
        { 1, N_("On")  }
    }

Lookup table to translate Minolta Dynax 7D camera settings noise reduction values to readable labels.

Initial value:
 {
        { 72, N_("Horizontal (normal)") },
        { 76, N_("Rotate 90 CW")        },
        { 82, N_("Rotate 270 CW")       }
    }

Lookup table to translate Minolta Dynax 5D camera settings rotation values to readable labels.

Initial value:
 {
        { 72, N_("Horizontal (normal)") },
        { 76, N_("Rotate 90 CW")        },
        { 82, N_("Rotate 270 CW")       }
    }

Lookup table to translate Minolta Dynax 7D camera settings rotation values to readable labels.

Initial value:
 {
        { 0, N_("Hard")   },
        { 1, N_("Normal") },
        { 2, N_("Soft")   }
    }

Lookup table to translate Minolta Std camera settings sharpness values to readable labels.

Initial value:
 {
        { 0, N_("None")           },
        { 1, N_("Portrait")       },
        { 2, N_("Text")           },
        { 3, N_("Night portrait") },
        { 4, N_("Sunset")         },
        { 5, N_("Sports action")  }
    }

Lookup table to translate Minolta Std camera settings subject program values to readable labels.

Initial value:
 {
        { 0,   N_("Auto")        },
        { 1,   N_("Daylight")    },
        { 2,   N_("Cloudy")      },
        { 3,   N_("Shade")       },
        { 4,   N_("Tungsten")    },
        { 5,   N_("Fluorescent") },
        { 6,   N_("Flash")       },
        { 256, N_("Kelvin")      },
        { 512, N_("Manual")      }
    }

Lookup table to translate Minolta Dynax 5D camera settings white balance values to readable labels.

Initial value:
 {
        { 0,   N_("Auto")        },
        { 1,   N_("Daylight")    },
        { 2,   N_("Shade")       },
        { 3,   N_("Cloudy")      },
        { 4,   N_("Tungsten")    },
        { 5,   N_("Fluorescent") },
        { 256, N_("Kelvin")      },
        { 512, N_("Manual")      }
    }

Lookup table to translate Minolta Dynax 7D camera settings white balance values to readable labels.

Initial value:
 {
        { 0,  N_("Auto")          },
        { 1,  N_("Daylight")      },
        { 2,  N_("Cloudy")        },
        { 3,  N_("Tungsten")      },
        { 5,  N_("Custom")        },
        { 7,  N_("Fluorescent")   },
        { 8,  N_("Fluorescent 2") },
        { 11, N_("Custom 2")      },
        { 12, N_("Custom 3")      }
    }

Lookup table to translate Minolta Std camera settings white balance values to readable labels.

Initial value:
 {
        { 0, N_("No zone")                              },
        { 1, N_("Center zone (horizontal orientation)") },
        { 1, N_("Center zone (vertical orientation)")   },
        { 1, N_("Left zone")                            },
        { 4, N_("Right zone")                           }
    }

Lookup table to translate Minolta Std camera settings wide focus zone values to readable labels.

Initial value:
 {
        { 0, N_("ISO Setting Used") },
        { 1, N_("High Key")         },
        { 2, N_("Low Key")          }
    }

Lookup table to translate Minolta zone matching values.

Initial value:
 {
        { 0, N_("Off") },
        { 1, N_("On")  }
    }

Lookup table to translate Minolta Dynax 7D camera settings zone matching on values to readable labels.

Initial value:
 {
        { 1, N_("Color")      },
        { 2, N_("Monochrome") }
    }

ColorMode, tag 0x0004.

Initial value:
 {
        { 0, N_("Normal")    },
        { 1, N_("Bright+")   },
        { 2, N_("Bright-")   },
        { 3, N_("Contrast+") },
        { 4, N_("Contrast-") }
    }

ImageAdjustment, tag 0x0005.

Initial value:
 {
        { 0, "80"  },
        { 2, "160" },
        { 4, "320" },
        { 5, "100" }
    }

ISOSpeed, tag 0x0006.

Initial value:
 {
        { 1, N_("VGA Basic")   },
        { 2, N_("VGA Normal")  },
        { 3, N_("VGA Fine")    },
        { 4, N_("SXGA Basic")  },
        { 5, N_("SXGA Normal") },
        { 6, N_("SXGA Fine")   }
    }

Quality, tag 0x0003.

Initial value:
 {
        { 0, N_("Auto")         },
        { 1, N_("Preset")       },
        { 2, N_("Daylight")     },
        { 3, N_("Incandescent") },
        { 4, N_("Fluorescent")  },
        { 5, N_("Cloudy")       },
        { 6, N_("Speedlight")   }
    }

WhiteBalance, tag 0x0007.

Initial value:
 {
        {  0, N_("Default Settings") },
        {  1, N_("Quick Adjust")     },
        {  2, N_("Full Control")     }
    }

Adjust.

Initial value:
 {
        { 0, N_("Single Area")                   },
        { 1, N_("Dynamic Area")                  },
        { 2, N_("Dynamic Area, Closest Subject") },
        { 3, N_("Group Dynamic")                 },
        { 4, N_("Single Area (wide)")            },
        { 5, N_("Dynamic Area (wide)")           }
    }

AfAreaMode.

Initial value:
 {
        { 0, N_("Center")      },
        { 1, N_("Top")         },
        { 2, N_("Bottom")      },
        { 3, N_("Mid-left")    },
        { 4, N_("Mid-right")   },
        { 5, N_("Upper-left")  },
        { 6, N_("Upper-right") },
        { 7, N_("Lower-left")  },
        { 8, N_("Lower-right") },
        { 9, N_("Far Left")    },
        { 10, N_("Far Right")  }
    }

AfPoint.

Initial value:
 {
        { 0x0001, N_("Center")        },
        { 0x0002, N_("Top")           },
        { 0x0004, N_("Bottom")        },
        { 0x0008, N_("Mid-left")      },
        { 0x0010, N_("Mid-right")     },
        { 0x0020, N_("Upper-left")    },
        { 0x0040, N_("Upper-right")   },
        { 0x0080, N_("Lower-left")    },
        { 0x0100, N_("Lower-right")   },
        { 0x0200, N_("Far Left")      },
        { 0x0400, N_("Far Right")     }
    }

AfPointsInFocus.

Referenced by Exiv2::Nikon3MakerNote::printAfPointsInFocus().

Initial value:
 {
        { 0, N_("None")           },
        { 1, N_("Auto release")   },
        { 2, N_("Manual release") }
    }

AutoBracketRelease, tag 0x008a.

Initial value:
 {
        { 1, N_("sRGB")      },
        { 2, N_("Adobe RGB") }
    }

ColorSpace, tag 0x001e.

Initial value:
 {
        { 0, N_("Y/M/D") },
        { 1, N_("M/D/Y") },
        { 2, N_("D/M/Y") }
    }

DateDisplayFormat, tag index 3.

Initial value:
 {
        { 0x80, N_("Off")    },
        { 0x81, N_("Yellow") },
        { 0x82, N_("Orange") },
        { 0x83, N_("Red")    },
        { 0x84, N_("Green")  },
        { 0xff, N_("n/a")    }
    }

FilterEffect.

Initial value:
 {
        
        { 0x06, "+1.0 EV" },
        { 0x04, "+0.7 EV" },
        { 0x03, "+0.5 EV" },
        { 0x02, "+0.3 EV" },
        { 0x00,  "0.0 EV" },
        { 0xfe, "-0.3 EV" },
        { 0xfd, "-0.5 EV" },
        { 0xfc, "-0.7 EV" },
        { 0xfa, "-1.0 EV" },
        { 0xf8, "-1.3 EV" },
        { 0xf7, "-1.5 EV" },
        { 0xf6, "-1.7 EV" },
        { 0xf4, "-2.0 EV" },
        { 0xf2, "-2.3 EV" },
        { 0xf1, "-2.5 EV" },
        { 0xf0, "-2.7 EV" },
        { 0xee, "-3.0 EV" }
    }

FlashComp, tag 0x0012.

Initial value:
 {
        { 0, N_("Did not fire")         },
        { 1, N_("Fire, manual")         },
        { 7, N_("Fire, external")       },
        { 8, N_("Fire, commander mode") },
        { 9, N_("Fire, TTL mode")       }
    }

FlashMode, tag 0x0087.

const char* Exiv2::nikonFocusarea[]
Initial value:
 {
        N_("Single area"),
        N_("Dynamic area"),
        N_("Dynamic area, closest subject"),
        N_("Group dynamic"),
        N_("Single area (wide)"),

    }

Focus area for Nikon cameras.

Referenced by Exiv2::Nikon1MakerNote::print0x0088().

const char* Exiv2::nikonFocuspoints[]
Initial value:
 {
        N_("Center"),
        N_("Top"),
        N_("Bottom"),
        N_("Left"),
        N_("Right"),
        N_("Upper-left"),
        N_("Upper-right"),
        N_("Lower-left"),
        N_("Lower-right"),
        N_("Left-most"),

    }

Focus points for Nikon cameras, used for Nikon 1 and Nikon 3 makernotes.

Referenced by Exiv2::Nikon3MakerNote::print0x0088(), and Exiv2::Nikon1MakerNote::print0x0088().

Initial value:
 {
        { 0, N_("Off")     },
        { 1, N_("Minimal") },
        { 2, N_("Low")     },
        { 4, N_("Normal")  },
        { 6, N_("High")    }
    }

HighISONoiseReduction, tag 0x00b1.

Initial value:
 {
        { 0x000, N_("Off")    },
        { 0x101, N_("Hi 0.3") },
        { 0x102, N_("Hi 0.5") },
        { 0x103, N_("Hi 0.7") },
        { 0x104, N_("Hi 1.0") },
        { 0x105, N_("Hi 1.3") },
        { 0x106, N_("Hi 1.5") },
        { 0x107, N_("Hi 1.7") },
        { 0x108, N_("Hi 2.0") },
        { 0x201, N_("Lo 0.3") },
        { 0x202, N_("Lo 0.5") },
        { 0x203, N_("Lo 0.7") },
        { 0x204, N_("Lo 1.0") }
    }

ISOExpansion, tag index 4 and 10.

Initial value:
 {
        {  1, N_("Lossy (type 1)") },
        {  2, N_("Uncompressed")   },
        {  3, N_("Lossless")       },
        {  4, N_("Lossy (type 2)") }
    }

NEFCompression, tag 0x0093.

Initial value:
 {
        {  0, N_("Off") },
        {  1, N_("On")  }
    }

OffOn, multiple tags.

Initial value:
 {
        { 0, N_("Off")    },
        { 1, N_("On (1)") },
        { 2, N_("On (2)") },
        { 3, N_("On (3)") }
    }

VibrationReduction.

Initial value:
 {
        { 0x0, N_("n/a") },
        { 0xc, N_("Off") },
        { 0xf, N_("On")  }
    }

VibrationReduction2.

Initial value:
 {
        {  0, N_("Off")    },
        {  1, N_("Low")    },
        {  3, N_("Normal") },
        {  5, N_("High")   }
    }

Off, Low, Normal, High, multiple tags.

Initial value:
 {
        {  1, N_("On")  },
        {  2, N_("Off") }
    }

OnOff.

Initial value:
 {
        {  0, N_("None")          },
        {  3, N_("B & W")         },
        {  4, N_("Sepia")         },
        {  5, N_("Trim")          },
        {  6, N_("Small picture") },
        {  7, N_("D-Lighting")    },
        {  8, N_("Red eye")       },
        {  9, N_("Cyanotype")     },
        { 10, N_("Sky light")     },
        { 11, N_("Warm tone")     },
        { 12, N_("Color custom")  },
        { 13, N_("Image overlay") }
    }

RetouchHistory, tag 0x009e.

Referenced by Exiv2::Nikon3MakerNote::print0x009e().

Initial value:
 {
        { 0x0001, N_("Continuous")               },
        { 0x0002, N_("Delay")                    },
        { 0x0004, N_("PC control")               },
        { 0x0010, N_("Exposure bracketing")      },
        { 0x0020, N_("Auto ISO") },
        { 0x0040, N_("White balance bracketing") },
        { 0x0080, N_("IR control")               }
    }

ShootingMode, tag 0x0089.

Referenced by Exiv2::Nikon3MakerNote::print0x0089().

Initial value:
 {
        { 0x0001, N_("Continuous")               },
        { 0x0002, N_("Delay")                    },
        { 0x0004, N_("PC control")               },
        { 0x0010, N_("Exposure bracketing")      },
        { 0x0020, N_("Unused LE-NR slowdown") },
        { 0x0040, N_("White balance bracketing") },
        { 0x0080, N_("IR control")               }
    }

ShootingMode D70, tag 0x0089.

Referenced by Exiv2::Nikon3MakerNote::print0x0089().

Initial value:
 {
        { 0x80, N_("B&W")         },
        { 0x81, N_("Sepia")       },
        { 0x82, N_("Cyanotype")   },
        { 0x83, N_("Red")         },
        { 0x84, N_("Yellow")      },
        { 0x85, N_("Green")       },
        { 0x86, N_("Blue-green")  },
        { 0x87, N_("Blue")        },
        { 0x88, N_("Purple-blue") },
        { 0x89, N_("Red-purple")  },
        { 0xff, N_("n/a")         }
    }

ToningEffect.

Initial value:
 {
        { 0, N_("No")    },
        { 1, N_("Yes")   }
    }

YesNo, used for DaylightSavings, tag index 2.

Initial value:
 {
        { 0, N_("Not Ready") },
        { 1, N_("Ready")     }
    }

AFSearch.

Initial value:
 {
        {  0, N_("Interlaced")  },
        {  1, N_("Progressive") }
    }

CCDScanMode, tag 0x1039.

Initial value:
 {
        { 0, N_("sRGB")          },
        { 1, N_("Adobe RGB")     },
        { 2, N_("Pro Photo RGB") }
    }

ColorSpace.

Initial value:
 {
        { 0, N_("High")   },
        { 1, N_("Normal") },
        { 2, N_("Low")    }
    }

Contrast, tag 0x1029.

Initial value:
 {
        { 0, N_("Single AF")              },
        { 1, N_("Sequential shooting AF") },
        { 2, N_("Continuous AF")          },
        { 3, N_("Multi AF")               },
        { 10, N_("MF")                    }
    }

FocusMode.

Initial value:
 {
        { 1, N_("SQ")  },
        { 2, N_("HQ")  },
        { 3, N_("SHQ") },
        { 4, N_("RAW") }
    }

OlympusCs Quality.

Initial value:
 {
        { 0, N_("None") },
        { 1, "FL-20"    },
        { 2, "FL-50"    },
        { 3, "RF-11"    },
        { 4, "TF-22"    },
        { 5, "FL-36"    },
        { 6, "FL-50R"   },
        { 7, "FL-36R"   }
    }

OlympusEq FlashModel, tag 0x1001.

Initial value:
 {
        { 0, N_("None")            },
        { 2, N_("Simple E-System") },
        { 3, N_("E-System")        }
    }

OlympusEq FlashType, tag 0x1000.

Initial value:
 {
        { 1, N_("Manual")                    },
        { 2, N_("Program")                   },
        { 3, N_("Aperture-priority AE")      },
        { 4, N_("Shutter speed priority AE") },
        { 5, N_("Program-shift")             }
    }

ExposureMode, tag 0x0200.

Initial value:
 {
        { 0, N_("Bounce or Off") },
        { 1, N_("Direct") }
    }

OlympusFi ExternalFlashBounce, tag 0x1204.

Initial value:
 {
        {  0, N_("None")                },
        {  1, N_("Internal")            },
        {  4, N_("External")            },
        {  5, N_("Internal + External") }
    }

FlashDevice, tag 0x1005.

Initial value:
 {
        { 0x0000, N_("Off")         },
        { 0x0001, N_("On")          },
        { 0x0002, N_("Fill-in")     },
        { 0x0004, N_("Red-eye")     },
        { 0x0008, N_("Slow-sync")   },
        { 0x0010, N_("Forced On")   },
        { 0x0020, N_("2nd Curtain") }
    }

FlashMode.

Initial value:
 {
        {  0, N_("Auto")   },
        {  1, N_("Manual") }
    }

FocusMode, tag 0x100b.

Initial value:
 {
        { 0, N_("AF Not Used") },
        { 1, N_("AF Used")     }
    }

FocusProcess.

Initial value:
 {
        {  0, N_("Off")         },
        {  1, N_("On")          },
        {  2, N_("Super macro") }
    }

Macro, tag 0x0202.

Initial value:
 {
        { 0, N_("Off")         },
        { 1, N_("On")          },
        { 2, N_("Super Macro") }
    }

MacroMode.

Initial value:
 {
        {    2, N_("Center-weighted average") },
        {    3, N_("Spot")                    },
        {    5, N_("ESP")                     },
        {  261, N_("Pattern+AF")              },
        {  515, N_("Spot+Highlight control")  },
        { 1027, N_("Spot+Shadow control")     }
    }

MeteringMode.

Initial value:
 {
        { 0, N_("Off")                 },
        { 1, N_("CM1 (Red Enhance)")   },
        { 2, N_("CM2 (Green Enhance)") },
        { 3, N_("CM3 (Blue Enhance)")  },
        { 4, N_("CM4 (Skin Tones)")    }
    }

ModifiedSaturation.

Initial value:
 {
        { 0x0001, N_("Noise Reduction")          },
        { 0x0002, N_("Noise Filter")             },
        { 0x0004, N_("Noise Filter (ISO Boost)") }
    }

NoiseReduction.

Initial value:
 {
        {  0, N_("No") },
        {  1, N_("Yes")  }
    }

NoYes, multiple tags.

Initial value:
 {
        {  0, N_("Off") },
        {  1, N_("On")  }
    }

OffOn, multiple tags.

Initial value:
 {
        {  0, N_("Off")         },
        {  1, N_("On")          },
        {  2, N_("On (preset)") }
    }

OneTouchWB, tag 0x0302.

Initial value:
 {
        {   1, N_("Vivid")    },
        {   2, N_("Natural")  },
        {   3, N_("Muted")    },
        {   4, N_("Portrait") },
        { 256, N_("Monotone") },
        { 512, N_("Sepia")    }
    }

PictureMode.

Initial value:
 {
        { 0, N_("n/a")     },
        { 1, N_("Neutral") },
        { 2, N_("Yellow")  },
        { 3, N_("Orange")  },
        { 4, N_("Red")     },
        { 5, N_("Green")   }
    }

PictureModeBWFilter.

Initial value:
 {
        { 0, N_("n/a")     },
        { 1, N_("Neutral") },
        { 2, N_("Sepia")   },
        { 3, N_("Blue")    },
        { 4, N_("Purple")  },
        { 5, N_("Green")   }
    }

PictureModeTone.

Initial value:
 {
        { 1, N_("Standard Quality (SQ)")    },
        { 2, N_("High Quality (HQ)")        },
        { 3, N_("Super High Quality (SHQ)") },
        { 6, N_("Raw")                      }
    }

Quality, tag 0x0201.

Initial value:
 {
        { 0, N_("sRGB")          },
        { 1, N_("Adobe RGB")     },
        { 2, N_("Pro Photo RGB") }
    }

OlympusRd2 ColorSpace, tag 0x0109.

Initial value:
 {
        { 0, N_("High Speed")    },
        { 1, N_("High Function") }
    }

OlympusRd2 Engine, tag 0x010b.

Initial value:
 {
        {   1, N_("Vivid")    },
        {   2, N_("Natural")  },
        {   3, N_("Muted")    },
        { 256, N_("Monotone") },
        { 512, N_("Sepia")    }
    }

OlympusRd2 PictureMode, tag 0x010c.

Initial value:
 {
        { 1, N_("Neutral") },
        { 2, N_("Yellow")  },
        { 3, N_("Orange")  },
        { 4, N_("Red")     },
        { 5, N_("Green")   }
    }

OlympusRd2 PM_BWFilter, tag 0x0110.

Initial value:
 {
        { 1, N_("Neutral") },
        { 2, N_("Sepia")   },
        { 3, N_("Blue")    },
        { 4, N_("Purple")  },
        { 5, N_("Green")   }
    }

OlympusRd2 PMPictureTone, tag 0x0111.

Initial value:
 {
        { 1, N_("Color Temperature") },
        { 2, N_("Gray Point")        }
    }

OlympusRd2 WhiteBalance, tag 0x0101.

Initial value:
 {
        { 0, N_("sRGB")          },
        { 1, N_("Adobe RGB")     },
        { 2, N_("Pro Photo RGB") }
    }

OlympusRd ColorSpace, tag 0x0108.

Initial value:
 {
        { 0, N_("Original")           },
        { 1, N_("Edited (Landscape)") },
        { 6, N_("Edited (Portrait)")  },
        { 8, N_("Edited (Portrait)")  }
    }

OlympusRd EditStatus, tag 0x010b.

Initial value:
 {
        { 0, N_("High Speed")             },
        { 1, N_("High Function")          },
        { 2, N_("Advanced High Speed")    },
        { 3, N_("Advanced High Function") }
    }

OlympusRd Engine, tag 0x0109.

Initial value:
 {
        { 0x0001, N_("WB Color Temp")   },
        { 0x0004, N_("WB Gray Point")   },
        { 0x0008, N_("Saturation")      },
        { 0x0010, N_("Contrast")        },
        { 0x0020, N_("Sharpness")       },
        { 0x0040, N_("Color Space")     },
        { 0x0080, N_("High Function")   },
        { 0x0100, N_("Noise Reduction") }
    }

OlympusRd Settings, tag 0x010c.

Initial value:
 {
        {   0, N_("Unknown")                                 },
        {  16, N_("Shade")                                   },
        {  17, N_("Cloudy")                                  },
        {  18, N_("Fine Weather")                            },
        {  20, N_("Tungsten (incandescent)")                 },
        {  22, N_("Evening Sunlight")                        },
        {  33, N_("Daylight Fluorescent (D 5700 - 7100K)")   },
        {  34, N_("Day White Fluorescent (N 4600 - 5400K)")  },
        {  35, N_("Cool White Fluorescent (W 3900 - 4500K)") },
        {  36, N_("White Fluorescent (WW 3200 - 3700K)")     },
        { 256, N_("One Touch White Balance")                 },
        { 512, N_("Custom 1-4")                              }
    }

OlympusRi LightSource, tag 0x1000.

Initial value:
 {
        { 0, N_("Normal") },
        { 1, N_("Hard")   },
        { 2, N_("Soft")   }
    }

Sharpness, tag 0x100f.

Initial value:
 {
        {   0, N_("Auto")                              },
        {  16, N_("7500K (Fine Weather with Shade)")   },
        {  17, N_("6000K (Cloudy)")                    },
        {  18, N_("5300K (Fine Weather)")              },
        {  20, N_("3000K (Tungsten light)")            },
        {  21, N_("3600K (Tungsten light-like)")       },
        {  33, N_("6600K (Daylight fluorescent)")      },
        {  34, N_("4500K (Neutral white fluorescent)") },
        {  35, N_("4000K (Cool white fluorescent)")    },
        {  48, N_("3600K (Tungsten light-like)")       },
        { 256, N_("Custom WB 1")                       },
        { 257, N_("Custom WB 2")                       },
        { 258, N_("Custom WB 3")                       },
        { 259, N_("Custom WB 4")                       },
        { 512, N_("Custom WB 5400K")                   },
        { 513, N_("Custom WB 2900K")                   },
        { 514, N_("Custom WB 8000K")                   }
    }

OlympusCs WhiteBalance.

Initial value:
 {
        { 1, N_("Yes") },
        { 2, N_("No")  }
    }

Audio, tag 0x0020.

Initial value:
 {
        { 0, N_("Off")              },
        { 1, N_("Low/High quality") },
        { 2, N_("Infinite")         }
    }

BustMode, tag 0x002a.

Initial value:
 {
        { 1, N_("Off")             },
        { 2, N_("Warm")            },
        { 3, N_("Cool")            },
        { 4, N_("Black and white") },
        { 5, N_("Sepia")           }
    }

ColorEffect, tag 0x0028.

Initial value:
 {
        { 0, N_("Normal")  },
        { 1, N_("Natural") },
        { 2, N_("Vivid")   }
    }

ColorMode, tag 0x0032.

Initial value:
 {
        {   0, N_("Normal")      },
        {   1, N_("Low")         },
        {   2, N_("High")        },
        {   6, N_("Medium low")  },
        {   7, N_("Medium high") },
        { 256, N_("Low")         },
        { 272, N_("Standard")    },
        { 288, N_("High")        }
    }

Contrast, tag 0x002c.

Initial value:
 {
        { 1, N_("Off")       },
        { 2, N_("Wide")      },
        { 3, N_("Telephoto") },
        { 4, N_("Macro")     }
    }

ConversionLens, tag 0x0035.

Initial value:
 {
        { 1, N_("Standard (color)") },
        { 2, N_("Dynamic (color)")  },
        { 3, N_("Nature (color)")   },
        { 4, N_("Smooth (color)")   },
        { 5, N_("Standard (B&W)")   },
        { 6, N_("Dynamic (B&W)")    },
        { 7, N_("Smooth (B&W)")     }
    }

FilmMode, tag 0x0042.

Initial value:
 {
        {  1, N_("Auto")               },
        {  2, N_("Manual")             },
        {  4, N_("Auto, focus button") },
        {  5, N_("Auto, continuous")   }
    }

FocusMode, tag 0x0007.

Initial value:
 {
        {  2, N_("On, Mode 1") },
        {  3, N_("Off")        },
        {  4, N_("On, Mode 2") }
    }

ImageStabilizer, tag 0x001a.

Initial value:
 {
        {   1, N_("On")         },
        {   2, N_("Off")        },
        { 257, N_("Tele-macro") }
    }

Macro, tag 0x001c.

Initial value:
 {
        { 0, N_("Standard") },
        { 1, N_("Low (-1)")     },
        { 2, N_("High (+1)")    },
        { 3, N_("Lowest (-2)")  },
        { 4, N_("Highest (+2)") }
    }

NoiseReduction, tag 0x002d.

Initial value:
 {
        { 1, N_("Standard")  },
        { 2, N_("EX optics") }
    }

OpticalZoomMode, tag 0x0034.

Initial value:
 {
        { 2, N_("High")           },
        { 3, N_("Normal")         },
        { 6, N_("Very High")      },
        { 7, N_("Raw")            },
        { 9, N_("Motion Picture") }
    }

Quality, tag 0x0001.

Initial value:
 {
        { 1, N_("Horizontal (normal)") },
        { 6, N_("Rotate 90 CW")        },
        { 8, N_("Rotate 270 CW")       }
    }

Rotation, tag 0x0030.

Initial value:
 {
        { 1, N_("Off") },
        { 2, N_("10s") },
        { 3, N_("2s")  }
    }

SelfTimer, tag 0x002e.

Initial value:
 {
        {  1, N_("Auto")            },
        {  2, N_("Daylight")        },
        {  3, N_("Cloudy")          },
        {  4, N_("Halogen")         },
        {  5, N_("Manual")          },
        {  8, N_("Flash")           },
        { 10, N_("Black and white") },
        { 11, N_("Manual")          }
    }

WhiteBalance, tag 0x0003.

Initial value:
 {
        { 1, N_("Home")        },
        { 2, N_("Destination") }
    }

WorldTimeLocation, tag 0x003a.

Initial value:
 {
        {    0xffff, N_("Auto") },
        {    0xfffe, N_("Fixed Center") },
        {    1, N_("Upper-left") },
        {    2, N_("Top") },
        {    3, N_("Upper-right") },
        {    4, N_("Left") },
        {    5, N_("Mid-left") },
        {    6, N_("Center") },
        {    7, N_("Mid-right") },
        {    8, N_("Right") },
        {    9, N_("Lower-left") },
        {    10, N_("Bottom") },
        {    11, N_("Lower-right") },
    }

AFPoint, tag 0x000e.

Initial value:
 {
        {    0, N_("sRGB") },
        {    1, N_("Adobe RGB") },
    }

ColorSpace, tag 0x0037.

Initial value:
 {
        {    0, N_("Low") },
        {    1, N_("Normal") },
        {    2, N_("High") },
        {    3, N_("Med Low") },
        {    4, N_("Med High") },
        {    5, N_("Very Low") },
        {    6, N_("Very High") },
    }

Contrast, tag 0x0020.

Initial value:
 {
        { 0x00000000, N_("Single-frame") },
        { 0x01000000, N_("Continuous") },
        { 0x02000000, N_("Continuous (Hi)") },
        { 0x03000000, N_("Burst") },
        { 0x00010000, N_("Self-timer (12 sec)") },
        { 0x00020000, N_("Self-timer (2 sec)") },
        { 0x00000100, N_("Remote Control (3 sec)") },
        { 0x00000200, N_("Remote Control") },
        { 0x00000001, N_("Multiple Exposure") },
    }

DriveMode, combi-tag 0x0034 (4 bytes).

Initial value:
 {
        {   0, N_("Off") },
        {   0x1000000, N_("On") },
    }

DynamicRangeExpansion, tag 0x0069.

Initial value:
 {
        {    0x000, N_("Auto, Did not fire") },
        {    0x001, N_("Off") },
        {    0x003, N_("Auto, Did not fire, Red-eye reduction") },
        {    0x100, N_("Auto, Fired") },
        {    0x102, N_("On") },
        {    0x103, N_("Auto, Fired, Red-eye reduction") },
        {    0x104, N_("On, Red-eye reduction") },
        {    0x105, N_("On, Wireless") },
        {    0x108, N_("On, Soft") },
        {    0x109, N_("On, Slow-sync") },
        {    0x10a, N_("On, Slow-sync, Red-eye reduction") },
        {    0x10b, N_("On, Trailing-curtain Sync") },
    }

Flash, tag 0x000c.

Initial value:
 {
        {    0, N_("Normal") },
        {    1, N_("Macro") },
        {    2, N_("Infinity") },
        {    3, N_("Manual") },
        {    5, N_("Pan Focus") },
        {    16, N_("AF-S") },
        {    17, N_("AF-C") },
    }

Focus, tag 0x000d.

Initial value:
 {
        {   0, N_("Off") },
        {   1, N_("Weakest") },
        {   2, N_("Weak") },
        {   3, N_("Strong") },
    }

HighISONoiseReduction, tag 0x0071.

Initial value:
 {
        { 0x00000000, N_("Unprocessed") },
        { 0x00000004, N_("Digital Filter") },
        { 0x02000000, N_("Cropped") },
        { 0x04000000, N_("Color Filter") },
        { 0x10000000, N_("Frame Synthesis?") }
    }

ImageProcessing, combi-tag 0x0032 (4 bytes).

Initial value:
 {
        {    0, N_("Natural") },
        {    1, N_("Bright") },
        {    2, N_("Portrait") },
        {    3, N_("Landscape") },
        {    4, N_("Vibrant") },
        {    5, N_("Monochrome") },
    }

ImageTone, tag 0x004f.

Initial value:
 {
        {    3, N_("50") },
        {    4, N_("64") },
        {    5, N_("80") },
        {    6, N_("100") },
        {    7, N_("125") },
        {    8, N_("160") },
        {    9, N_("200") },
        {    10, N_("250") },
        {    11, N_("320") },
        {    12, N_("400") },
        {    13, N_("500") },
        {    14, N_("640") },
        {    15, N_("800") },
        {    16, N_("1000") },
        {    17, N_("1250") },
        {    18, N_("1600") },
        {    21, N_("3200") },
        {    50, N_("50") },
        {    100, N_("100") },
        {    200, N_("200") },
        {    268, N_("200") },
        {    400, N_("400") },
        {    800, N_("800") },
        {    1600, N_("1600") },
        {    3200, N_("3200") },
    }

ISO, tag 0x0014.

Initial value:
 {
        {    0, N_("Home town") },
        {    1, N_("Destination") },
    }

Location, tag 0x0022.

Initial value:
 {
        {    0, N_("Multi Segment") },
        {    1, N_("Center Weighted") },
        {    2, N_("Spot") },
    }

MeteringMode, tag 0x0017.

Initial value:
 {
        {    0, N_("Off") },
        {    1, N_("On") },
    }

Generic for Off/On switches.

Initial value:
 {
        {   0, N_("Good") },
        {   1, N_("Better") },
        {   2, N_("Best") },
        {   3, N_("TIFF") },
        {   4, N_("RAW") },
        {   5, N_("Premium") },
    }

Quality, tag 0x0008.

Initial value:
 {
        {    0, N_("Low") },
        {    1, N_("Normal") },
        {    2, N_("High") },
        {    3, N_("Med Low") },
        {    4, N_("Med High") },
        {    5, N_("Very Low") },
        {    6, N_("Very High") },
    }

Saturation, tag 0x001f.

Initial value:
 {
        {    0, N_("Soft") },
        {    1, N_("Normal") },
        {    2, N_("Hard") },
        {    3, N_("Med Soft") },
        {    4, N_("Med Hard") },
        {    5, N_("Very Soft") },
        {    6, N_("Very Hard") },
    }

Sharpness, tag 0x0021.

Initial value:
 {
        {   0, N_("Auto")                      },
        {   1, N_("Night-Scene")               },
        {   2, N_("Manual")                    },
    }

ShootingMode, tag 0x0001.

Initial value:
 {
        {    0, N_("640x480") },
        {    1, N_("Full") },
        {    2, N_("1024x768") },
        {    3, N_("1280x960") },
        {    4, N_("1600x1200") },
        {    5, N_("2048x1536") },
        {    8, N_("2560x1920 or 2304x1728") },
        {    9, N_("3072x2304") },
        {    10, N_("3264x2448") },
        {    19, N_("320x240") },
        {    20, N_("2288x1712") },
        {    21, N_("2592x1944") },
        {    22, N_("2304x1728 or 2592x1944") },
        {    23, N_("3056x2296") },
        {    25, N_("2816x2212 or 2816x2112") },
        {    27, N_("3648x2736") },
    }

Size, tag 0x0009.

Initial value:
 {
        {    0, N_("Auto") },
        {    1, N_("Daylight") },
        {    2, N_("Shade") },
        {    3, N_("Fluorescent") },
        {    4, N_("Tungsten") },
        {    5, N_("Manual") },
        {    6, N_("DaylightFluorescent") },
        {    7, N_("DaywhiteFluorescent") },
        {    8, N_("WhiteFluorescent") },
        {    9, N_("Flash") },
        {    10, N_("Cloudy") },
        {    65534, N_("Unknown") },
        {    65535, N_("User Selected") },
    }

WhiteBallance, tag 0x0019.

Initial value:
 {
        {    1, N_("Auto (Daylight)") },
        {    2, N_("Auto (Shade)") },
        {    3, N_("Auto (Flash)") },
        {    4, N_("Auto (Tungsten)") },
        {    7, N_("Auto (DaywhiteFluorescent)") },
        {    8, N_("Auto (WhiteFluorescent)") },
        {    10, N_("Auto (Cloudy)") },
        {    0xffff, N_("User-Selected") },
        {    0xfffe, N_("Preset (Fireworks?)") },
    }

WhiteBallance, tag 0x001a.

Initial value:
 {
        {    0, N_("No") },
        {    1, N_("Yes") },
    }

Generic for Yes/No switches.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Mon Jul 5 13:23:07 2010 for Exiv2 by  doxygen 1.6.3