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... | |
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< Exifdatum > | ExifMetadata |
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< Iptcdatum > | IptcMetadata |
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< byte > | Blob |
Container for binary data. | |
typedef ValueType< uint16_t > | UShortValue |
Unsigned short value type. | |
typedef ValueType< uint32_t > | ULongValue |
Unsigned long value type. | |
typedef ValueType< URational > | URationalValue |
Unsigned rational value type. | |
typedef ValueType< int16_t > | ShortValue |
Signed short value type. | |
typedef ValueType< int32_t > | LongValue |
Signed long value type. | |
typedef ValueType< Rational > | RationalValue |
Signed rational value type. | |
typedef std::vector< Xmpdatum > | XmpMetadata |
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 | |
EXIV2API DataBuf | readFile (const std::string &path) |
Read file path into a DataBuf, which is returned. | |
EXIV2API long | writeFile (const DataBuf &buf, const std::string &path) |
Write DataBuf buf to file path. | |
EXIV2API 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. | |
EXIV2API bool | isBmpType (BasicIo &iIo, bool advance) |
Check if the file iIo is a Windows Bitmap image. | |
EXIV2API 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. | |
EXIV2API 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. | |
EXIV2API 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. | |
EXIV2API 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::Exifdatum & | setValue (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. | |
EXIV2API bool | fileExists (const std::string &path, bool ct=false) |
Test if a file exists. | |
EXIV2API std::string | strError () |
Return a system error message and the error code (errno). See strerror(3). | |
EXIV2API 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. | |
EXIV2API 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. | |
EXIV2API 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. | |
EXIV2API bool | isJpegType (BasicIo &iIo, bool advance) |
Check if the file iIo is a JPEG image. | |
EXIV2API 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. | |
EXIV2API bool | isExvType (BasicIo &iIo, bool advance) |
Check if the file iIo is an EXV file. | |
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. | |
EXIV2API 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. | |
EXIV2API 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. | |
EXIV2API 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. | |
EXIV2API bool | isMrwType (BasicIo &iIo, bool advance) |
Check if the file iIo is a MRW image. | |
EXIV2API 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. | |
EXIV2API 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. | |
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. | |
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. | |
EXIV2API 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. | |
EXIV2API bool | isRafType (BasicIo &iIo, bool advance) |
Check if the file iIo is a RAF image. | |
EXIV2API 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. | |
EXIV2API 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. | |
EXIV2API 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. | |
EXIV2API bool | isTgaType (BasicIo &iIo, bool advance) |
Check if the file iIo is a Targa v2 image. | |
EXIV2API 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. | |
EXIV2API 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 > | |
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 > | |
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. | |
EXIV2API int | versionNumber () |
Return the version of Exiv2 available at runtime as an integer. | |
EXIV2API const char * | version () |
Return the version of Exiv2 available at runtime as a string. | |
EXIV2API 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. | |
EXIV2API 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. | |
EXIV2API 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 | 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. |
enum Exiv2::TypeId |
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.
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
EXIV2API bool Exiv2::fileExists | ( | const std::string & | path, | |
bool | ct = false | |||
) |
Test if a file exists.
path | Name of file to verify. | |
ct | Flag to check if path is a regular file. |
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(), Action::Extract::writePreviews(), and Action::Extract::writeThumbnail().
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::Internal::nikonCrypt(), Exiv2::Internal::nikonSelector(), printCombiTag(), printTag(), printTagVocabulary(), Exiv2::Internal::tiffGroupId(), Exiv2::Internal::tiffGroupName(), 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!
References gcd().
Referenced by Exiv2::Converter::cnvXmpGPSCoord(), and parseRational().
IntType Exiv2::gcd | ( | IntType | n, | |
IntType | m | |||
) | [inline] |
Return the greatest common denominator of n and m. (Implementation from Boost rational.hpp).
Referenced by floatToRationalCast(), and print0x9204().
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.
buf | Pointer to the data buffer to read from. | |
byteOrder | Applicable byte order (little or big endian). |
References getUShort().
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)).
s | String to parse | |
ok | Output variable indicating the success of the operation. |
true
if the conversion was successful or false
if not. References stringTo< bool >().
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)).
s | String to parse | |
ok | Output variable indicating the success of the operation. |
true
if the conversion was successful or false
if not. References stringTo< bool >().
Referenced by isoSpeed().
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.
s | String to parse | |
ok | Output variable indicating the success of the operation. |
true
if the conversion was successful or false
if not. References floatToRationalCast(), and stringTo< bool >().
EXIV2API DataBuf Exiv2::readFile | ( | const std::string & | path | ) |
Read file path into a DataBuf, which is returned.
Error | In case of failure. |
Referenced by Action::Insert::insertXmpPacket(), and Exiv2::ExifThumb::setJpegThumbnail().
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.
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.
s | String to convert | |
ok | Output variable indicating the success of the operation. |
true
if the conversion was successful or false
if not. References string.
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".
Referenced by parseFloat(), parseLong(), and parseRational().
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
long Exiv2::toData | ( | byte * | buf, | |
T | 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.
buf | Pointer to the data buffer to write to. | |
t | Value to be converted. | |
byteOrder | Applicable byte order (little or big endian). |
Referenced by Exiv2::ValueType< T >::copy().
EXIV2API long Exiv2::writeFile | ( | const DataBuf & | buf, | |
const std::string & | path | |||
) |
const TagDetails Exiv2::exifCfaLayout[] |
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") } }
const TagDetails Exiv2::exifColorSpace[] |
Initial value:
{ { 1, N_("sRGB") }, { 2, N_("Adobe RGB") }, { 0xffff, N_("Uncalibrated") } }
Referenced by print0xa001().
const TagDetails Exiv2::exifCustomRendered[] |
Initial value:
{ { 0, N_("Normal process") }, { 1, N_("Custom process") } }
Referenced by print0xa401().
const TagDetails Exiv2::exifExposureMode[] |
Initial value:
{ { 0, N_("Auto") }, { 1, N_("Manual") }, { 2, N_("Auto bracket") } }
Referenced by print0xa402().
const TagDetails Exiv2::exifExposureProgram[] |
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") } }
Referenced by print0x8822().
const TagDetails Exiv2::exifFileSource[] |
Initial value:
{ { 1, N_("Film scanner") }, { 2, N_("Reflexion print scanner") }, { 3, N_("Digital still camera") } }
Referenced by print0xa300().
const TagDetails Exiv2::exifFlash[] |
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") } }
const TagDetails Exiv2::exifGainControl[] |
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") } }
Referenced by print0xa407().
const TagDetails Exiv2::exifGPSAltitudeRef[] |
Initial value:
{ { 0, N_("Above sea level") }, { 1, N_("Below sea level") } }
Referenced by print0x0005().
Initial value:
{ { 'K', N_("Kilometers") }, { 'M', N_("Miles") }, { 'N', N_("Knots") } }
Referenced by print0x0019().
const TagDetails Exiv2::exifGPSDifferential[] |
Initial value:
{ { 0, N_("Without correction") }, { 1, N_("Correction applied") } }
Referenced by print0x001e().
const TagDetails Exiv2::exifGPSDirRef[] |
Initial value:
{ { 'T', N_("True direction") }, { 'M', N_("Magnetic direction") } }
Referenced by printGPSDirRef().
const TagDetails Exiv2::exifGPSLatitudeRef[] |
Initial value:
{ { 78, N_("North") }, { 83, N_("South") } }
const TagDetails Exiv2::exifGPSLongitudeRef[] |
Initial value:
{ { 69, N_("East") }, { 87, N_("West") } }
const TagDetails Exiv2::exifGPSMeasureMode[] |
Initial value:
{ { '2', N_("Two-dimensional measurement") }, { '3', N_("Three-dimensional measurement") } }
Referenced by print0x000a().
const TagDetails Exiv2::exifGPSSpeedRef[] |
Initial value:
{ { 'K', N_("km/h") }, { 'M', N_("mph") }, { 'N', N_("knots") } }
Referenced by print0x000c().
const TagDetails Exiv2::exifGPSStatus[] |
Initial value:
{ { 'A', N_("Measurement in progress") }, { 'V', N_("Measurement Interoperability") } }
Referenced by print0x0009().
const TagDetails Exiv2::exifLightSource[] |
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") } }
Referenced by print0x9208().
const TagDetails Exiv2::exifMeteringMode[] |
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") } }
Referenced by print0x9207().
const TagDetails Exiv2::exifNewSubfileType[] |
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") } }
const TagDetails Exiv2::exifNormalSoftHard[] |
Initial value:
{ { 0, N_("Normal") }, { 1, N_("Soft") }, { 2, N_("Hard") } }
Referenced by printNormalSoftHard().
const TagDetails Exiv2::exifOrientation[] |
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") } }
Referenced by print0x0112().
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") } }
const TagDetails Exiv2::exifSaturation[] |
Initial value:
{ { 0, N_("Normal") }, { 1, N_("Low") }, { 2, N_("High") } }
Referenced by print0xa409().
Initial value:
{ { 0, N_("Standard") }, { 1, N_("Landscape") }, { 2, N_("Portrait") }, { 3, N_("Night scene") } }
Referenced by print0xa406().
const TagDetails Exiv2::exifSceneType[] |
Initial value:
{
{ 1, N_("Directly photographed") }
}
Referenced by print0xa301().
const TagDetails Exiv2::exifSensingMethod[] |
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") } }
Referenced by print0xa217().
Initial value:
{ { 0, N_("Unknown") }, { 1, N_("Macro") }, { 2, N_("Close view") }, { 3, N_("Distant view") } }
Referenced by print0xa40c().
const TagDetails Exiv2::exifUnit[] |
Initial value:
{ { 1, N_("none") }, { 2, N_("inch") }, { 3, N_("cm") } }
Referenced by printExifUnit().
const TagDetails Exiv2::exifWhiteBalance[] |
Initial value:
{ { 0, N_("Auto") }, { 1, N_("Manual") } }
Referenced by print0xa403().
Initial value:
{ { 1, N_("Centered") }, { 2, N_("Co-sited") } }
Referenced by print0x0213().