asfvideo.hpp File Reference

An Image subclass to support ASF video files. More...

#include "exiv2lib_export.h"
#include "image.hpp"

Classes

class  Exiv2::AsfVideo
 Class to access ASF video files. More...
 

Namespaces

 Exiv2
 Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of the objects of this namespace.
 
 Exiv2::ImageType
 Supported image formats.
 

Functions

EXIV2LIB_DEPRECATED_EXPORT Image::AutoPtr Exiv2::newAsfInstance (BasicIo::AutoPtr io, bool create)
 Create a new AsfVideo instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
 
EXIV2LIB_DEPRECATED_EXPORT bool Exiv2::isAsfType (BasicIo &iIo, bool advance)
 Check if the file iIo is a Windows Asf Video.
 

Variables

const int Exiv2::ImageType::asf = 24
 Treating asf as an image type>
 

Detailed Description

An Image subclass to support ASF video files.

Author
Abhinav Badola for GSoC 2012 mail.abu.to@gmail.com
Date
08-Aug-12, AB: created
virtual DataBuf * iccProfile()
return iccProfile
Definition: image.hpp:240
virtual Rational toRational(long n=0) const
Convert the n-th component of the value to a Rational. The behaviour of this method may be undefined ...
Definition: value.hpp:1702
EXIV2API Image::AutoPtr newWebPInstance(BasicIo::AutoPtr io, bool create)
Create a new WebPImage instance and return an auto-pointer to it. Caller owns the returned object and...
std::auto_ptr< LangAltValue > AutoPtr
Shortcut for a LangAltValue auto pointer.
Definition: value.hpp:893
EXIV2LIB_DEPRECATED_EXPORT Image::AutoPtr newMkvInstance(BasicIo::AutoPtr io, bool create)
Create a new MatroskaVideo instance and return an auto-pointer to it. Caller owns the returned object...
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...
int minute
Minute.
Definition: value.hpp:1102
const int sr2
SR2 image type (see class TiffImage)
Definition: tiffimage.hpp:44
EXIV2API 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 fo...
XmpData()
Default constructor.
Definition: xmp_exiv2.hpp:169
static const byte com_
JPEG Comment marker.
Definition: jpgimage.hpp:221
Slice (= view) for STL containers.
Definition: slice.hpp:521
Definition: slice.hpp:63
const char * xmpValueType_
XMP value type (for info only)
Definition: properties.hpp:51
EXIV2API Rational parseRational(const std::string &s, bool &ok)
Return a Rational set to the value represented by s.
EXIV2API ExifData::const_iterator afPoint(const ExifData &ed)
Return the AF point.
TypeId getType< uint32_t >()
Specialization for an unsigned long.
Definition: value.hpp:1213
const char * label_
Translation of the tag value.
Definition: matroskavideo.hpp:47
EXIV2API ExifData::const_iterator exposureMode(const ExifData &ed)
Return the exposure mode setting.
Provides binary IO on blocks of memory by implementing the BasicIo interface. A copy-on-write impleme...
Definition: basicio.hpp:540
const int pgf
PGF image type (see class PgfImage)
Definition: pgfimage.hpp:40
virtual int code() const
Return the error code.
Definition: error.hpp:375
static const uint16_t preview_
Photoshop preview marker
Definition: jpgimage.hpp:53
const int crw
CRW image type (see class CrwImage)
Definition: crwimage.hpp:52
ValueType()
Default Constructor.
Definition: value.hpp:1497
const int xmp
XMP sidecar files (see class XmpSidecar)
Definition: xmpsidecar.hpp:38
static const byte sof3_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:225
void unlock()
release rw lock
Definition: rwlock.hpp:129
StringVector::const_iterator StringVector_i
Class to provide a StringVector iterator.
Definition: datasets.hpp:398
std::string xmpPacket_
XMP packet.
Definition: image.hpp:490
std::string Port
URL port.
Definition: futils.hpp:189
Class to provide a ScopedWriteLock. The lock is applied by the constructor and released by the destru...
Definition: rwlock.hpp:172
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 bool isCrwType(BasicIo &iIo, bool advance)
Check if the file iIo is a CRW image.
EXIV2API 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 t...
std::string filter_
Filter.
Definition: image.hpp:54
const int exv
EXV image type (see class ExvImage)
Definition: jpgimage.hpp:40
uint32_t maxbytes_
Maximum number of bytes.
Definition: datasets.hpp:79
EXIV2API int32_t getLong(const byte *buf, ByteOrder byteOrder)
Read a 4 byte signed long value from the data buffer.
EXIV2LIB_DEPRECATED_EXPORT bool isQTimeType(BasicIo &iIo, bool advance)
Check if the file iIo is a Quick Time Video.
const char * prefix_
(Preferred) prefix
Definition: properties.hpp:79
virtual long count() const
Return the number of components of the value.
Definition: value.hpp:1598
byte * pData_
Pointer to the buffer, 0 if none has been allocated.
Definition: types.hpp:258
CharsetId
Character set identifiers for the character sets defined by Exif.
Definition: value.hpp:503
Slice(container &cont, size_t begin, size_t end)
Construct a slice of the container cont starting at begin (including) and ending before end.
Definition: slice.hpp:545
Access to a Exif thumbnail image. This class provides higher level accessors to the thumbnail image t...
Definition: exif.hpp:232
This class provides the public-facing const-qualified methods of a slice.
Definition: slice.hpp:152
IptcData iptcData_
IPTC data container.
Definition: image.hpp:486
std::map< std::string, std::string, LangAltValueComparator > ValueType
Type used to store language alternative arrays.
Definition: value.hpp:962
EXIV2API 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.
Value type for simple arrays. Each item in the array is a simple value, without qualifiers....
Definition: value.hpp:797
std::string prefix_
The prefix string.
Definition: properties.hpp:64
@ tiffFloat
TIFF FLOAT type, single precision (4-byte) IEEE format.
Definition: types.hpp:130
static const byte dht_
JPEG DHT marker.
Definition: jpgimage.hpp:212
ByteOrder byteOrder_
Byte order of the comment string that was read.
Definition: value.hpp:617
static const byte dqt_
JPEG DQT marker.
Definition: jpgimage.hpp:213
static const std::string GEN_FILE_EXT
The extension of the generated file which is created when getting input data to add or modify the met...
Definition: basicio.hpp:772
iterator begin()
Begin of the metadata.
Definition: iptc.hpp:221
Class to access Matroska video files.
Definition: matroskavideo.hpp:56
TagListFct tagList_
Tag list.
Definition: tags.hpp:64
Base class for all Exiv2 values used to store XMP property values.
Definition: value.hpp:624
Provides binary file IO by implementing the BasicIo interface.
Definition: basicio.hpp:296
~ScopedReadLock()
destructor - unlocks the object used in constructor
Definition: rwlock.hpp:161
std::vector< std::string > StringVector
typedef for string vector
Definition: datasets.hpp:390
Utility class that closes a BasicIo instance upon destruction. Meant to be used as a stack variable i...
Definition: basicio.hpp:264
EXIV2API Rational floatToRationalCast(float f)
Very simple conversion of a float to a Rational.
Encoding and decoding of Exif data.
const EXIV2API char * exvGettext(const char *str)
Translate a string using the gettext framework. This wrapper hides all the implementation details fro...
const char * title_
Property title or label.
Definition: properties.hpp:50
Class CrwImage to access Canon CRW images. References: The Canon RAW (CRW) File Format by Phil Harv...
uint64_t val_
Tag value.
Definition: matroskavideo.hpp:46
Simple Time helper structure.
Definition: value.hpp:1097
Position
Seek starting positions.
Definition: basicio.hpp:61
Definition: slice.hpp:608
const_iterator end() const
End of the metadata.
Definition: exif.hpp:505
Class to access raw Canon CRW images. Only Exif metadata and a comment are supported....
Definition: crwimage.hpp:59
Returns an Image instance of the specified type.
Definition: image.hpp:531
Class to access BMFF images.
Definition: bmffimage.hpp:64
Common interface for all types of values used with metadata.
Definition: value.hpp:51
const int tiff
TIFF image type (see class TiffImage)
Definition: tiffimage.hpp:39
StringSet * StringSet_p
typedef for StringSet*
Definition: datasets.hpp:381
Class to access JPEG-2000 images.
Definition: jp2image.hpp:51
const char * desc_
Record description.
Definition: datasets.hpp:53
Slice< container > makeSliceFrom(container &cont, size_t begin)
Return a new slice spanning from begin until the end of the container.
Definition: slice.hpp:693
Class to access RIFF video files.
Definition: riffvideo.hpp:45
void setValue(const Value *pValue)
Set the value. This method copies (clones) the value pointed to by pValue.
Windows Bitmap (BMP) image.
EXIV2API ExifData::const_iterator model(const ExifData &ed)
Return the camera model.
EXIV2API ExifData::const_iterator sceneMode(const ExifData &ed)
Return the scene mode setting.
int ifdId_
IFD id.
Definition: tags.hpp:61
Auxiliary type to enable copies and assignments, similar to std::auto_ptr_ref. See http://www....
Definition: types.hpp:180
EXIV2API bool isTiffType(BasicIo &iIo, bool advance)
Check if the file iIo is a TIFF image.
EXIV2API ExifData::const_iterator subjectDistance(const ExifData &ed)
Return the subject distance.
NativePreviewList nativePreviews_
list of native previews
Definition: image.hpp:493
Value for simple ISO 8601 times.
Definition: value.hpp:1079
EXIV2API bool isMrwType(BasicIo &iIo, bool advance)
Check if the file iIo is a MRW image.
std::vector< uint32_t > Uint32Vector
typedef for uint32_t vector
Definition: datasets.hpp:403
EXIV2API bool isOrfType(BasicIo &iIo, bool advance)
Check if the file iIo is an ORF image.
EXIV2API bool fileExists(const std::string &path, bool ct=false)
Test if a file exists.
EXIV2API std::string ReplaceStringInPlace(std::string subject, const std::string &search, const std::string &replace)
replace each substring of the subject that matches the given search string with the given replacement...
EXIV2API std::string pathOfFileUrl(const std::string &url)
Get the path of file URL.
virtual float toFloat(long n=0) const
Convert the n-th component of the value to a float. The behaviour of this method may be undefined if ...
Definition: value.hpp:1679
const typedef TagInfo *(* TagListFct)()
A function returning a tag list.
Definition: tags.hpp:51
An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate these.
Definition: exif.hpp:59
uint32_t width_
Width.
Definition: image.hpp:52
Slice< const container > subSlice(size_t begin, size_t end) const
Definition: slice.hpp:569
iterator begin()
Definition: slice.hpp:276
const char * ifdName_
IFD name.
Definition: tags.hpp:62
std::auto_ptr< Key > AutoPtr
Shortcut for a Key auto pointer.
Definition: metadatum.hpp:47
ValueType< int16_t > ShortValue
Signed short value type.
Definition: value.hpp:1336
static const byte app2_
JPEG APP2 marker.
Definition: jpgimage.hpp:219
iterator begin()
Begin of the metadata.
Definition: exif.hpp:490
EXIV2API ExifData::const_iterator sceneCaptureType(const ExifData &ed)
Return the scene capture type.
ExifMetadata::const_iterator const_iterator
ExifMetadata const iterator type.
Definition: exif.hpp:439
static const byte app13_
JPEG APP13 marker.
Definition: jpgimage.hpp:220
bool empty() const
Return true if there is no IPTC metadata.
Definition: iptc.hpp:255
ValueType< float > FloatValue
Float value type.
Definition: value.hpp:1342
Stateless parser class for XMP packets. Images use this class to parse and serialize XMP packets....
Definition: xmp_exiv2.hpp:268
EXIV2API void append(Exiv2::Blob &blob, const byte *buf, uint32_t len)
Append len bytes pointed to by buf to blob.
@ undefined
Exif UNDEFINED type, an 8-bit byte that may contain anything.
Definition: types.hpp:126
TypeId getType()
Template to determine the TypeId for a type T.
TypeId typeId() const
Return the type identifier (Exif data format type).
Definition: value.hpp:104
static const byte sof0_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:222
EXIV2LIB_DEPRECATED_EXPORT Image::AutoPtr newEpsInstance(BasicIo::AutoPtr io, bool create)
Create a new EpsImage instance and return an auto-pointer to it. Caller owns the returned object and ...
The details of an Exif group. Groups include IFDs and binary arrays.
Definition: tags.hpp:57
Charset information lookup functions. Implemented as a static class.
Definition: value.hpp:517
const int nef
NEF image type (see class TiffImage)
Definition: tiffimage.hpp:41
int ini_parse(const char *filename, ini_handler handler, void *user)
Parse given INI-style file. May have [section]s, name=value pairs (whitespace stripped),...
EXIV2API bool isRafType(BasicIo &iIo, bool advance)
Check if the file iIo is a RAF image.
std::vector< Xmpdatum > XmpMetadata
Container type to hold all metadata.
Definition: xmp_exiv2.hpp:154
virtual DataBuf dataArea() const
Return a copy of the data area in a DataBuf. The caller owns this copy and DataBuf ensures that it wi...
Definition: value.hpp:1745
EXIV2API uint16_t getUShort(const byte *buf, ByteOrder byteOrder)
Read a 2 byte unsigned short value from the data buffer.
Class to access raw Panasonic RW2 images. Exif metadata is supported directly, IPTC and XMP are read ...
Definition: rw2image.hpp:46
Class to access WEBP video files.
Definition: webpimage.hpp:44
const int cr2
CR2 image type (see class Cr2Image)
Definition: cr2image.hpp:45
std::string comment_
User comment.
Definition: image.hpp:489
Dictionary::const_iterator Dictionary_i
typedef for Dictionary iterator
Definition: datasets.hpp:372
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 ...
static const byte app0_
JPEG APP0 marker.
Definition: jpgimage.hpp:217
Specialization of slices for constant containers.
Definition: slice.hpp:579
EXIV2API void copyExifToXmp(const ExifData &exifData, XmpData &xmpData)
Convert (copy) Exif tags to XMP properties.
EXIV2LIB_DEPRECATED_EXPORT bool isAsfType(BasicIo &iIo, bool advance)
Check if the file iIo is a Windows Asf Video.
std::set< std::string > StringSet
typedef for string set (unique strings)
Definition: datasets.hpp:377
Simple Date helper structure.
Definition: value.hpp:994
XmpArrayType
XMP array types.
Definition: value.hpp:630
EXIV2API Image::AutoPtr newBmffInstance(BasicIo::AutoPtr io, bool create)
Create a new BMFF instance and return an auto-pointer to it. Caller owns the returned object and the ...
Class to access raw Minolta MRW images. Exif metadata is supported directly, IPTC is read from the Ex...
Definition: mrwimage.hpp:45
const int bmp
Windows bitmap (bmp) image type (see class BmpImage)
Definition: bmpimage.hpp:45
EXIV2API void moveXmpToIptc(XmpData &xmpData, IptcData &iptcData)
Convert (move) XMP properties to IPTC tags, remove converted XMP properties.
Exiv2_grep_key_t(std::string pattern, bool bIgnoreCase)
Exiv2_grep_key_t constructor.
Definition: version.hpp:45
@ signedLongLong
Exif LONG LONG type, 64-bit (8-byte) signed integer.
Definition: types.hpp:134
EXIV2API ExifData::const_iterator whiteBalance(const ExifData &ed)
Return the white balance setting.
char(& sizer(T(&)[N]))[N]
Template used in the COUNTOF macro to determine the size of an array.
ValueList value_
The container for all values. In your application, if you know what subclass of Value you're dealing ...
Definition: value.hpp:1316
std::string Path
URL file path.
Definition: futils.hpp:186
XmpFormatFlags
Options to control the format of the serialized XMP packet.
Definition: xmp_exiv2.hpp:271
static const byte sof14_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:233
Details of an IPTC record.
Definition: datasets.hpp:48
@ signedShort
Exif SSHORT type, a 16-bit (2-byte) signed (twos-complement) integer.
Definition: types.hpp:127
EXIV2API uint32_t getULong(const byte *buf, ByteOrder byteOrder)
Read a 4 byte unsigned long value from the data buffer.
Slice< T > makeSlice(T &cont, size_t begin, size_t end)
Return a new slice with the given bounds.
Definition: slice.hpp:665
@ comment
Exiv2 type for the Exif user comment.
Definition: types.hpp:139
const char * code_
Code of the charset.
Definition: value.hpp:513
const char * name_
One word tag label.
Definition: tags.hpp:88
EXIV2API ExifData::const_iterator focalLength(const ExifData &ed)
Return the focal length setting.
Stateless parser class for data in CR2 format. Images use this class to decode and encode CR2 data....
Definition: cr2image.hpp:115
XmpMetadata::iterator iterator
XmpMetadata iterator type.
Definition: xmp_exiv2.hpp:172
iterator unsafeGetIteratorAt(size_t index)
Definition: slice.hpp:461
static const byte sof6_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:227
EXIV2API ExifData::const_iterator meteringMode(const ExifData &ed)
Return the metering mode setting.
@ asciiString
Exif ASCII type, 8-bit byte.
Definition: types.hpp:121
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 ...
EXIV2API ExifData::const_iterator lensName(const ExifData &ed)
Return the name of the lens used.
Native preview information. This is meant to be used only by the PreviewManager.
Definition: image.hpp:49
const char * groupName_
Group name, unique for each group.
Definition: tags.hpp:63
Class to access raw GIF images. Exif/IPTC metadata are supported directly.
Definition: gifimage.hpp:45
ValueType< T > & operator=(const ValueType< T > &rhs)
Assignment operator.
Definition: value.hpp:1540
ScopedReadLock(RWLock &rwlock)
constructor - locks the object
Definition: rwlock.hpp:154
Error class interface. Allows the definition and use of a hierarchy of error classes which can all be...
Definition: error.hpp:174
Information pertaining to the defined character sets.
Definition: value.hpp:506
static const byte app1_
JPEG APP1 marker.
Definition: jpgimage.hpp:218
An IPTC metadatum ("dataset"), consisting of an IptcKey and a Value and methods to manipulate these.
Definition: iptc.hpp:49
EXIV2API bool isXmpType(BasicIo &iIo, bool advance)
Check if the file iIo is an XMP sidecar file.
void setPacket(const std::string &xmpPacket)
setPacket
Definition: xmp_exiv2.hpp:250
const char * name_
Record name (one word)
Definition: datasets.hpp:52
uint32_t height_
Preview image height in pixels or 0 for unknown height.
Definition: preview.hpp:55
Definition: slice.hpp:239
const int mrw
MRW image type (see class MrwImage)
Definition: mrwimage.hpp:38
int month
Month.
Definition: value.hpp:997
std::vector< PreviewProperties > PreviewPropertiesList
Container type to hold all preview images metadata.
Definition: preview.hpp:61
EXIV2API 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.
const int gif
GIF image type (see class GifImage)
Definition: gifimage.hpp:38
EXIV2API std::string versionNumberHexString()
Return the version of Exiv2 as hex string of fixed length 6.
LangAltValueComparator
Definition: value.hpp:861
Value type for XMP language alternative properties.
Definition: value.hpp:890
EXIV2LIB_DEPRECATED_EXPORT bool isEpsType(BasicIo &iIo, bool advance)
Check if the file iIo is a EPS image.
Class of utility functions used by the video code.
Definition: utilsvideo.hpp:33
For comparison with prefix.
Definition: properties.hpp:60
std::string value_
Stores the string values.
Definition: value.hpp:784
const int raf
RAF image type (see class RafImage)
Definition: rafimage.hpp:43
Preview image properties.
Definition: preview.hpp:41
Impl * p_
Pointer to implementation.
Definition: basicio.hpp:1007
Provides the http read/write access for the RemoteIo.
Definition: basicio.hpp:1015
Value type suitable for simple XMP properties and XMP nodes of complex types which are not parsed int...
Definition: value.hpp:715
int ifdId_
Link to the (preferred) IFD.
Definition: tags.hpp:91
std::auto_ptr< StringValueBase > AutoPtr
Shortcut for a StringValueBase auto pointer.
Definition: value.hpp:338
EXIV2API std::string urlencode(const char *str)
Encode the input url.
std::auto_ptr< XmpTextValue > AutoPtr
Shortcut for a XmpTextValue auto pointer.
Definition: value.hpp:718
ExifData exifData_
Exif data container.
Definition: image.hpp:485
@ kerValueTooLarge
Entry::setValue: Value too large.
Definition: error.hpp:218
const_iterator end() const
End of the metadata.
Definition: iptc.hpp:242
static const byte sof5_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:226
iterator end()
End of the metadata.
Definition: exif.hpp:492
EXIV2API bool isRw2Type(BasicIo &iIo, bool advance)
Check if the file iIo is a RW2 image.
EXIV2API long parseLong(const std::string &s, bool &ok)
Return a long set to the value represented by s.
bool repeatable_
True if dataset is repeatable.
Definition: datasets.hpp:77
Information related to an XMP property. An XMP metadatum consists of an XmpKey and a Value and provid...
Definition: xmp_exiv2.hpp:45
EXIV2API ExifData::const_iterator exposureIndex(const ExifData &ed)
Return the exposure index.
EXIV2API long writeFile(const DataBuf &buf, const std::string &path)
Write DataBuf buf to file path.
EXIV2API Rational getRational(const byte *buf, ByteOrder byteOrder)
Read an 8 byte signed rational value from the data buffer.
IPTC dataset reference, implemented as a static class.
Definition: datasets.hpp:86
storage_type< data_type > storage_
Definition: slice.hpp:230
@ unsignedLong
Exif LONG type, 32-bit (4-byte) unsigned integer.
Definition: types.hpp:123
Level
Defined log levels. To suppress all log messages, either set the log level to mute or set the log mes...
Definition: error.hpp:85
Concrete keys for XMP metadata.
Definition: properties.hpp:230
@ tiffIfd8
TIFF IFD type, 64-bit (8-byte) unsigned integer.
Definition: types.hpp:135
bool trywrlock()
test to see if the rw lock can be acquired
Definition: rwlock.hpp:111
T stringTo(const std::string &s, bool &ok)
Utility function to convert a string to a value of type T.
Definition: types.hpp:529
EXIV2API std::string getProcessPath()
Return the path of the current process.
std::string ns_
The namespace string.
Definition: properties.hpp:71
TypeId getType< int32_t >()
Specialization for a signed long.
Definition: value.hpp:1219
ValueType< uint32_t > ULongValue
Unsigned long value type.
Definition: value.hpp:1332
void setTypeSupported(int imageType, uint16_t supportedMetadata)
set type support for this image format
Definition: image.hpp:471
@ tiffDouble
TIFF DOUBLE type, double precision (8-byte) IEEE format.
Definition: types.hpp:131
Class to access ASF video files.
Definition: asfvideo.hpp:49
void clear()
Delete all Iptcdatum instances resulting in an empty container.
Definition: iptc.hpp:215
EXIV2API double getDouble(const byte *buf, ByteOrder byteOrder)
Read an 8 byte double precision floating point value (IEEE 754 binary64) from the data buffer.
int hour
Hour.
Definition: value.hpp:1101
virtual bool iccProfileDefined()
Erase iccProfile. the profile is not removed from the actual image until the writeMetadata() method i...
Definition: image.hpp:235
Class Cr2Image.
Definition: slice.hpp:35
int pixelHeight_
image pixel height
Definition: image.hpp:492
EXIV2API 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 ...
ScopedWriteLock(RWLock &rwlock)
constructor - locks the object
Definition: rwlock.hpp:176
const int psd
Photoshop (PSD) image type (see class PsdImage)
Definition: psdimage.hpp:38
CharsetId charsetId_
Charset id.
Definition: value.hpp:511
Value for an Ascii string type.
Definition: value.hpp:449
const char * desc_
Property description.
Definition: properties.hpp:54
Definition: crwimage.hpp:113
const char * ns_
Namespace.
Definition: properties.hpp:78
Uint32Vector * Uint32Vector_p
typedef for Uint32Vector pointer
Definition: datasets.hpp:407
EXIV2API 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,...
EXIV2LIB_DEPRECATED_EXPORT Image::AutoPtr newRiffInstance(BasicIo::AutoPtr io, bool create)
Create a new RiffVideo instance and return an auto-pointer to it. Caller owns the returned object and...
const Value & value() const
Return a constant reference to the value.
Value for an undefined data type.
Definition: value.hpp:253
Uint32Vector::const_iterator Uint32Vector_i
typedef for Uint32Vector iterator
Definition: datasets.hpp:411
Class to provide a ScopedReadLock. The lock is applied by the constructor and released by the destruc...
Definition: rwlock.hpp:150
const char * name_
Name of the charset.
Definition: value.hpp:512
Details of an IPTC dataset.
Definition: datasets.hpp:57
EXIV2API ExifData::const_iterator sharpness(const ExifData &ed)
Return the sharpness level.
static const byte sof9_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:229
Class to access PNG images. Exif and IPTC metadata are supported directly.
Definition: pngimage.hpp:47
ValueType< URational > URationalValue
Unsigned rational value type.
Definition: value.hpp:1334
RWLock(const pthread_rwlockattr_t *attr=0)
constructor (acquires the lock)
Definition: rwlock.hpp:93
ValueType value_
Map to store the language alternative values. The language qualifier is used as the key for the map e...
Definition: value.hpp:968
bool mandatory_
True if dataset is mandatory.
Definition: datasets.hpp:76
byte * bigBlock_
this is allocated and populated by mmap()
Definition: basicio.hpp:246
size_t size() const
Definition: slice.hpp:98
iterator end()
Definition: slice.hpp:284
EXIV2LIB_DEPRECATED_EXPORT Image::AutoPtr newQTimeInstance(BasicIo::AutoPtr io, bool create)
Create a new QuicktimeVideo instance and return an auto-pointer to it. Caller owns the returned objec...
Type information lookup functions. Implemented as a static class.
Definition: types.hpp:157
std::string mimeType() const
Return the MIME type of the image.
Definition: pgfimage.hpp:77
const int asf
Treating asf as an image type>
Definition: asfvideo.hpp:43
Class to access EPS images.
Definition: epsimage.hpp:59
EXIV2API ExifData::const_iterator macroMode(const ExifData &ed)
Return the macro mode setting.
iterator end()
End of the metadata.
Definition: iptc.hpp:223
TypeId getType< URational >()
Specialization for an unsigned rational.
Definition: value.hpp:1215
Class to access raw Photoshop images.
Definition: psdimage.hpp:44
XmpCategory xmpCategory_
Category (internal or external)
Definition: properties.hpp:53
EXIV2API int http(Exiv2::Dictionary &request, Exiv2::Dictionary &response, std::string &errors)
execute an HTTP request
static void EXIV2API Decode(Uri &uri)
Decode the url components.
virtual std::ostream & write(std::ostream &os) const
Write the value to an output stream. You do not usually have to use this function; it is used for the...
Definition: value.hpp:1616
@ tiffIfd
TIFF IFD type, 32-bit (4-byte) unsigned integer.
Definition: types.hpp:132
long position_
Position.
Definition: image.hpp:50
TypeId getType< double >()
Specialization for a double.
Definition: value.hpp:1225
uint32_t size_
Size.
Definition: image.hpp:51
TypeId getType< int16_t >()
Specialization for a signed short.
Definition: value.hpp:1217
const int jp2
JPEG-2000 image type.
Definition: jp2image.hpp:45
MetadataId
An identifier for each type of metadata.
Definition: types.hpp:108
EXIV2API ExifData::const_iterator flash(const ExifData &ed)
Return the status of flash.
std::auto_ptr< IptcKey > AutoPtr
Shortcut for an IptcKey auto pointer.
Definition: datasets.hpp:278
void rangeCheck(size_t index) const
Definition: slice.hpp:111
Class to access Windows bitmaps. This is just a stub - we only read width and height.
Definition: bmpimage.hpp:52
void rdlock()
acquire rd lock
Definition: rwlock.hpp:117
value_type & unsafeAt(size_t index)
Definition: slice.hpp:445
AutoPtr clone() const
Return an auto-pointer to a copy of itself (deep copy). The caller owns this copy and the auto-pointe...
Definition: value.hpp:110
Definition: slice.hpp:47
@ unsignedRational
Exif RATIONAL type, two LONGs: numerator and denumerator of a fraction.
Definition: types.hpp:124
EXIV2API std::istream & operator>>(std::istream &is, Rational &r)
Input operator for our fake rational.
std::ostream &(* PrintFct)(std::ostream &, const Value &, const ExifData *pExifData)
Type for a function pointer for functions interpreting the tag value.
Definition: tags.hpp:49
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 ...
int(* ini_handler)(void *user, const char *section, const char *name, const char *value)
typedef for prototype of handler function.
Definition: ini.hpp:57
EXIV2API void syncExifWithXmp(ExifData &exifData, XmpData &xmpData)
Detect which metadata are newer and perform a copy in appropriate direction.
Value for string type.
Definition: value.hpp:417
virtual long size() const
Return the size of the value in bytes.
Definition: value.hpp:1604
EXIV2API bool isGifType(BasicIo &iIo, bool advance)
Check if the file iIo is a GIF image.
EXIV2API bool isWebPType(BasicIo &iIo, bool advance)
Check if the file iIo is a WebP Video.
EXIV2API ExifData::const_iterator exposureBiasValue(const ExifData &ed)
Return the exposure bias value.
Information about one XMP property.
Definition: properties.hpp:45
@ invalidTypeId
Invalid type id.
Definition: types.hpp:146
std::string Password
URL password.
Definition: futils.hpp:191
Abstract base class defining the Key of a metadatum. Keys are used to identify and group metadata.
Definition: metadatum.hpp:44
static long typeSize(TypeId typeId)
Return the size in bytes of one element of this type.
uint8_t byte
1 byte unsigned integer type.
Definition: types.hpp:94
EXIV2API int base64encode(const void *data_buf, size_t dataLength, char *result, size_t resultSize)
Encode in base64 the data in data_buf and put the resulting string in result.
EXIV2API void copyXmpToIptc(const XmpData &xmpData, IptcData &iptcData)
Convert (copy) XMP properties to IPTC datasets.
std::auto_ptr< XmpValue > AutoPtr
Shortcut for a XmpValue auto pointer.
Definition: value.hpp:627
EXIV2API ExifData::const_iterator flashBias(const ExifData &ed)
Return the flash bias value.
EXIV2API 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.
Provides remote binary file IO by implementing the BasicIo interface. This is an abstract class....
Definition: basicio.hpp:832
EXIV2API ExifData::const_iterator lightSource(const ExifData &ed)
Return the kind of light source.
iterator unsafeGetIteratorAt(size_t index)
Definition: slice.hpp:389
TypeId typeId_
Type id.
Definition: tags.hpp:93
Class to access raw TARGA images. This is just a stub - we only read width and height.
Definition: tgaimage.hpp:45
DataBufRef(std::pair< byte *, long > rhs)
Constructor.
Definition: types.hpp:182
Image::AutoPtr(* NewInstanceFct)(BasicIo::AutoPtr io, bool create)
Type for function pointer that creates new Image instances.
Definition: image.hpp:522
EXIV2API ExifData::const_iterator dateTimeOriginal(const ExifData &ed)
Return the date and time when the original image data was generated.
int pixelWidth_
image pixel width
Definition: image.hpp:491
std::vector< T > ValueList
Container for values.
Definition: value.hpp:1303
Slice(const T *ptr, size_t begin, size_t end)
Definition: slice.hpp:622
static const byte sof1_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:223
Stateless parser class for data in ORF format. Images use this class to decode and encode ORF data....
Definition: orfimage.hpp:102
~ScopedWriteLock()
destructor - unlocks the object used in constructor
Definition: rwlock.hpp:183
bool good() const
Check if the Image instance is valid. Use after object construction.
virtual std::ostream & write(std::ostream &os) const =0
Write the value to an output stream. You do not usually have to use this function; it is used for the...
EXIV2LIB_DEPRECATED_EXPORT bool isMkvType(BasicIo &iIo, bool advance)
Check if the file iIo is a Matroska Video.
EXIV2API char * urldecode(const char *str)
Decode the input url.
@ xmpBag
XMP bag type.
Definition: types.hpp:143
EXIV2API std::ostream & operator<<(std::ostream &os, const DataSet &dataSet)
Output operator for dataSet.
BasicIo & bio_
The BasicIo reference.
Definition: basicio.hpp:282
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 ...
static void encode(Blob &blob, ByteOrder byteOrder, const ExifData &exifData)
Encode metadata from the provided metadata to Exif format.
Definition: exif.hpp:614
int16_t count_
The number of values (not bytes!), 0=any, -1=count not known.
Definition: tags.hpp:94
virtual std::ostream & write(std::ostream &os, const ExifData *pMetadata=0) const =0
Write the interpreted value to an output stream, return the stream.
const size_t begin_
Definition: slice.hpp:122
EXIV2API uint64_t getULongLong(const byte *buf, ByteOrder byteOrder)
Read a 8 byte unsigned long value from the data buffer.
Utility class containing a character array. All it does is to take care of memory allocation and dele...
Definition: types.hpp:193
static const std::string TEMP_FILE_EXT
The extension of the temporary file which is created when getting input data to read metadata....
Definition: basicio.hpp:767
@ unsignedByte
Exif BYTE type, 8-bit unsigned integer.
Definition: types.hpp:120
const int qtime
Treating qtime as an image type>
Definition: quicktimevideo.hpp:39
TypeId typeId_
Exiv2 default type for the property.
Definition: properties.hpp:52
const value_type & unsafeAt(size_t index) const
Definition: slice.hpp:373
EXIV2API ExifData::const_iterator flashEnergy(const ExifData &ed)
Return the flash energy.
@ signedByte
Exif SBYTE type, an 8-bit signed (twos-complement) integer.
Definition: types.hpp:125
std::set< std::string >::const_iterator StringSet_i
Class to provide a StringSet iterator.
Definition: datasets.hpp:385
value_type & at(size_t index)
Definition: slice.hpp:261
static const byte sof2_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:224
Concrete keys for Exif metadata and access to Exif tag reference data.
Definition: tags.hpp:140
int PreviewId
Type of preview image.
Definition: preview.hpp:36
std::string toString() const
Return the value as a string. Implemented in terms of write(std::ostream& os) const of the concrete c...
EXIV2API URational getURational(const byte *buf, ByteOrder byteOrder)
Read an 8 byte unsigned rational value from the data buffer.
int tzMinute
Minutes ahead or behind UTC.
Definition: value.hpp:1105
long size_
The current size of the buffer.
Definition: types.hpp:260
Dictionary * Dictionary_p
typedef for Dictionary*
Definition: datasets.hpp:368
const char * title_
Dataset title or label.
Definition: datasets.hpp:74
Class to access raw Canon CR2 images. Exif metadata is supported directly, IPTC is read from the Exif...
Definition: cr2image.hpp:52
const T * find(T(&src)[N], const K &key)
Find an element that matches key in the array src.
Definition: types.hpp:497
~RWLock()
constructor (releases lock)
Definition: rwlock.hpp:99
EXIV2LIB_DEPRECATED_EXPORT Image::AutoPtr newAsfInstance(BasicIo::AutoPtr io, bool create)
Create a new AsfVideo instance and return an auto-pointer to it. Caller owns the returned object and ...
std::auto_ptr< ExifKey > AutoPtr
Shortcut for an ExifKey auto pointer.
Definition: tags.hpp:143
const int mkv
Treating mkv as an image type>
Definition: matroskavideo.hpp:38
@ langAlt
XMP language alternative type.
Definition: types.hpp:145
Abstract base class defining the interface to access information related to one metadata tag.
Definition: metadatum.hpp:115
EXIV2LIB_DEPRECATED_EXPORT bool isRiffType(BasicIo &iIo, bool advance)
Check if the file iIo is a Riff Video.
Protocol
the collection of protocols.
Definition: futils.hpp:38
bool bIgnoreCase_
should we ignore cast in the match?
Definition: version.hpp:52
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 ...
Definition: bmffimage.hpp:40
EXIV2API long base64decode(const char *in, char *out, size_t out_size)
Decode base64 data and put the resulting string in out.
long count() const
Get the number of metadata entries.
Definition: exif.hpp:514
Class to access JPEG images.
Definition: jpgimage.hpp:289
@ unsignedShort
Exif SHORT type, 16-bit (2-byte) unsigned integer.
Definition: types.hpp:122
XmpStruct
XMP structure indicator.
Definition: value.hpp:632
static const byte eoi_
JPEG EOI marker.
Definition: jpgimage.hpp:216
EXIV2API ExifData::const_iterator orientation(const ExifData &ed)
Return the orientation of the image.
const int bmff
BMFF (bmff) image type (see class BMFF)
Definition: bmffimage.hpp:58
std::map< std::string, XmpNsInfo > NsRegistry
Type for the namespace registry.
Definition: properties.hpp:211
Value for an Exif comment.
Definition: value.hpp:500
EXIV2API ExifData::const_iterator fNumber(const ExifData &ed)
Return the F number.
EXIV2API bool isCr2Type(BasicIo &iIo, bool advance)
Check if the file iIo is a CR2 image.
int imageType() const
set type support for this image format
Definition: image.hpp:480
bool tryrdlock()
test to see if the rd lock can be acquired
Definition: rwlock.hpp:123
Class to access PGF images. Exif and IPTC metadata are supported directly.
Definition: pgfimage.hpp:47
EXIV2API ExifData::const_iterator exposureTime(const ExifData &ed)
Return the exposure time.
void(* XmpLockFct)(void *pLockData, bool lockUnlock)
Lock/unlock function type.
Definition: xmp_exiv2.hpp:326
EXIV2API void copyXmpToExif(const XmpData &xmpData, ExifData &exifData)
Convert (copy) XMP properties to Exif tags.
bool ok_
Indicates the status of the previous to<Type> conversion.
Definition: value.hpp:236
EXIV2API ExifData::const_iterator subjectArea(const ExifData &ed)
Return the subject location and area.
Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of ...
Definition: asfvideo.hpp:36
Class to access raw Fujifilm RAF images. Exif metadata is supported directly, IPTC is read from the E...
Definition: rafimage.hpp:50
virtual long copy(byte *buf, ByteOrder byteOrder) const
Write value to a data buffer.
Definition: value.hpp:1587
A container for XMP data. This is a top-level class of the Exiv2 library.
Definition: xmp_exiv2.hpp:166
std::pair< int32_t, int32_t > Rational
8 byte signed rational type.
Definition: types.hpp:99
const char * desc_
Dataset description.
Definition: datasets.hpp:75
@ signedLong
Exif SLONG type, a 32-bit (4-byte) signed (twos-complement) integer.
Definition: types.hpp:128
const_iterator cbegin() const
Definition: slice.hpp:187
EXIV2API ExifData::const_iterator apertureValue(const ExifData &ed)
Return the aperture value.
Exif and IPTC conversions to and from XMP.
slice_type subSlice(size_t begin, size_t end) const
Definition: slice.hpp:209
std::vector< Iptcdatum > IptcMetadata
Container type to hold all metadata.
Definition: iptc.hpp:157
TypeId
Exiv2 value type identifiers.
Definition: types.hpp:119
void rdunlock()
unlock rd lock
Definition: rwlock.hpp:135
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 ...
const int pef
PEF image type (see class TiffImage)
Definition: tiffimage.hpp:42
ValueType< uint16_t > UShortValue
Unsigned short value type.
Definition: value.hpp:1330
Class to access XMP sidecar files. They contain only XMP metadata.
Definition: xmpsidecar.hpp:44
uint32_t width_
Preview image width in pixels or 0 for unknown width.
Definition: preview.hpp:53
EXIV2API ExifData::const_iterator make(const ExifData &ed)
Return the camera make.
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 ...
const int none
Not an image.
Definition: image.hpp:45
const int webp
Treating webp as an image type>
Definition: webpimage.hpp:38
EXIV2API ExifData::const_iterator brightnessValue(const ExifData &ed)
Return the brightness value.
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 ...
TypeId getType< uint16_t >()
Specialization for an unsigned short.
Definition: value.hpp:1211
Structure mapping XMP namespaces and (preferred) prefixes.
Definition: properties.hpp:58
T getValue(const byte *buf, ByteOrder byteOrder)
Read a value of type T from the data buffer.
Definition: value.hpp:1363
TypeId getType< float >()
Specialization for a float.
Definition: value.hpp:1223
EXIV2API bool isTgaType(BasicIo &iIo, bool advance)
Check if the file iIo is a Targa v2 image.
Stateless parser class for data in TIFF format. Images use this class to decode and encode TIFF data....
Definition: tiffimage.hpp:130
Class to access TIFF images. Exif metadata is supported directly, IPTC is read from the Exif data,...
Definition: tiffimage.hpp:52
Xmpdatum & operator=(const Xmpdatum &rhs)
Assignment operator.
int second
Second.
Definition: value.hpp:1103
EXIV2API float getFloat(const byte *buf, ByteOrder byteOrder)
Read a 4 byte single precision floating point value (IEEE 754 binary32) from the data buffer.
EXIV2API void moveExifToXmp(ExifData &exifData, XmpData &xmpData)
Convert (move) Exif tags to XMP properties, remove converted Exif tags.
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 ...
@ signedRational
Exif SRATIONAL type, two SLONGs: numerator and denumerator of a fraction.
Definition: types.hpp:129
Abstract helper base class to access JPEG images.
Definition: jpgimage.hpp:132
std::ostream & write(std::ostream &os) const
Write the key to an output stream. You do not usually have to use this function; it is used for the i...
Definition: metadatum.hpp:86
bool operator()(const std::string &str1, const std::string &str2) const
LangAltValueComparator comparison case insensitive function.
Definition: value.hpp:863
uint32_t height_
Height.
Definition: image.hpp:53
virtual int read(const byte *buf, long len, ByteOrder byteOrder=invalidByteOrder)
Read the value from a character buffer.
Definition: slice.hpp:86
static const byte sof13_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:232
bool usePacket(bool b)
set usePacket_
Definition: xmp_exiv2.hpp:248
uint16_t number_
Dataset number.
Definition: datasets.hpp:72
Tag information.
Definition: tags.hpp:74
exv_grep_key_t is a simple string and the ignore flag
Definition: version.hpp:41
std::auto_ptr< TimeValue > AutoPtr
Shortcut for a TimeValue auto pointer.
Definition: value.hpp:1082
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.
long toData(byte *buf, T t, ByteOrder byteOrder)
Convert a value of type T to data, write the data to the data buffer.
EXIV2API float parseFloat(const std::string &s, bool &ok)
Return a float set to the value represented by s.
bool operator==(uint64_t key) const
Comparison operator for use with the find template.
Definition: matroskavideo.hpp:50
const int orf
ORF image type (see class OrfImage)
Definition: orfimage.hpp:38
TypeId type_
Exiv2 default type.
Definition: datasets.hpp:80
Definition: slice.hpp:348
Provides easy (high-level) access to some Exif meta data.
const char * desc_
Brief description of the namespace.
Definition: properties.hpp:81
EXIV2API ExifData::const_iterator imageQuality(const ExifData &ed)
Return the image quality setting.
uint32_t minbytes_
Minimum number of bytes.
Definition: datasets.hpp:78
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...
Helper class to access Exiv2 files.
Definition: jpgimage.hpp:350
const EXIV2API char * version()
Return the version of Exiv2 as "C" string eg "0.27.0.2".
virtual void populateFakeData()
Mark all the bNone blocks to bKnow. This avoids allocating memory for parts of the file that contain ...
Definition: basicio.hpp:241
EXIV2API bool convertStringCharset(std::string &str, const char *from, const char *to)
Convert character encoding of str from from to to. If the function succeeds, str contains the result ...
EXIV2API void dumpLibraryInfo(std::ostream &os, const exv_grep_keys_t &keys)
dumpLibraryInfo implements the exiv2 option –version –verbose used by exiv2 test suite to inspect lib...
Class to access QuickTime video files.
Definition: quicktimevideo.hpp:45
XmpMetadata::const_iterator const_iterator
XmpMetadata const iterator type.
Definition: xmp_exiv2.hpp:174
Class to provide a Read-Write Lock.
Definition: rwlock.hpp:89
EXIV2API 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.
const int jpeg
JPEG image type (see class JpegImage)
Definition: jpgimage.hpp:39
Class that holds preview image properties and data buffer.
Definition: preview.hpp:66
IptcMetadata::iterator iterator
IptcMetadata iterator type.
Definition: iptc.hpp:173
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 an...
Stateless parser class for IPTC data. Images use this class to decode and encode binary IPTC data.
Definition: iptc.hpp:281
EXIV2API 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 ...
std::auto_ptr< CommentValue > AutoPtr
Shortcut for a CommentValue auto pointer.
Definition: value.hpp:540
EXIV2API void moveIptcToXmp(IptcData &iptcData, XmpData &xmpData, const char *iptcCharset=0)
Convert (move) IPTC datasets to XMP properties, remove converted IPTC datasets.
BasicIo::AutoPtr io_
Image data IO pointer.
Definition: image.hpp:484
ByteOrder
Type to express the byte order (little or big endian)
Definition: types.hpp:102
@ time
IPTC time type.
Definition: types.hpp:138
virtual ~BasicError()
Virtual destructor. (Needed because of throw())
Definition: error.hpp:370
const value_type & at(size_t index) const
Definition: slice.hpp:174
DataBuf iccProfile_
ICC buffer (binary data)
Definition: image.hpp:488
PtrSliceStorage(storage_type ptr, size_t, size_t)
Definition: slice.hpp:431
@ date
IPTC date type.
Definition: types.hpp:137
ConstSliceBase< storage_type, const data_type > to_const_base() const
Definition: slice.hpp:307
EXIV2API std::string getEnv(int env_var)
Return the value of environmental variable.
bool empty() const
Return true if there is no Exif metadata.
Definition: exif.hpp:512
bool usePacket() const
are we to use the packet?
Definition: xmp_exiv2.hpp:245
char *(* ini_reader)(char *str, int num, void *stream)
Typedef for prototype of fgets-style reader function.
Definition: ini.hpp:61
AccessMode
An identifier for each mode of metadata support.
Definition: types.hpp:111
static NsRegistry nsRegistry_
Namespace registry.
Definition: properties.hpp:218
Simple error class used for exceptions. An output operator is provided to print errors to a stream.
Definition: error.hpp:264
std::string extension_
Preview image extension.
Definition: preview.hpp:45
const char * name_
Property name.
Definition: properties.hpp:49
Slice< container > makeSliceUntil(container &cont, size_t end)
Return a new slice spanning until end.
Definition: slice.hpp:702
MutableSliceBase(data_type &data, size_t begin, size_t end)
Definition: slice.hpp:250
const int dng
DNG image type (see class TiffImage)
Definition: tiffimage.hpp:40
int ini_parse_file(FILE *file, ini_handler handler, void *user)
Same as ini_parse(), but takes a FILE* instead of filename. This doesn't close the file when it's fin...
std::auto_ptr< Image > AutoPtr
Image auto_ptr type.
Definition: image.hpp:81
EnVar
the name of environmental variables.
Definition: futils.hpp:32
Abstract base class for a string based Value type.
Definition: value.hpp:335
std::auto_ptr< XmpArrayValue > AutoPtr
Shortcut for a XmpArrayValue auto pointer.
Definition: value.hpp:800
Value for simple ISO 8601 dates
Definition: value.hpp:978
EXIV2API Protocol fileProtocol(const std::string &path)
Return the protocol of the path.
virtual int read(const byte *buf, long len, ByteOrder byteOrder)
Read the value from a character buffer.
Definition: value.hpp:1559
EXIV2API 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.
virtual ~IoCloser()
Destructor, closes the BasicIo reference.
Definition: basicio.hpp:271
PrintFct printFct_
Pointer to tag print function.
Definition: tags.hpp:95
TypeId getType< Rational >()
Specialization for a signed rational.
Definition: value.hpp:1221
const char * desc_
Short tag description.
Definition: tags.hpp:90
static const byte sof11_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:231
static const byte sof15_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:234
Read an INI file into easy-to-access name/value pairs. (Note that I've gone for simplicity here rathe...
Definition: ini.hpp:157
IntType gcd(IntType n, IntType m)
Return the greatest common denominator of n and m. (Implementation from Boost rational....
Definition: types.hpp:559
ValueType< Rational > RationalValue
Signed rational value type.
Definition: value.hpp:1340
const int riff
Treating riff as an image type>
Definition: riffvideo.hpp:39
std::auto_ptr< XmpKey > AutoPtr
Shortcut for an XmpKey auto pointer.
Definition: properties.hpp:234
std::auto_ptr< BasicIo > AutoPtr
BasicIo auto_ptr type.
Definition: basicio.hpp:58
std::pair< uint32_t, uint32_t > URational
8 byte unsigned rational type.
Definition: types.hpp:97
EPS image. References: [1] Adobe PostScript Language Document Structuring Conventions Specification...
For comparison with namespace.
Definition: properties.hpp:67
Provides binary IO for the data from stdin and data uri path.
Definition: basicio.hpp:761
std::string Host
URL host.
Definition: futils.hpp:188
std::auto_ptr< StringValue > AutoPtr
Shortcut for a StringValue auto pointer.
Definition: value.hpp:420
virtual long sizeDataArea() const
Return the size of the data area.
Definition: value.hpp:1739
BasicError< char > Error
Error class used for exceptions (std::string based)
Definition: error.hpp:324
EXIV2API void moveXmpToExif(XmpData &xmpData, ExifData &exifData)
Convert (move) XMP properties to Exif tags, remove converted XMP properties.
std::string pattern_
simple string to match
Definition: version.hpp:49
Concrete keys for IPTC metadata.
Definition: datasets.hpp:275
uint16_t recordId_
Record id.
Definition: datasets.hpp:81
EXIV2API long d2Data(byte *buf, double d, ByteOrder byteOrder)
Convert a double precision floating point (IEEE 754 binary64) double to data, write the data to the b...
EXIV2API ExifData::const_iterator sensingMethod(const ExifData &ed)
Return the image sensor type.
@ xmpText
XMP text type.
Definition: types.hpp:141
A container for IPTC data. This is a top-level class of the Exiv2 library.
Definition: iptc.hpp:170
Slice subSlice(size_t begin, size_t end)
Definition: slice.hpp:559
uint16_t recordId_
Record id.
Definition: datasets.hpp:51
ValueType< int32_t > LongValue
Signed long value type.
Definition: value.hpp:1338
std::auto_ptr< ValueType< T > > AutoPtr
Shortcut for a ValueType<T> auto pointer.
Definition: value.hpp:1238
StringVector * StringVector_p
typedef for StringVector pointer
Definition: datasets.hpp:394
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 ...
std::vector< NativePreview > NativePreviewList
List of native previews. This is meant to be used only by the PreviewManager.
Definition: image.hpp:59
@ unsignedLongLong
Exif LONG LONG type, 64-bit (8-byte) unsigned integer.
Definition: types.hpp:133
static const byte dri_
JPEG DRI marker.
Definition: jpgimage.hpp:214
EXIV2API 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.
EXIV2API std::string versionString()
Return the version string Example: "0.25.0" (major.minor.patch)
const int tga
Truevision TARGA (tga) image type (see class TgaImage)
Definition: tgaimage.hpp:38
EXIV2API bool isExvType(BasicIo &iIo, bool advance)
Check if the file iIo is an EXV file.
const int arw
ARW image type (see class TiffImage)
Definition: tiffimage.hpp:43
const int rw2
RW2 image type (see class Rw2Image)
Definition: rw2image.hpp:38
EXIV2API ExifData::const_iterator serialNumber(const ExifData &ed)
Return the camera serial number.
EXIV2API std::string strError()
Return a system error message and the error code (errno). See strerror(3).
uint16_t tag_
Tag.
Definition: tags.hpp:87
ContainerStorage(container &data, size_t, size_t end)
Definition: slice.hpp:360
std::vector< T >::iterator iterator
Iterator type defined for convenience.
Definition: value.hpp:1305
EXIV2API long f2Data(byte *buf, float f, ByteOrder byteOrder)
Convert a single precision floating point (IEEE 754 binary32) float to data, write the data to the bu...
Implementation of the storage concept for slices of C arrays.
Definition: slice.hpp:419
EXIV2API ExifData::const_iterator isoSpeed(const ExifData &ed)
Return the ISO speed used to shoot the image.
std::map< std::string, std::string > Dictionary
typedef for string:string map
Definition: datasets.hpp:364
std::string mimeType_
Preview image mime type.
Definition: preview.hpp:43
std::vector< T >::const_iterator const_iterator
Const iterator type defined for convenience.
Definition: value.hpp:1307
EXIV2API DataBuf readFile(const std::string &path)
Read file path into a DataBuf, which is returned.
@ directory
Exiv2 type for a CIFF directory.
Definition: types.hpp:140
const_iterator cend() const
Definition: slice.hpp:195
Definition: slice.hpp:57
Stateless parser class for data in RW2 format. Images use this class to decode and encode RW2 data....
Definition: rw2image.hpp:114
int sectionId_
Section id.
Definition: tags.hpp:92
PrintStructureOption
Options for printStructure.
Definition: image.hpp:64
EXIV2API int16_t getShort(const byte *buf, ByteOrder byteOrder)
Read a 2 byte signed short value from the data buffer.
EXIV2API bool isPgfType(BasicIo &iIo, bool advance)
Check if the file iIo is a PGF image.
@ kerDataAreaValueTooLarge
Entry::setDataArea: Value too large.
Definition: error.hpp:220
std::string QueryString
URL query string.
Definition: futils.hpp:185
virtual const char * what() const
Return the error message as a C-string. The pointer returned by what() is valid only as long as the B...
Definition: error.hpp:381
EXIV2API bool isPsdType(BasicIo &iIo, bool advance)
Check if the file iIo is a Photoshop image.
EXIV2API bool isBmffType(BasicIo &iIo, bool advance)
Check if the file iIo is a BMFF image.
bool stringTo< bool >(const std::string &s, bool &ok)
Specialization of stringTo(const std::string& s, bool& ok) for bool.
Class for extracting preview images from image metadata.
Definition: preview.hpp:161
std::string g_
Group name.
Definition: tags.hpp:70
@ xmpSeq
XMP sequence type.
Definition: types.hpp:144
int ini_parse_stream(ini_reader reader, void *stream, ini_handler handler, void *user)
Same as ini_parse(), but takes an ini_reader function pointer instead of filename....
IPTC dataset and type information.
EXIV2API 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 ...
Class for a log message, used by the library. Applications can set the log level and provide a custom...
Definition: error.hpp:75
PreviewId id_
Identifies type of preview image.
Definition: preview.hpp:57
std::auto_ptr< DateValue > AutoPtr
Shortcut for a DateValue auto pointer.
Definition: value.hpp:981
Helper structure for the Matroska tags lookup table.
Definition: matroskavideo.hpp:45
std::string toString(const T &arg)
Utility function to convert the argument of any type to a string.
Definition: types.hpp:510
static Exiv2::RWLock rwLock_
lock to be used while modifying properties
Definition: properties.hpp:199
ErrorCode
Complete list of all Exiv2 error codes.
Definition: error.hpp:191
virtual int setDataArea(const byte *buf, long len)
Set the data area. This method copies (clones) the buffer pointed to by buf.
Definition: value.hpp:1751
static const uint16_t iptc_
Photoshop IPTC marker
Definition: jpgimage.hpp:52
EXIV2API 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 ...
@ lastTypeId
Last type id.
Definition: types.hpp:147
const int png
PNG image type (see class PngImage)
Definition: pngimage.hpp:40
int tzHour
Hours ahead or behind UTC.
Definition: value.hpp:1104
std::string value_
Stores the string value.
Definition: value.hpp:406
static const byte sof10_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:230
static const byte sof7_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:228
Definition: slice.hpp:639
const XmpPropertyInfo * xmpPropertyInfo_
List of known properties.
Definition: properties.hpp:80
ExifMetadata::iterator iterator
ExifMetadata iterator type.
Definition: exif.hpp:437
Template for a Value of a basic type. This is used for unsigned and signed short, long and rationals.
Definition: value.hpp:1235
bool ok() const
Check the ok status indicator. After a to<Type> conversion, this indicator shows whether the conversi...
Definition: value.hpp:188
Helper class, has methods to deal with Photoshop "Information Resource Blocks" (IRBs).
Definition: jpgimage.hpp:47
std::auto_ptr< DataValue > AutoPtr
Shortcut for a DataValue auto pointer.
Definition: value.hpp:256
An interface for simple binary IO.
Definition: basicio.hpp:55
long count() const
Get the number of metadata entries.
Definition: iptc.hpp:257
@ xmpAlt
XMP alternative type.
Definition: types.hpp:142
int day
Day.
Definition: value.hpp:998
XmpData xmpData_
XMP data container.
Definition: image.hpp:487
void wrunlock()
unlock rw lock
Definition: rwlock.hpp:138
std::string Username
URL username.
Definition: futils.hpp:190
const char * title_
Tag title.
Definition: tags.hpp:89
XMP property reference, implemented as a static class.
Definition: properties.hpp:85
Value & operator=(const Value &rhs)
Assignment operator. Protected so that it can only be used by subclasses but not directly.
int year
Year.
Definition: value.hpp:996
Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...
Definition: image.hpp:78
EXIV2API bool isJp2Type(BasicIo &iIo, bool advance)
Check if the file iIo is a JPEG-2000 image.
Access to Exif group and tag lists and misc. tag reference methods, implemented as a static class.
Definition: tags.hpp:99
WriteMethod
Type to indicate write method used by TIFF parsers.
Definition: types.hpp:105
void wrlock()
acquire rw lock
Definition: rwlock.hpp:105
Stateless parser class for Exif data. Images use this class to decode and encode binary Exif data.
Definition: exif.hpp:529
EXIV2API void copyIptcToXmp(const IptcData &iptcData, XmpData &xmpData, const char *iptcCharset=0)
Convert (copy) IPTC datasets to XMP properties.
std::basic_string< charT > toBasicString(const T &arg)
Generalised toString function.
Definition: error.hpp:160
EXIV2API bool isBmpType(BasicIo &iIo, bool advance)
Check if the file iIo is a Windows Bitmap image.
std::string mimeType_
MIME type.
Definition: image.hpp:55
bool(* IsThisTypeFct)(BasicIo &iIo, bool advance)
Type for function pointer that checks image types.
Definition: image.hpp:524
ValueType< double > DoubleValue
Double value type.
Definition: value.hpp:1344
const int srw
SRW image type (see class TiffImage)
Definition: tiffimage.hpp:45
BasicError(ErrorCode code)
Constructor taking only an error code.
Definition: error.hpp:337
XmpCategory
Category of an XMP property.
Definition: properties.hpp:42
Access and modify an Exif thumbnail image. This class implements manipulators to set and erase the th...
Definition: exif.hpp:301
virtual ~ValueType()
Virtual destructor.
Definition: value.hpp:1534
std::pair< byte *, long > p
Pointer to a byte array and its size.
Definition: types.hpp:184
std::list< Exifdatum > ExifMetadata
Container type to hold all metadata.
Definition: exif.hpp:420
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...
std::auto_ptr< Value > AutoPtr
Shortcut for a Value auto pointer.
Definition: value.hpp:54
static Uri EXIV2API Parse(const std::string &uri)
Parse the input URL to the protocol, host, path, username, password.
static const byte sos_
JPEG SOS marker.
Definition: jpgimage.hpp:215
EXIV2API ExifData::const_iterator saturation(const ExifData &ed)
Return the saturation level.
virtual long toLong(long n=0) const
Convert the n-th component of the value to a long. The behaviour of this method may be undefined if t...
Definition: value.hpp:1636
EXIV2API ExifData::const_iterator contrast(const ExifData &ed)
Return the contrast level.
EXIV2API ExifData::const_iterator shutterSpeedValue(const ExifData &ed)
Return the shutter speed value.
EXIV2API ExifData::const_iterator maxApertureValue(const ExifData &ed)
Return the max aperture value.
std::string Protocol
URL protocol.
Definition: futils.hpp:187
const char * name_
Dataset name.
Definition: datasets.hpp:73
Error class for exceptions, log message class.
const char * errMsg(int code)
Return the error message for the error with code code.
std::vector< byte > Blob
Container for binary data.
Definition: types.hpp:151
A container for URL components. It also provides the method to parse a URL to get the protocol,...
Definition: futils.hpp:181
Class to access raw Olympus ORF images. Exif metadata is supported directly, IPTC is read from the Ex...
Definition: orfimage.hpp:45
virtual int read(const std::string &buf)
Read the value from buf. This default implementation uses buf as it is.
std::auto_ptr< AsciiValue > AutoPtr
Shortcut for a AsciiValue auto pointer.
Definition: value.hpp:452
ConstSliceBase(data_type &data, size_t begin, size_t end)
Definition: slice.hpp:163
slice_type subSlice(size_t begin, size_t end)
Definition: slice.hpp:323
Encoding and decoding of IPTC data.
const int eps
EPS image type.
Definition: epsimage.hpp:53
EXIV2API bool isJpegType(BasicIo &iIo, bool advance)
Check if the file iIo is a JPEG image.
EXIV2API int versionNumber()
Return the version of Exiv2 available at runtime as an integer.
A container for Exif data. This is a top-level class of the Exiv2 library. The container holds Exifda...
Definition: exif.hpp:434
EXIV2API bool isPngType(BasicIo &iIo, bool advance)
Check if the file iIo is a PNG image.
IptcMetadata::const_iterator const_iterator
IptcMetadata const iterator type.
Definition: iptc.hpp:175
const char * photoshop_
Photoshop string.
Definition: datasets.hpp:82