An Image subclass to support ASF video files.
More...
#include "exif.hpp"
#include "image.hpp"
#include "tags_int.hpp"
|
| 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.
|
|
|
EXIV2API 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.
|
|
EXIV2API bool | Exiv2::isAsfType (BasicIo &iIo, bool advance) |
| Check if the file iIo is a Windows Asf Video.
|
|
An Image subclass to support ASF video files.
- Version
- $Rev$
- Author
- Abhinav Badola for GSoC 2012 mail.abu.to@gmail.com
- Date
- 08-Aug-12, AB: created
void setGo(GoEvent event, bool go)
Set the stop/go flag: true for go, false for stop.
Definition: tiffvisitor.cpp:97
const ArrayCfg sony1MCsnCfg
Sony Minolta Camera Settings (new) binary array - configuration.
const TagDetails sonyFocusModeA100[]
Lookup table to translate Sony A100 camera settings focus mode values to readable labels.
An Image subclass to support Quick Time video files.
const TagDetails casio2ArtMode[]
Art Mode, tag 0x301b.
int putb(byte data)
Wraps the corresponding BasicIo::putb() method.
Definition: tiffcomposite.cpp:82
bool overwrite() const
Get the value of the overwrite flag, see also setOverwrite(bool on).
Definition: convert.cpp:290
const TagDetails samsung2LensType[]
LensType, tag 0xa003.
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:1701
std::auto_ptr< LangAltValue > AutoPtr
Shortcut for a LangAltValue auto pointer.
Definition: value.hpp:912
virtual ~TiffVisitor()
Virtual destructor.
Definition: tiffvisitor.cpp:93
int pixelHeight() const
Return the pixel height of the image.
Definition: orfimage.cpp:75
Internal Pimpl structure of class MemIo.
Definition: basicio.cpp:1095
static const TagInfo * tagListRd2()
Return read-only list of built-in Olympus Raw Development 2 tags.
Definition: olympusmn.cpp:912
void cnvNone(const char *, const char *)
Do nothing conversion function.
Definition: convert.cpp:476
const TagDetails sonyMeteringMode[]
Lookup table to translate Sony camera settings metering mode values to readable labels.
uint32_t writeData(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t &imageIdx) const
Write the IFD data of this component to a binary image. Return the number of bytes written....
Definition: tiffcomposite.cpp:1463
static const TagInfo * tagListCb2a()
Return read-only list of built-in Color Balance 2a tags.
Definition: nikonmn.cpp:1299
const TagDetails nikonOffOn2[]
VibrationReduction.
virtual float toFloat(long n=0) const
Return the value as a UNIX calender time converted to float.
Definition: value.cpp:1036
const TagDetails minoltaColorSpace5D[]
Lookup table to translate Minolta Dynax 5D camera settings color space values to readable labels.
void accept(TiffVisitor &visitor)
Interface to accept visitors (Visitor pattern). Visitors can perform operations on all components of ...
Definition: tiffcomposite.cpp:885
const TagDetails sonyMonitorDisplayOffA100[]
Lookup table to translate Sony A100 camera settings monitor display off values to readable labels.
Encoding and decoding of XMP data.
void updateValue(Value::AutoPtr value, ByteOrder byteOrder)
Update the value. Takes ownership of the pointer passed in.
Definition: tiffcomposite.cpp:376
virtual void visitDataEntry(TiffDataEntry *object)
Read a TIFF data entry from the data buffer.
Definition: tiffvisitor.cpp:1203
Interface for a standard TIFF IFD entry consisting of a value which is a set of offsets to a data are...
Definition: tiffcomposite_int.hpp:600
const TagDetails exifColorSpace[]
ColorSpace, tag 0xa001.
int errcnt() const
Total number of errors returned by calls to option()
Definition: utils.hpp:122
void setComment(const std::string &comment)
Not supported. RAF format does not contain a comment. Calling this function will throw an Error(32).
Definition: rafimage.cpp:92
virtual uint32_t doWrite(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &imageIdx)
Implements write(). Write pointers into the image data area to the ioWrapper. Return the number of by...
Definition: tiffcomposite.cpp:1305
const ArrayCfg nikonSi4Cfg
Nikon Shot Info binary array - configuration 4 (D300b)
static std::ostream & printFStops(std::ostream &os, const Value &value, const ExifData *)
Print lens f-stops.
Definition: nikonmn.cpp:2503
virtual void doAccept(TiffVisitor &visitor)
Implements accept().
Definition: tiffcomposite.cpp:950
const TagDetails sonySequenceNumber[]
Lookup table to translate Sony sequence number values to readable labels.
virtual ~Xmpdatum()
Destructor.
Definition: xmp.cpp:177
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...
Definition: jpgimage.cpp:1029
Pentax MakerNote implemented according to the specification http://www.gvsoft.homedns....
virtual void visitIfdMakernote(TiffIfdMakernote *object)
Copy an IFD makernote if it is an image tag.
Definition: tiffvisitor.cpp:265
bool operator==(const std::string &name) const
Comparison operator for name.
int minute
Minute.
Definition: value.hpp:1121
void reset(std::pair< byte *, long >=std::make_pair((byte *)(0), long(0)))
Reset value.
Definition: types.cpp:171
const TagDetails pentaxFlash[]
Flash, tag 0x000c.
const char * detectCharset() const
Return the metadata charset name or 0.
Definition: iptc.cpp:355
const TagDetails minoltaDataImprintStd[]
Lookup table to translate Minolta Std camera settings data Imprint values to readable labels.
void setMnState(const TiffRwState *state=0)
Set the state of the reader to one suitable for the Makernote.
Definition: tiffvisitor.cpp:1159
const int sr2
SR2 image type (see class TiffImage)
Definition: tiffimage.hpp:55
std::ostream & printMinoltaSonyRotation(std::ostream &os, const Value &value, const ExifData *metadata)
Print Minolta/Sony Rotation values to readable labels.
Definition: minoltamn.cpp:2077
Arithmetic operations with overflow checks.
Definition: safe_op.hpp:43
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...
Definition: types.cpp:500
uint32_t size() const
Return the size in bytes of the IFD value of this component when written to a binary image.
Definition: tiffcomposite.cpp:1648
const NikonArrayIdx nikonArrayIdx[]
Nikon binary array version lookup table.
std::ostream & print0x0007(std::ostream &os, const Value &value, const ExifData *)
Print GPS timestamp.
Definition: tags.cpp:2373
static const byte com_
JPEG Comment marker.
Definition: jpgimage.hpp:237
const char * name_
Section name (one word)
Definition: tags_int.hpp:178
Helper structure for lookup tables for translations of numeric tag values to human readable labels.
Definition: tags_int.hpp:186
virtual int read(const std::string &buf)
Read the value from buf. This default implementation uses buf as it is.
Definition: value.cpp:293
uint16_t tag() const
Return the tag of this entry.
Definition: tiffcomposite_int.hpp:260
uint32_t addElement(uint32_t idx, const ArrayDef &def)
Add an element to the binary array, return the size of the element.
Definition: tiffcomposite.cpp:612
static std::ostream & print0x0200(std::ostream &os, const Value &value, const ExifData *)
Print 'Special Mode'.
Definition: olympusmn.cpp:1150
bool isMalloced_
Was the buffer allocated?
Definition: basicio.cpp:1105
const TagInfo * tagInfo_
Tag info.
Definition: tags.cpp:2939
const char * xmpValueType_
XMP value type (for info only)
Definition: properties.hpp:68
Key & operator=(const Key &rhs)
Assignment operator. Protected so that it can only be used by subclasses but not directly.
Definition: metadatum.cpp:55
Rational parseRational(const std::string &s, bool &ok)
Return a Rational set to the value represented by s.
Definition: types.cpp:620
ExifData::const_iterator afPoint(const ExifData &ed)
Return the AF point.
Definition: easyaccess.cpp:462
TypeId getType< uint32_t >()
Specialization for an unsigned long.
Definition: value.hpp:1232
NewMnFct newMnFct_
Makernote create function (image)
Definition: makernote_int.hpp:83
virtual int open()=0
Open the IO source using the default access mode. The default mode should allow for reading and writi...
void odmlTagsHandler()
Interpret OpenDML tag information, and save it in the respective XMP container.
TiffType tiffType_
TIFF type of the element.
Definition: tiffcomposite_int.hpp:1324
std::ostream & print0x8827(std::ostream &os, const Value &value, const ExifData *)
Print ISO speed ratings.
Definition: tags.cpp:2509
uint16_t crwDir_
Directory tag.
Definition: crwimage_int.hpp:545
virtual ~TiffMnEntry()
Virtual destructor.
Definition: tiffcomposite.cpp:226
static std::ostream & printMinoltaExposureSpeedStd(std::ostream &os, const Value &value, const ExifData *)
Print Exposure Speed setting from standard Minolta Camera Settings makernote.
Definition: minoltamn.cpp:413
static Handler handler()
Return the current log message handler.
Definition: error.hpp:126
bool timestamp_
Rename also sets the file timestamp.
Definition: exiv2app.hpp:200
virtual void visitIfdMakernote(TiffIfdMakernote *object)=0
Operation to perform for an IFD makernote.
bool hasFillers_
If true, write all defined tags.
Definition: tiffcomposite_int.hpp:1341
const TagDetails exifInkSet[]
InkSet, tag 0x014c.
const TagDetails nikon2ImageAdjustment[]
ImageAdjustment, tag 0x0005.
ExifData::const_iterator exposureMode(const ExifData &ed)
Return the exposure mode setting.
Definition: easyaccess.cpp:148
virtual void visitImageEntry(TiffImageEntry *object)
Copy a TIFF image entry if it is an image tag.
Definition: tiffvisitor.cpp:240
static AccessMode checkMode(int type, MetadataId metadataId)
Returns the access mode or supported metadata functions for an image type and a metadata type.
Definition: image.cpp:361
const TagDetails fujiDynamicRange[]
DynamicRange, tag 0x1400.
Provides binary IO on blocks of memory by implementing the BasicIo interface. A copy-on-write impleme...
Definition: basicio.hpp:572
const int pgf
PGF image type (see class PgfImage)
Definition: pgfimage.hpp:55
virtual EXV_DLLLOCAL int code() const
Return the error code.
Definition: error.hpp:376
void clear()
Delete all Exifdatum instances resulting in an empty container. Note that this also removes thumbnail...
Definition: exif.cpp:592
const TagDetailsBitmask canonPiAFPointsUsed20D[]
AFPointsUsed20D, tag 0x001a.
void setExifData(const ExifData &exifData)
Todo: Not supported yet(?). Calling this function will throw an instance of Error(32).
Definition: bmpimage.cpp:59
static const uint16_t preview_
Photoshop preview marker
Definition: jpgimage.hpp:70
const TagDetails olympusNoYes[]
NoYes, multiple tags.
static std::ostream & printFiFocusDistance(std::ostream &os, const Value &value, const ExifData *)
Focus Distance.
Definition: canonmn.cpp:1819
static const TagInfo * tagListCf()
Return read-only list of built-in Canon Custom Function tags.
Definition: canonmn.cpp:1228
virtual uint32_t doSizeData() const
This class does not really implement sizeData(), it only has size(). This method must not be called; ...
Definition: tiffcomposite.cpp:1747
static std::ostream & printAfPointsInFocus(std::ostream &os, const Value &value, const ExifData *metadata)
Print AF Points In Focus.
Definition: nikonmn.cpp:1630
void decodeBlock()
Check for a valid tag and decode the block at the current IO position. Calls tagDecoder() or skips to...
TiffType tiffType() const
Return the TIFF type.
Definition: tiffcomposite_int.hpp:462
const TagDetails panasonicHDR[]
HDR, tag 0x009e.
friend EXIV2API bool isJpegType(BasicIo &iIo, bool advance)
Check if the file iIo is a JPEG image.
Definition: jpgimage.cpp:1038
std::string directory_
Location for files to extract/insert.
Definition: exiv2app.hpp:219
const int crw
CRW image type (see class CrwImage)
Definition: crwimage.hpp:58
void setValue(DataBuf buf)
Set the data value of the entry.
Definition: crwimage.cpp:704
ValueType()
Default Constructor.
Definition: value.hpp:1516
static TypeId propertyType(const XmpKey &key)
Return the type for property key. The default for unknown keys is xmpText.
XmpSidecar(BasicIo::AutoPtr io, bool create)
Constructor for an XMP sidecar file. Since the constructor can not return a result,...
Definition: xmpsidecar.cpp:59
virtual TiffComponent * doAddNext(AutoPtr tiffComponent)
Implements addNext(). The default implementation does nothing.
Definition: tiffcomposite.cpp:856
const TagDetails olympusWhiteBalance[]
WhiteBalance, tag 0x0500.
void writeMetadata()
Write metadata back to the image.
Definition: tiffimage.cpp:195
const TagDetails fujiColor[]
Color, tag 0x1003.
virtual uint32_t doWrite(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &imageIdx)
Implements write(). Write the sub-IFD pointers to the ioWrapper, return the number of bytes written....
Definition: tiffcomposite.cpp:1337
static const byte sof3_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:241
const int xmp
XMP sidecar files (see class XmpSidecar)
Definition: xmpsidecar.hpp:50
const TagDetails exifSubfileType[]
SubfileType, TIFF tag 0x00ff.
static std::ostream & printCsLens(std::ostream &os, const Value &value, const ExifData *)
Camera lens information.
Definition: canonmn.cpp:1654
int sonyCsSelector(uint16_t, const byte *, uint32_t, TiffComponent *const pRoot)
Function to select cfg + def of the Sony Camera Settings complex binary array.
Definition: makernote.cpp:1164
void sortByKey()
Sort metadata by key.
Definition: xmp.cpp:353
std::ostream & printMinoltaSonyBoolValue(std::ostream &os, const Value &value, const ExifData *metadata)
Print Minolta/Sony bool function values to readable labels.
Definition: minoltamn.cpp:1967
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
Definition: mrwimage.cpp:98
iterator findId(uint16_t dataset, uint16_t record=IptcDataSets::application2)
Find the first Iptcdatum with the given record and dataset it, return a const iterator to it.
Definition: iptc.cpp:334
virtual void visitMnEntry(TiffMnEntry *object)
Find tag and group in a TIFF makernote.
Definition: tiffvisitor.cpp:175
const TagDetails minoltaDigitalZoomStd[]
Lookup table to translate Minolta Std camera settings digital zoom values to readable labels.
virtual void visitBinaryArray(TiffBinaryArray *object)
Find tag and group in a binary array.
Definition: tiffvisitor.cpp:185
static std::ostream & print0x0002(std::ostream &os, const Value &value, const ExifData *)
Print ISO setting.
Definition: nikonmn.cpp:1420
std::vector< ModifyCmd > ModifyCmds
Container for modification commands.
Definition: exiv2app.hpp:77
std::string xmpPacket_
XMP packet.
Definition: image.hpp:424
std::string Port
URL port.
Definition: futils.hpp:185
virtual void visitIfdMakernote(TiffIfdMakernote *object)
Encode an IFD makernote.
Definition: tiffvisitor.cpp:729
static std::ostream & printPentaxVersion(std::ostream &os, const Value &value, const ExifData *)
Print Pentax version.
Definition: pentaxmn.cpp:996
const TagDetails minoltaISOSettingStd[]
Lookup table to translate Minolta Std camera settings ISO settings values to readable labels.
virtual bool isopen() const =0
Returns true if the IO source is open, otherwise false.
const TagDetails panasonicImageStabilizer[]
ImageStabilizer, tag 0x001a.
virtual int getb()
Read one byte from the memory block. The IO position is advanced by one byte.
Definition: basicio.cpp:1348
virtual float toFloat(long n=0) const
Convert the value to a float. The optional parameter n is not used and is ignored.
Definition: value.cpp:739
const TagDetails fujiFlashMode[]
FlashMode, tag 0x1010.
void setOverwrite(bool onoff=true)
Set the overwrite flag.
Definition: convert.cpp:141
virtual TiffComponent * doAddChild(TiffComponent::AutoPtr tiffComponent)
Implements addChild(). The default implementation does nothing.
Definition: tiffcomposite.cpp:829
int pixelWidth() const
Return the pixel width of the image.
Definition: mrwimage.cpp:62
std::ostream & print0x0009(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS status.
Definition: tags.cpp:2409
static const TagInfo * tagListFe()
Return read-only list of built-in Olympus FE tags.
Definition: olympusmn.cpp:1039
MakerNote for Sigma (Foveon) cameras.
Definition: sigmamn_int.hpp:53
iterator erase(iterator pos)
Delete the Xmpdatum at iterator position pos, return the position of the next Xmpdatum.
Definition: xmp.cpp:388
virtual void transfer(BasicIo &src)=0
Remove all data from this object's IO source and then transfer data from the src BasicIo object into ...
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.
Definition: metadatum.cpp:90
std::string openMode_
File open mode.
Definition: basicio.cpp:111
const TagDetails canonCsMeteringMode[]
MeteringMode, tag 0x0011.
const TagDetails sonyAELButtonA100[]
Lookup table to translate Sony A100 camera settings AEL button values to readable labels.
void encodeIptc(TiffEntryBase *object, const Exifdatum *datum)
Special encoder function to encode SubIFD contents to Image group if it contains primary image data.
bool isCrwType(BasicIo &iIo, bool advance)
Check if the file iIo is a CRW image.
Definition: crwimage.cpp:222
const TagDetails nikonExternalFlashFlags[]
ExternalFlashFlags.
static const TagInfo * tagList()
Return read-only list of built-in Pentaxfilm tags.
Definition: pentaxmn.cpp:1409
void decodeTiffEntry(const TiffEntryBase *object)
Entry function, determines how to decode each tag.
Definition: tiffvisitor.cpp:467
uint32_t ifdOffset() const
Return the offset to the start of the Makernote IFD from the start of the Makernote....
Definition: tiffcomposite.cpp:511
const TagDetails sonyInstantPlaybackSetupA100[]
Lookup table to translate Sony A100 camera settings instant playback setup values to readable labels.
virtual const char * familyName() const
Return an identifier for the type of metadata (the first part of the key)
Definition: properties.cpp:2463
CiffComponent(uint16_t tag, uint16_t dir)
Constructor taking a tag and directory.
Definition: crwimage_int.hpp:110
TiffComponent::AutoPtr newTiffThumbSize(uint16_t tag, IfdId group)
Function to create and initialize a new TIFF entry for a thumbnail (size)
Definition: tiffcomposite_int.hpp:1645
void hexdump(std::ostream &os, const byte *buf, long len, long offset)
Print len bytes from buf in hex and ASCII format to the given stream, prefixed with the position in t...
Definition: types.cpp:462
uint16_t tagId() const
Return the tag id of this component.
Definition: crwimage_int.hpp:246
virtual void visitSubIfd(TiffSubIfd *object)=0
Operation to perform for a TIFF sub-IFD.
const ArrayCfg nikonSi6Cfg
Nikon Shot Info binary array - configuration 6 (ver 01.xx)
CrwDecodeFct toExif_
Conversion function.
Definition: crwimage_int.hpp:581
void setCount(uint32_t count)
Set the number of components in this entry.
Definition: tiffcomposite_int.hpp:493
std::ostream & printXmpVersion(std::ostream &os, const Value &value, const ExifData *)
Print any version encoded in the ASCII string majormajorminorminor.
Definition: tags.cpp:2758
Table of TIFF decoding and encoding functions and find functions. This class is separated from the me...
Definition: tiffimage_int.hpp:381
const TagDetails olympusRd2WhiteBalance[]
OlympusRd2 WhiteBalance, tag 0x0101.
std::string filter_
Filter.
Definition: image.hpp:67
DataBuf copy() const
Return the thumbnail image in a DataBuf. The caller owns the data buffer and DataBuf ensures that it ...
Definition: exif.cpp:435
Olympus makernote tags. References: [1] Exif file format, Appendix 1: MakerNote of Olympus Digicams ...
static std::ostream & printMinoltaExposureCompensation5D(std::ostream &os, const Value &value, const ExifData *)
Print Exposure Compensation setting from 5D Minolta Camera Settings makernote.
Definition: minoltamn.cpp:974
Structure to link command identifiers to strings.
Definition: exiv2app.hpp:79
static uint16_t dataSet(const std::string &dataSetName, uint16_t recordId)
Return the dataSet number for dataset name and record id.
Definition: datasets.cpp:530
static const char * dataSetDesc(uint16_t number, uint16_t recordId)
Return the description of the dataset.
Definition: datasets.cpp:509
const TagDetails olympusRd2PictureMode[]
OlympusRd2 PictureMode, tag 0x010c.
static std::ostream & print0x0006(std::ostream &os, const Value &value, const ExifData *)
Print ObjectDistance.
Definition: casiomn.cpp:219
const int exv
EXV image type (see class ExvImage)
Definition: jpgimage.hpp:57
virtual int getb()=0
Read one byte from the IO source. Current IO position is advanced by one byte.
uint32_t maxbytes_
Maximum number of bytes.
Definition: datasets.hpp:81
static void encode(Blob &blob, const byte *pData, uint32_t size, const CrwImage *pCrwImage)
Encode metadata from the CRW image into a data buffer (the binary CRW image).
Definition: crwimage.cpp:191
static std::ostream & printPentaxTemperature(std::ostream &os, const Value &value, const ExifData *)
Print Pentax temperature.
Definition: pentaxmn.cpp:1076
virtual int close()
Reset the IO position to the start. It does not release the data.
Definition: basicio.cpp:1688
virtual void visitSizeEntry(TiffSizeEntry *object)=0
Operation to perform for a TIFF size entry.
Search key for TIFF tree structure.
Definition: tiffimage_int.hpp:243
void init(uint16_t tag, IfdId group)
Initialize the Finder for a new search.
Definition: tiffvisitor.cpp:125
const char * typeName() const
Return the name of the type.
Definition: exif.cpp:370
EXIV2API 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 ...
const TagDetails sonyHDRMode[]
Lookup table to translate Sony Auto HDR values to readable labels.
virtual ~StringValue()
Virtual destructor.
Definition: value.cpp:359
int idx_
Index into the array set.
Definition: makernote.cpp:1079
void replace(std::string &text, const std::string &searchText, const std::string &replaceText)
Replaces all occurrences of searchText in the text string by replaceText.
Definition: utils.cpp:152
int32_t getLong(const byte *buf, ByteOrder byteOrder)
Read a 4 byte signed long value from the data buffer.
Definition: types.cpp:272
std::ostream & printMinoltaSonyLensID(std::ostream &os, const Value &value, const ExifData *metadata)
Print Minolta/Sony Lens id values to readable labels.
Definition: minoltamn.cpp:1928
const TagDetails panasonicWorldTimeLocation[]
WorldTimeLocation, tag 0x003a.
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
Definition: orfimage.cpp:90
const char * prefix_
(Preferred) prefix
Definition: properties.hpp:96
void encodeDataEntry(TiffDataEntry *object, const Exifdatum *datum)
Callback encoder function for a data entry.
Definition: tiffvisitor.cpp:883
Truevision TARGA v2 image, implemented using the following references: Truevision TGA page on Wikiped...
const TagDetails sonyFlashModeA100[]
Lookup table to translate Sony A100 camera settings flash mode values to readable labels.
virtual void visitMnEntry(TiffMnEntry *object)
Read a TIFF makernote entry from the data buffer.
Definition: tiffvisitor.cpp:1386
virtual long count() const
Return the number of components of the value.
Definition: value.hpp:1617
virtual int error() const =0
Returns 0 if the IO source is in a valid state, otherwise nonzero.
float canonEv(long val)
Convert Canon hex-based EV (modulo 0x20) to real number Ported from Phil Harvey's Image::ExifTool::Ca...
Definition: canonmn.cpp:1847
virtual uint32_t doSizeImage() const
Implements sizeImage(). Return the total image data size of the makernote IFD.
Definition: tiffcomposite.cpp:1815
virtual long size() const
Flush any buffered writes and get the current file size in bytes.
Definition: basicio.cpp:977
Value::AutoPtr value_
Value.
Definition: xmp.cpp:134
byte * pData_
Pointer to the buffer, 0 if none has been allocated.
Definition: types.hpp:246
const ArrayCfg nikonFl1Cfg
Nikon Flash Info binary array - configuration 1.
virtual std::string groupName() const
Return the name of the group (the second part of the key). For XMP keys, the group name is the schema...
Definition: properties.cpp:2468
Nikon makernote tags. References: [1] MakerNote EXIF Tag of the Nikon 990 by Max Lyons [2] Exif fil...
const ArrayDef nikonAfDef[]
Nikon Auto Focus binary array - definition.
const TagDetails exifSceneType[]
SceneType, tag 0xa301.
Exifdatum & operator=(const Exifdatum &rhs)
Assignment operator.
Definition: exif.cpp:239
virtual void visitMnEntry(TiffMnEntry *object)
Encode a TIFF makernote.
Definition: tiffvisitor.cpp:715
const Value & value() const
Return a constant reference to the value.
Definition: xmp.cpp:267
ExifKey(const std::string &key)
Constructor to create an Exif key from a key string.
Definition: tags.cpp:3038
const TagDetails minoltaImageQuality7D[]
Lookup table to translate Minolta Dynax 7D camera settings image quality values to readable labels.
HttpIo(HttpIo &rhs)
Copy constructor.
void populate(byte *source, size_t num)
Populate the block.
Definition: basicio.hpp:890
virtual ~StringValueBase()
Virtual destructor.
Definition: value.cpp:281
const ArrayCfg sony2CsCfg
Sony2 Camera Settings binary array - configuration.
virtual BasicIo::AutoPtr temporary() const
Returns a temporary data storage location. Currently returns an empty MemIo object,...
Definition: basicio.cpp:1183
virtual ~TiffEncoder()
Virtual destructor.
Definition: tiffvisitor.cpp:553
Access to a Exif thumbnail image. This class provides higher level accessors to the thumbnail image t...
Definition: exif.hpp:236
const TagDetails sonyCSFocusMode[]
Lookup table to translate Sony camera settings focus mode values to readable labels.
const TagDetails pentaxFocus[]
Focus, tag 0x000d.
IptcData iptcData_
IPTC data container.
Definition: image.hpp:421
std::map< std::string, std::string, LangAltValueComparator > ValueType
Type used to store language alternative arrays.
Definition: value.hpp:981
static const char * propertyTitle(const XmpKey &key)
Return the title (label) of the property.
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.
Definition: types.cpp:376
#define EXIV2_PATCH_VERSION
Exiv2 PATCH version number of the library used at compile-time.
Definition: version.hpp:58
Photoshop image, implemented using the following references: Adobe Photoshop 6.0 File Format Specific...
Value type for simple arrays. Each item in the array is a simple value, without qualifiers....
Definition: value.hpp:813
ExifThumb(ExifData &exifData)
Constructor.
Definition: exif.cpp:487
const TagDetails casio2WhiteBalance[]
White Balance, tag 0x0019.
void encodeMnEntry(TiffMnEntry *object, const Exifdatum *datum)
Callback encoder function for a Makernote entry.
Definition: tiffvisitor.cpp:992
int(* CfgSelFct)(uint16_t, const byte *, uint32_t, TiffComponent *const)
Function pointer type for a function to determine which cfg + def of a corresponding array set to use...
Definition: tiffcomposite_int.hpp:1311
static void decode(const CiffComponent &ciffComponent, Image &image, ByteOrder byteOrder)
Decode image metadata from a CRW entry, convert and add it to the image metadata. This function conve...
Definition: crwimage.cpp:929
std::string prefix_
The prefix string.
Definition: properties.hpp:81
static std::ostream & printPentaxFlashCompensation(std::ostream &os, const Value &value, const ExifData *)
Print Pentax flash compensation.
Definition: pentaxmn.cpp:1082
static std::ostream & print0x0209(std::ostream &os, const Value &value, const ExifData *)
Print Olympus CamerID.
Definition: olympusmn.cpp:1384
long typeSize() const
Return the size in bytes of one component of this type.
Definition: exif.cpp:375
@ tiffFloat
TIFF FLOAT type, single precision (4-byte) IEEE format.
Definition: types.hpp:127
std::auto_ptr< CiffComponent > AutoPtr
CiffComponent auto_ptr type.
Definition: crwimage_int.hpp:99
void setExifData(const ExifData &exifData)
Todo: Not supported yet, requires writeMetadata(). Calling this function will throw an Error(32).
Definition: rw2image.cpp:85
std::ostream & print0x9208(std::ostream &os, const Value &value, const ExifData *metadata)
Print light source.
Definition: tags.cpp:2612
static const byte dht_
JPEG DHT marker.
Definition: jpgimage.hpp:229
virtual void clearIptcData()
Erase any buffered IPTC data. IPTC data is not removed from the actual image until the writeMetadata(...
Definition: image.cpp:233
std::ostream & write(std::ostream &os, const ExifData *pMetadata=0) const
Write the interpreted value to an output stream, return the stream.
Definition: xmp.cpp:279
const TagDetails pentaxDynamicRangeExpansion[]
DynamicRangeExpansion, tag 0x0069.
void taglist(std::ostream &os, IfdId ifdId)
Print the list of tags for ifdId to the output stream os.
Definition: tags.cpp:2214
byte * pMappedArea_
Pointer to the memory-mapped area.
Definition: basicio.cpp:119
virtual int error() const
Always returns 0.
Definition: basicio.cpp:1916
virtual long size() const
Get the current memory buffer size in bytes.
Definition: basicio.cpp:1906
std::ostream & print0x829a(std::ostream &os, const Value &value, const ExifData *)
Print the exposure time.
Definition: tags.cpp:2464
uint16_t tag() const
Return the tag of this component.
Definition: crwimage_int.hpp:224
static const TagInfo * tagList()
Return read-only list of built-in Sony tags.
Definition: sonymn.cpp:487
std::string suffix(const std::string &path)
Get the suffix from the path string. Normally, the suffix is the substring of the basename of path fr...
Definition: utils.cpp:131
const TagDetails exifSampleFormat[]
SampleFormat, tag 0x0153.
virtual TiffComponent * doAddChild(TiffComponent::AutoPtr tiffComponent)
Implements addChild(). Todo: Document it!
Definition: tiffcomposite.cpp:843
static std::ostream & printMinoltaBrightnessStd(std::ostream &os, const Value &value, const ExifData *)
Print Brightness setting from standard Minolta Camera Settings makernote.
Definition: minoltamn.cpp:481
static const byte dqt_
JPEG DQT marker.
Definition: jpgimage.hpp:230
long count() const
Return the number of components in the value.
Definition: iptc.cpp:175
const ArrayDef nikonSi2Def[]
Nikon Shot Info binary array - definition 2 (D40)
bool cmpGroupLt(TiffComponent const *lhs, TiffComponent const *rhs)
Compare two TIFF component pointers by group. Return true if the group of component lhs is less than ...
Definition: tiffcomposite.cpp:1877
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:812
virtual TiffComponent * doAddPath(uint16_t tag, TiffPath &tiffPath, TiffComponent *const pRoot, TiffComponent::AutoPtr object)
Implements addPath(). The default implementation does nothing.
Definition: tiffcomposite.cpp:637
iterator begin()
Begin of the metadata.
Definition: iptc.hpp:231
Class to access Matroska video files.
Definition: matroskavideo.hpp:65
TagListFct tagList_
Tag list.
Definition: tags.hpp:73
void writeMetadata()
Write metadata back to the image.
Definition: cr2image.cpp:113
virtual TiffMnEntry * doClone() const
Internal virtual copy constructor, implements clone().
Definition: tiffcomposite.cpp:327
virtual TiffComponent * doAddPath(uint16_t tag, TiffPath &tiffPath, TiffComponent *const pRoot, TiffComponent::AutoPtr object)
Implements addPath(). The default implementation does nothing.
Definition: tiffcomposite.cpp:732
const TagDetails sonyImageStyle[]
Lookup table to translate Sony camera settings image style values to readable labels.
const ArrayCfg nikonSi5Cfg
Nikon Shot Info binary array - configuration 5 (ver 02.xx)
ByteOrder imageByteOrder() const
Return the byte order used for the image.
Definition: tiffcomposite_int.hpp:1211
const ArrayCfg nikonCb3Cfg
Nikon Color Balance binary array - configuration 3.
TiffComponent::AutoPtr newTiffBinaryArray2(uint16_t tag, IfdId group)
Function to create and initialize a new complex binary array entry.
Definition: tiffcomposite_int.hpp:1629
virtual byte * mmap(bool isWriteable=false)
Map the file into the process's address space. The file must be open before mmap() is called....
Definition: basicio.cpp:403
void writeMetadata()
Write metadata back to the image.
Definition: jpgimage.cpp:653
Base class for all Exiv2 values used to store XMP property values.
Definition: value.hpp:640
const TagDetails canonCsExposureProgram[]
ExposureProgram, tag 0x0014.
std::string toString() const
Return the value as a string.
Definition: exif.cpp:390
Provides binary file IO by implementing the BasicIo interface.
Definition: basicio.hpp:318
void setComment(const std::string &comment)
Todo: Not supported yet(?). Calling this function will throw an instance of Error(32).
Definition: jp2image.cpp:139
const TagDetails panasonicConversionLens[]
ConversionLens, tag 0x0035.
virtual int pixelWidth() const
Return the pixel width of the image.
Definition: image.cpp:294
TiffIfdMakernote(uint16_t tag, IfdId group, IfdId mnGroup, MnHeader *pHeader, bool hasNext=true)
Default constructor.
Definition: tiffcomposite.cpp:119
void printStructure(std::ostream &out, PrintStructureOption option)
Print out the structure of image file.
Definition: jpgimage.cpp:521
virtual ~TiffSizeEntry()
Virtual destructor.
Definition: tiffcomposite.cpp:222
virtual int open()
Connect to the remote server, get the size of the remote file and allocate the array of blocksMap.
Definition: basicio.cpp:1655
virtual uint32_t doSize() const
Implements size(). Todo: Document it!
Definition: tiffcomposite.cpp:1708
virtual int seek(long offset, Position pos)
Move the current IO position.
Definition: basicio.cpp:1873
void setImageByteOrder(ByteOrder byteOrder)
Set the byte order used for the image.
Definition: tiffcomposite_int.hpp:1181
void setStart(const byte *pStart)
Set a pointer to the start of the binary representation of the component in a memory buffer....
Definition: tiffcomposite_int.hpp:234
Impl()
Default constructor.
Definition: tags.cpp:2949
Image(int imageType, uint16_t supportedMetadata, BasicIo::AutoPtr io)
Constructor taking the image type, a bitmap of the supported metadata types and an auto-pointer that ...
Definition: image.cpp:151
Structure for an index into the array set of complex binary arrays.
Definition: makernote.cpp:1059
Utility class that closes a BasicIo instance upon destruction. Meant to be used as a stack variable i...
Definition: basicio.hpp:286
A collection of utility functions.
const TagDetails nikon2IsoSpeed[]
ISOSpeed, tag 0x0006.
Rational floatToRationalCast(float f)
Very simple conversion of a float to a Rational.
Definition: types.cpp:638
static std::ostream & printFocalLength(std::ostream &os, const Value &value, const ExifData *)
Print the focal length.
Definition: canonmn.cpp:1472
Encoding and decoding of Exif data.
virtual long count() const
Return the number of components of the value.
Definition: value.cpp:1175
const ArrayCfg samsungPwCfg
Samsung PictureWizard binary array - configuration.
int action_
Action (integer rather than TaskType to avoid dependency).
Definition: exiv2app.hpp:208
std::ostream & printMinoltaSonyQualityCs(std::ostream &os, const Value &value, const ExifData *metadata)
Print Minolta/Sony Quality values to readable labels.
Definition: minoltamn.cpp:2063
static std::ostream & printMinoltaDateStd(std::ostream &os, const Value &value, const ExifData *)
Print Minolta Date from standard Minolta Camera Settings makernote.
Definition: minoltamn.cpp:448
static std::ostream & printSi0x0013(std::ostream &os, const Value &value, const ExifData *)
Subject distance.
Definition: canonmn.cpp:1751
const char * title_
Property title or label.
Definition: properties.hpp:67
Class CrwImage to access Canon CRW images. References: The Canon RAW (CRW) File Format by Phil Harv...
const std::string & progname() const
Program name (argv[0])
Definition: utils.hpp:119
This abstract base class provides the common functionality of an IFD directory entry and defines an e...
Definition: tiffcomposite_int.hpp:416
const TagDetails sonyFocusMode[]
Lookup table to translate Sony AF mode values to readable labels.
long adjustment_
Adjustment in seconds.
Definition: exiv2app.hpp:211
std::string ns() const
Return the schema namespace for the prefix of the key.
Definition: properties.cpp:2490
static const TagInfo * tagListSi1()
Return read-only list of built-in Shot Info D80 tags.
Definition: nikonmn.cpp:1091
Simple Time helper structure.
Definition: value.hpp:1117
Position
Seek starting positions.
Definition: basicio.hpp:77
static std::ostream & printPentaxBracketing(std::ostream &os, const Value &value, const ExifData *)
Print Pentax bracketing.
Definition: pentaxmn.cpp:1092
virtual Rational toRational(long n=0) const =0
Convert the n-th component of the value to a Rational. The behaviour of this method may be undefined ...
virtual DataBuf read(long rcount)
Read data from the file. Reading starts at the current file position and the position is advanced by ...
Definition: basicio.cpp:1035
const_iterator end() const
End of the metadata.
Definition: exif.hpp:509
std::ostream & write(std::ostream &os, const ExifData *pMetadata=0) const
Write the interpreted value to an output stream, return the stream.
Definition: iptc.cpp:115
virtual long size() const =0
Return the size of the value in bytes.
XmpStruct xmpStruct() const
Return XMP struct, indicates if an XMP value is a structure.
Definition: value.cpp:620
const TagDetails casioWhiteBalance[]
white balance, tag 0x0007
virtual std::string tagLabel() const
Return a label for the tag.
Definition: tags.cpp:3087
static int locateIrb(const byte *pPsData, long sizePsData, uint16_t psTag, const byte **record, uint32_t *const sizeHdr, uint32_t *const sizeData)
Locates the data for a Photoshop tag in a Photoshop formated memory buffer. Operates on raw data to s...
Definition: jpgimage.cpp:124
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 ...
Definition: epsimage.cpp:1157
Class to access raw Canon CRW images. Only Exif metadata and a comment are supported....
Definition: crwimage.hpp:65
TiffComponent * addPath(uint16_t tag, TiffPath &tiffPath, TiffComponent *const pRoot, AutoPtr object=AutoPtr(0))
Add a TIFF entry tag to the component. Components on the path to the entry are added if they don't ex...
Definition: tiffcomposite.cpp:629
std::ostream & printMinoltaSonyImageQuality(std::ostream &os, const Value &value, const ExifData *metadata)
Print Minolta/Sony Image Quality values to readable labels.
Definition: minoltamn.cpp:2120
iterator findKey(const ExifKey &key)
Find the first Exifdatum with the given key, return an iterator to it.
Definition: exif.cpp:586
std::vector< std::string > Files
Container to store filenames.
Definition: exiv2app.hpp:128
const TagDetails casio2QualityMode[]
Quality Mode, tag 0x0004.
Returns an Image instance of the specified type.
Definition: image.hpp:456
Common interface for all types of values used with metadata.
Definition: value.hpp:63
std::ostream & printMinoltaSonyColorMode(std::ostream &os, const Value &value, const ExifData *metadata)
Print Minolta/Sony Color Mode values to readable labels.
Definition: minoltamn.cpp:1954
long size_
Size of the memory area.
Definition: basicio.cpp:1103
const ArrayDef canonCsDef[]
Canon Camera Settings binary array - definition.
const int tiff
TIFF image type (see class TiffImage)
Definition: tiffimage.hpp:50
const TagDetails sonyMeteringOffScaleIndicatorA100[]
Lookup table to translate Sony A100 camera settings metering off scale indicator values to readable l...
const TagDetails exifPhotometricInterpretation[]
PhotometricInterpretation, tag 0x0106.
virtual long tell() const
Get the current file position.
Definition: basicio.cpp:971
static const TagInfo * tagList()
Return read-only list of built-in Canon tags.
Definition: canonmn.cpp:420
const TagDetails minoltaExposureMode7D[]
Lookup table to translate Minolta Dynax 7D camera settings exposure mode values to readable labels.
Parse the command line options of a program.
Definition: utils.hpp:60
virtual CiffComponent * doFindComponent(uint16_t crwTagId, uint16_t crwDir) const
Implements findComponent(). The default implementation checks the entry.
Definition: crwimage.cpp:763
virtual long count() const
Return the number of components of the value.
Definition: value.cpp:845
Class to access JPEG-2000 images.
Definition: jp2image.hpp:62
bool isEpsType(BasicIo &iIo, bool advance)
Check if the file iIo is a EPS image.
Definition: epsimage.cpp:1166
uint16_t dtTag() const
Return the group of the related entry which has the data area.
Definition: tiffcomposite_int.hpp:835
static std::ostream & printMinoltaFlashExposureCompStd(std::ostream &os, const Value &value, const ExifData *)
Print Flash Exposure Compensation setting from standard Minolta Camera Settings makernote.
Definition: minoltamn.cpp:467
const char * desc_
Record description.
Definition: datasets.hpp:55
const TagDetails canonSiFlashBias[]
FlashBias, tag 0x000f.
std::ostream & printCsLensByFocalLengthAndMaxAperture(std::ostream &os, const Value &value, const ExifData *metadata)
Special treatment pretty-print function for non-unique lens ids.
Definition: canonmn.cpp:1584
uint16_t crwDir_
CRW directory tag.
Definition: crwimage_int.hpp:577
bool flag_
Adjustment flag.
Definition: exiv2app.hpp:188
const TagDetails canonCsEasyMode[]
EasyMode, tag 0x000b.
void cnvExifArray(const char *from, const char *to)
Converts Exif tag with multiple components to XMP array.
Definition: convert.cpp:543
void writeMetadata()
Todo: Write metadata back to the image. This method is not yet implemented. Calling it will throw an ...
Definition: rw2image.cpp:210
const TagDetails minoltaImageStabilization[]
Lookup table to translate Minolta image stabilization values.
MrwImage(BasicIo::AutoPtr io, bool create)
Constructor that can either open an existing MRW image or create a new image from scratch....
Definition: mrwimage.cpp:52
std::string mimeType() const
Return the MIME type of the image.
void encodeOffsetEntry(TiffEntryBase *object, const Exifdatum *datum)
Special encoder function for an offset entry.
Definition: tiffvisitor.cpp:1033
Class to access RIFF video files.
Definition: riffvideo.hpp:54
Abstract base class defining the interface for TIFF composite vistors (Visitor pattern)
Definition: tiffvisitor_int.hpp:75
void setValue(const Value *pValue)
Set the value. This method copies (clones) the value pointed to by pValue.
Definition: xmp.cpp:296
Windows Bitmap (BMP) image.
ExifData::const_iterator model(const ExifData &ed)
Return the camera model.
Definition: easyaccess.cpp:383
ExifData::const_iterator sceneMode(const ExifData &ed)
Return the scene mode setting.
Definition: easyaccess.cpp:166
virtual bool isThisType(BasicIo &iIo, bool advance) const =0
Determine if the content of the BasicIo instance is of the type supported by this class.
virtual uint32_t doSizeData() const
This class does not really implement sizeData(), it only has size(). This method must not be called; ...
Definition: tiffcomposite.cpp:1783
void(TiffDecoder::* DecoderFct)(const TiffEntryBase *)
Function pointer type for a TiffDecoder member function to decode a TIFF component.
Definition: tifffwd_int.hpp:85
Internal operations on a TIFF composite tree, implemented as visitor classes.
void headerExtension(uint64_t size)
Interpret Header_Extension tag information, and save it in the respective XMP container.
static const char * nsDesc(const std::string &prefix)
Return the namespace description for the schema associated with prefix.
virtual long count() const
Return the number of components of the value.
Definition: value.cpp:185
TiffMnEntry(uint16_t tag, IfdId group, IfdId mnGroup)
Default constructor.
Definition: tiffcomposite.cpp:114
const TagDetails panasonicTimerRecording[]
Timer recording, tag 0x0096.
void add(const ExifKey &key, const Value *pValue)
Add an Exifdatum from the supplied key and value pair. This method copies (clones) key and value....
Definition: exif.cpp:569
void read(const byte *pData, uint32_t size, uint32_t start, ByteOrder byteOrder)
Read a component from a data buffer.
Definition: crwimage.cpp:394
virtual void visitDataEntry(TiffDataEntry *object)
Encode a TIFF data entry.
Definition: tiffvisitor.cpp:655
virtual ~TiffComponent()
Virtual destructor.
Definition: tiffcomposite.cpp:179
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
Definition: crwimage.cpp:119
int ifdId_
IFD id.
Definition: tags.hpp:70
URational exposureTime(float shutterSpeedValue)
Calculate the exposure time from an APEX shutter speed value.
Definition: tags.cpp:2790
virtual void visitSubIfd(TiffSubIfd *object)
Encode a TIFF sub-IFD.
Definition: tiffvisitor.cpp:710
TiffBinaryElement(uint16_t tag, IfdId group)
Constructor.
Definition: tiffcomposite.cpp:174
void writeMetadata()
Write metadata back to the image.
Definition: jp2image.cpp:372
virtual long getFileLength()=0
Get the length (in bytes) of the remote file.
@ cr2RawIfdOffset
CR2 RAW IFD offset, a pointer in the CR2 header to the 4th IFD in a CR2 image.
Definition: tiffimage_int.hpp:432
Auxiliary type to enable copies and assignments, similar to std::auto_ptr_ref. See http://www....
Definition: types.hpp:174
void tagDecoder(Exiv2::DataBuf &buf, unsigned long size)
Interpret tag information, and call the respective function to save it in the respective XMP containe...
const TagDetails sonyDriveMode2A100[]
Lookup table to translate Sony A100 camera settings drive mode 2 values to readable labels.
bool operator==(int compression) const
Comparison operator for compression.
Definition: tiffimage.cpp:87
XmpKey(const std::string &key)
Constructor to create an XMP key from a key string.
Definition: properties.cpp:2419
const ArrayCfg nikonAfCfg
Nikon Auto Focus binary array - configuration.
virtual ~IptcKey()
Destructor.
Definition: datasets.cpp:611
bool isTiffType(BasicIo &iIo, bool advance)
Check if the file iIo is a TIFF image.
Definition: tiffimage.cpp:290
float toFloat(long n=0) const
Return the n-th component of the value converted to float. The return value is -1 if the value is not...
Definition: exif.cpp:405
CiffEntry()
Default constructor.
Definition: crwimage_int.hpp:321
const TagDetails minoltaRotation7D[]
Lookup table to translate Minolta Dynax 7D camera settings rotation values to readable labels.
TIFF composite visitor to encode metadata from an image to the TIFF tree. The metadata containers and...
Definition: tiffvisitor_int.hpp:384
const ArrayDef nikonFl3Def[]
Nikon Flash Info binary array - definition.
virtual void visitBinaryElement(TiffBinaryElement *object)
Read an element of a binary array from the data buffer.
Definition: tiffvisitor.cpp:1621
static std::ostream & printSi0x0009(std::ostream &os, const Value &value, const ExifData *)
Sequence number.
Definition: canonmn.cpp:1717
static std::ostream & print0x0204(std::ostream &os, const Value &value, const ExifData *)
Print Digital Zoom Factor.
Definition: olympusmn.cpp:1181
StringValueBase & operator=(const StringValueBase &rhs)
Assignment operator.
Definition: value.cpp:285
MetadataId metadataId_
Metadata identifier.
Definition: exiv2app.hpp:70
~TiffMnCreator()
Prevent destruction (needed if used as a policy class)
Definition: makernote_int.hpp:119
virtual int read(const byte *buf, long len, ByteOrder byteOrder=invalidByteOrder)
Read the value from a character buffer.
Definition: value.cpp:190
virtual byte * mmap(bool=false)
Not support.
Definition: basicio.cpp:1891
ExifData::const_iterator subjectDistance(const ExifData &ed)
Return the subject distance.
Definition: easyaccess.cpp:411
static const TagInfo * tagListFl1()
Return read-only list of built-in Flash Info 1 tags.
Definition: nikonmn.cpp:1038
NativePreviewList nativePreviews_
list of native previews
Definition: image.hpp:427
Value for simple ISO 8601 times.
Definition: value.hpp:1098
const TagDetails sonyAFIlluminatorCS[]
Lookup table to translate Sony AF illuminator values to readable labels.
void decode(Image &image, ByteOrder byteOrder) const
Decode metadata from the component and add it to image.
Definition: crwimage.cpp:479
std::ostream & printCameraTemperature(std::ostream &os, const Value &value, const ExifData *)
Print the camera temperature.
Definition: samsungmn.cpp:86
Yod
Enumerates year, month and day adjustments.
Definition: exiv2app.hpp:184
const TagDetails olympusFlashControlMode[]
FlashControlMode, tag 0x0404.
static std::ostream & printSi0x000e(std::ostream &os, const Value &value, const ExifData *pExifData)
AF point used.
Definition: canonmn.cpp:1730
const TagDetails nikonOffOn3[]
VibrationReduction2.
Xmpdatum & operator=(const Xmpdatum &rhs)
Assignment operator.
Definition: xmp.cpp:169
const TagDetails exifUnit[]
Units for measuring X and Y resolution, tags 0x0128, 0xa210.
bool isMrwType(BasicIo &iIo, bool advance)
Check if the file iIo is a MRW image.
Definition: mrwimage.cpp:168
const ArrayDef nikonWtDef[]
Nikon World Time binary array - definition.
StringValue()
Default constructor.
Definition: value.cpp:349
virtual uint32_t doSizeImage() const =0
Implements sizeImage().
CmdFiles cmdFiles_
Names of the modification command files.
Definition: exiv2app.hpp:215
std::ostream & printFocalLength35(std::ostream &os, const Value &value, const ExifData *)
Print the 35mm focal length.
Definition: samsungmn.cpp:95
bool isOrfType(BasicIo &iIo, bool advance)
Check if the file iIo is an ORF image.
Definition: orfimage.cpp:210
virtual uint32_t doSize() const
Implements size(). Return the size of the strip pointers.
Definition: tiffcomposite.cpp:1685
Exifdatum(const ExifKey &key, const Value *pValue=0)
Constructor for new tags created by an application. The Exifdatum is created from a key / value pair....
Definition: exif.cpp:207
virtual long size() const
Get the current memory buffer size in bytes.
Definition: basicio.cpp:1308
bool fileExists(const std::string &path, bool ct)
Test if a file exists.
Definition: futils.cpp:285
std::stack< TiffPathItem > TiffPath
Stack to hold a path from the TIFF root element to a TIFF entry.
Definition: tifffwd_int.hpp:113
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...
Definition: basicio.cpp:2646
const TagDetails exifExposureProgram[]
ExposureProgram, tag 0x8822.
const TagDetails fujiContinuous[]
Continuous, tag 0x1100.
const TagDetails sonyAntiBlur[]
Lookup table to translate Sony anti-blur values to readable labels.
virtual uint32_t doWriteData(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t &imageIdx) const
This class does not really implement writeData(), it only has write(). This method must not be called...
Definition: tiffcomposite.cpp:1472
TagDetails const minoltaSonyLensID[]
Lookup table to translate Minolta/Sony Lens id values to readable labels.
std::string pathOfFileUrl(const std::string &url)
Get the path of file URL.
Definition: futils.cpp:315
#define EXV_DEBUG
Shorthand to create a temp debug log message object and return its ostringstream.
Definition: error.hpp:145
exv_grep_keys_t Greps
Container for greps.
Definition: exiv2app.hpp:132
const char * typeName() const
Return the name of the type.
Definition: xmp.cpp:217
static bool checkType(int type, BasicIo &io, bool advance)
Determine if the content of io is an image of type.
Definition: image.cpp:386
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:1678
const TagDetails sonyJPEGQuality[]
Lookup table to translate Sony JPEG Quality values to readable labels.
TiffEncoder(const ExifData &exifData, const IptcData &iptcData, const XmpData &xmpData, TiffComponent *pRoot, const bool isNewImage, const PrimaryGroups *pPrimaryGroups, const TiffHeaderBase *pHeader, FindEncoderFct findEncoderFct)
Constructor, taking the root element of the composite to encode to, the image with the metadata to en...
Definition: tiffvisitor.cpp:504
const ArrayDef nikonPcDef[]
Nikon Picture Control binary array - definition.
int idx() const
Return the index (unique id of this key within the original IFD)
Definition: exif.cpp:355
@ includeThumbnailPad
Include a padding allowance for a thumbnail image.
Definition: xmp.hpp:265
void decomposeKey(const std::string &key)
Parse and convert the key string into tag and IFD Id. Updates data members if the string can be decom...
Definition: tags.cpp:2965
static const TagInfo * tagList()
Return read-only list of built-in Casio2 tags.
Definition: casiomn.cpp:545
const TagDetails nikonAfFineTuneAdj1[]
AfFineTuneAdj D300 (a)
std::ostream & print0xa40c(std::ostream &os, const Value &value, const ExifData *metadata)
Print subject distance range.
Definition: tags.cpp:2728
static std::ostream & print0x0201(std::ostream &os, const Value &value, const ExifData *)
Print Olympus equipment Lens type.
Definition: olympusmn.cpp:1250
std::vector< std::string > Keys
Container for keys.
Definition: exiv2app.hpp:134
Protocol protocol_
the protocol of url
Definition: basicio.cpp:1556
TiffComponent * newCasio2Mn2(uint16_t tag, IfdId group, IfdId mnGroup)
Function to create a Casio2 makernote.
Definition: makernote.cpp:1051
void(* CrwDecodeFct)(const CiffComponent &, const CrwMapping *, Image &, ByteOrder)
Function pointer for functions to decode Exif tags from a CRW entry.
Definition: crwimage_int.hpp:66
void streamHandler(long size)
Interpret Stream tag information, and save it in the respective XMP container.
void(TiffEncoder::* EncoderFct)(TiffEntryBase *, const Exifdatum *)
Function pointer type for a TiffDecoder member function to decode a TIFF component.
Definition: tifffwd_int.hpp:90
An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate these.
Definition: exif.hpp:63
const TagDetails olympusExposureMode[]
ExposureMode, tag 0x0200.
Impl & operator=(const Impl &rhs)
Assignment.
Definition: xmp.cpp:149
virtual long size() const =0
Get the current size of the IO source in bytes.
TypeId typeId() const
Return the type id of the value.
Definition: exif.cpp:365
uint32_t width_
Width.
Definition: image.hpp:65
const ArrayCfg canonFiCfg
Canon File Info binary array - configuration.
void setIptcData(const IptcData &iptcData)
Todo: Not supported yet, requires writeMetadata(). Calling this function will throw an Error(32).
Definition: mrwimage.cpp:86
virtual long copy(byte *buf, ByteOrder byteOrder=invalidByteOrder) const
Write value to a character data buffer.
Definition: value.cpp:980
const TagDetails nikonFlashSource[]
FlashSource.
TiffComponent::AutoPtr newTiffMnEntry(uint16_t tag, IfdId group)
Function to create and initialize a new TIFF makernote entry.
Definition: tiffcomposite.cpp:1889
virtual void visitEntry(TiffEntry *object)
Copy a TIFF entry if it is an image tag.
Definition: tiffvisitor.cpp:230
virtual void getDataByRange(long lowBlock, long highBlock, std::string &response)=0
Get the data by range.
const char * ifdName_
IFD name.
Definition: tags.hpp:71
const TagDetails minoltaSonyPrioritySetupShutterRelease[]
Lookup table to translate Sony camera settings priority setup shutter release values to readable labe...
const ArrayDef minoCs5Def[]
Minolta 5D Camera Settings binary array - definition.
void encodeSizeEntry(TiffSizeEntry *object, const Exifdatum *datum)
Callback encoder function for a size entry.
Definition: tiffvisitor.cpp:998
bool eof_
EOF indicator.
Definition: basicio.cpp:1555
std::auto_ptr< Key > AutoPtr
Shortcut for a Key auto pointer.
Definition: metadatum.hpp:63
void sortByKey()
Sort metadata by key.
Definition: iptc.cpp:340
ValueType< int16_t > ShortValue
Signed short value type.
Definition: value.hpp:1355
std::vector< CiffComponent * > Components
Container type to hold all metadata.
Definition: crwimage_int.hpp:101
const TagDetails panasonicIntelligentDRange[]
Intelligent D-Range, tag 0x0079.
Element of a TiffBinaryArray.
Definition: tiffcomposite_int.hpp:1497
PreviewId id() const
Return the preview image type identifier.
Definition: preview.cpp:1132
IfdId
Type to specify the IFD to which a metadata belongs.
Definition: tags_int.hpp:56
bool isWriteable_
Can the mapped area be written to?
Definition: basicio.cpp:122
MetadataId metadataId_
Type of metadata for the first key.
Definition: convert.cpp:109
virtual void setStrips(const Value *pSize, const byte *pData, uint32_t sizeData, uint32_t baseOffset)
Set the data areas ("strips").
Definition: tiffcomposite.cpp:465
const TagDetails sonyDriveModeA100[]
Lookup table to translate Sony A100 camera settings drive mode values to readable labels.
const TagDetails exifGPSDirRef[]
GPS direction ref, tags 0x000e, 0x0010, 0x0017.
void encodeTiffComponent(TiffEntryBase *object, const Exifdatum *datum=0)
Top level encoder function. Determines how to encode each TIFF component. This function is called by ...
Definition: tiffvisitor.cpp:813
void setDecoded(bool decoded)
Set a flag to indicate if the array was decoded.
Definition: tiffcomposite_int.hpp:1410
TxtChunkType
Text Chunk types.
Definition: pngchunk_int.hpp:69
virtual long size() const
Return the size of the value in bytes.
Definition: value.cpp:643
const TagDetails olympusColorSpace[]
ColorSpace, tag 0x0507.
iterator begin()
Begin of the metadata.
Definition: exif.hpp:494
Type definitions for Exiv2 and related functionality.
Metadata conversions.
Definition: convert.cpp:97
Sigma and Foveon MakerNote implemented according to the specification SIGMA and FOVEON EXIF MakerNote...
OpMode
Mode of operation.
Definition: basicio.cpp:100
Combination of array configuration and definition for arrays.
Definition: tiffcomposite_int.hpp:1347
int pixelWidth() const
Return the pixel width of the image.
Definition: rw2image.cpp:65
static std::ostream & printMinoltaFNumberStd(std::ostream &os, const Value &value, const ExifData *)
Print F Number setting from standard Minolta Camera Settings makernote.
Definition: minoltamn.cpp:427
const TagDetails panasonicOpticalZoomMode[]
OpticalZoomMode, tag 0x0034.
void setData(byte *pData, int32_t size)
Set pointer and size of the entry's data (not taking ownership of the data).
Definition: tiffcomposite.cpp:366
PreviewManager(const Image &image)
Constructor.
Definition: preview.cpp:1137
static std::ostream & printRollAngle(std::ostream &os, const Value &value, const ExifData *)
Print roll angle.
Definition: panasonicmn.cpp:696
const TagDetails sonyFocusModeSwitchA100[]
Lookup table to translate Sony A100 camera settings focus mode switch values to readable labels.
const TagDetails minoltaSharpnessStd[]
Lookup table to translate Minolta Std camera settings sharpness values to readable labels.
virtual int munmap()
Remove a mapping established with mmap(). If the mapped area is writeable, this ensures that changes ...
Definition: basicio.cpp:369
virtual void visitDirectory(TiffDirectory *object)
Read a TIFF directory from the data buffer.
Definition: tiffvisitor.cpp:1256
virtual long size() const
Return the size of the value in bytes.
Definition: value.cpp:1002
ExifData::const_iterator sceneCaptureType(const ExifData &ed)
Return the scene capture type.
Definition: easyaccess.cpp:355
void writeMetadata()
Write metadata back to the image.
Definition: orfimage.cpp:113
Xmpdatum(const XmpKey &key, const Value *pValue=0)
Constructor for new tags created by an application. The Xmpdatum is created from a key / value pair....
Definition: xmp.cpp:159
virtual uint32_t doWrite(Blob &blob, ByteOrder byteOrder, uint32_t offset)=0
Implements write()
MakerNote for Samsung cameras.
Definition: samsungmn_int.hpp:52
ExifMetadata::const_iterator const_iterator
ExifMetadata const iterator type.
Definition: exif.hpp:443
static const byte app13_
JPEG APP13 marker.
Definition: jpgimage.hpp:236
IfdId g_
Group
Definition: tiffcomposite_int.hpp:407
const TagDetails casio2WhiteBalance2[]
White Balance2, tag 0x2012.
bool preserve_
Preserve timestamps flag.
Definition: exiv2app.hpp:199
bool empty() const
Return true if there is no IPTC metadata.
Definition: iptc.hpp:265
void infoTagsHandler()
Interpret INFO tag information, and save it in the respective XMP container.
const char * ver_
Version string.
Definition: makernote.cpp:1077
Ns(const std::string &ns)
Constructor.
virtual uint32_t doSizeData() const
Implements sizeData(). Return the size of the data area.
Definition: tiffcomposite.cpp:1768
virtual ~TiffDecoder()
Virtual destructor.
Definition: tiffvisitor.cpp:309
static const TagInfo * tagListCsStd()
Return read-only list of built-in Minolta Standard Camera Settings tags.
Definition: minoltamn.cpp:646
const TagDetails canonCsManualFlashOutput[]
ManualFlashOutput, tag 0x0029.
ValueType< float > FloatValue
Float value type.
Definition: value.hpp:1361
Stateless parser class for XMP packets. Images use this class to parse and serialize XMP packets....
Definition: xmp.hpp:258
void cnvExifValue(const char *from, const char *to)
Simple Exif to XMP conversion function.
Definition: convert.cpp:510
const TagDetails olympusRd2PM_BWFilter[]
OlympusRd2 PM_BWFilter, tag 0x0110.
bool go(GoEvent event) const
Check if stop flag for event is clear, return true if it's clear.
Definition: tiffvisitor.cpp:103
Utility class provides the block mapping to the part of data. This avoids allocating a single contigu...
Definition: basicio.hpp:870
virtual std::string tagName() const =0
Return the name of the tag (which is also the third part of the key)
TiffComponent * newFujiMn2(uint16_t tag, IfdId group, IfdId mnGroup)
Function to create a Fujifilm makernote.
Definition: makernote.cpp:848
long writeFile(const std::string &path) const
Write the thumbnail image to a file.
Definition: preview.cpp:1072
const TagDetails olympusSceneMode[]
SceneMode, tag 0x403 and CameraSettings tag 0x509.
static std::ostream & print0x0084(std::ostream &os, const Value &value, const ExifData *)
Print lens information.
Definition: nikonmn.cpp:1479
@ undefined
Exif UNDEFINED type, an 8-bit byte that may contain anything.
Definition: types.hpp:123
TypeId getType()
Template to determine the TypeId for a type T.
const TagDetails canonColorSpace[]
ColorSpace, tag 0x00b4.
virtual std::ostream & write(std::ostream &os) const
Write all elements of the value to os, separated by commas.
Definition: value.cpp:776
static const byte sof0_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:238
TypeId typeId() const
Return the type identifier (Exif data format type).
Definition: value.hpp:116
virtual long copy(byte *buf, ByteOrder byteOrder=invalidByteOrder) const
Write value to a character data buffer.
Definition: value.cpp:306
IfdId group_
Group for the elements.
Definition: tiffcomposite_int.hpp:1336
CiffComponent * findComponent(uint16_t crwTagId, uint16_t crwDir) const
Finds crwTagId in directory crwDir, returning a pointer to the component or 0 if not found.
Definition: crwimage.cpp:757
void setValue(Value::AutoPtr value)
Set tag value. Takes ownership of the pointer passed in.
Definition: tiffcomposite.cpp:389
int pixelHeight() const
Return the pixel height of the image.
Definition: tiffimage.cpp:156
virtual TiffSizeEntry * doClone() const
Internal virtual copy constructor, implements clone().
Definition: tiffcomposite.cpp:312
The details of an Exif group. Groups include IFDs and binary arrays.
Definition: tags.hpp:66
const TagDetails casio2Enhancement[]
Enhancement, tag 0x3016.
TiffComponent::AutoPtr newTiffImageData(uint16_t tag, IfdId group)
Function to create and initialize a new TIFF entry for image data.
Definition: tiffcomposite_int.hpp:1653
@ omitAllFormatting
Omit all formatting whitespace.
Definition: xmp.hpp:268
std::string mimeType() const
Return the MIME type of the image.
Definition: epsimage.cpp:1101
const int nef
NEF image type (see class TiffImage)
Definition: tiffimage.hpp:52
const ArrayDef minoCs7Def[]
Minolta 7D Camera Settings binary array - definition.
virtual void populateFakeData()
Mark all the bNone blocks to bKnow. This avoids allocating memory for parts of the file that contain ...
Definition: basicio.cpp:1943
const TagDetails minoltaWhiteBalance5D[]
Lookup table to translate Minolta Dynax 5D camera settings white balance values to readable labels.
static std::ostream & printMinoltaExposureCompensationStd(std::ostream &os, const Value &value, const ExifData *)
Print Exposure Compensation setting from standard Minolta Camera Settings makernote.
Definition: minoltamn.cpp:434
bool isRafType(BasicIo &iIo, bool advance)
Check if the file iIo is a RAF image.
Definition: rafimage.cpp:145
static WriteMethod encode(BasicIo &io, const byte *pData, uint32_t size, ByteOrder byteOrder, const ExifData &exifData, const IptcData &iptcData, const XmpData &xmpData)
Encode metadata from the provided metadata to CR2 format. See TiffParser::encode().
Definition: cr2image.cpp:159
virtual TiffComponent * doAddNext(TiffComponent::AutoPtr tiffComponent)
Implements addNext(). The default implementation does nothing.
Definition: tiffcomposite.cpp:880
std::ostream & printNormalSoftHard(std::ostream &os, const Value &value, const ExifData *metadata)
Print contrast, sharpness (normal, soft, hard)
Definition: tags.cpp:2738
const char * version()
Return the version of Exiv2 available at runtime as a string.
Definition: version.cpp:84
long copy(byte *buf, ByteOrder byteOrder) const
Not implemented. Calling this method will raise an exception.
Definition: xmp.cpp:273
std::vector< Xmpdatum > XmpMetadata
Container type to hold all metadata.
Definition: xmp.hpp:167
const TagDetails minoltaISOSetting7D[]
Lookup table to translate Minolta Dynax 7D camera settings ISO settings values to readable labels.
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:1744
void writeMetadata()
Write metadata back to the image.
const TagDetails panasonicNoiseReduction[]
NoiseReduction, tag 0x002d.
virtual int munmap()=0
Remove a mapping established with mmap(). If the mapped area is writeable, this ensures that changes ...
void encodeSubIfd(TiffSubIfd *object, const Exifdatum *datum)
Callback encoder function for a sub-IFD entry.
Definition: tiffvisitor.cpp:1003
static const TagInfo * tagListPw()
Return read-only list of built-in PictureWizard tags.
Definition: samsungmn.cpp:206
static bool dataSetRepeatable(uint16_t number, uint16_t recordId)
Check if a given dataset is repeatable.
Definition: datasets.cpp:523
const TagDetails nikonIsoExpansion[]
ISOExpansion, tag index 4 and 10.
CmdId
Command identifiers.
Definition: exiv2app.hpp:51
virtual void visitBinaryArray(TiffBinaryArray *object)=0
Operation to perform for a binary array.
const TagDetails panasonicMacro[]
Macro, tag 0x001c.
uint16_t getUShort(const byte *buf, ByteOrder byteOrder)
Read a 2 byte unsigned short value from the data buffer.
Definition: types.cpp:233
Class to access raw Panasonic RW2 images. Exif metadata is supported directly, IPTC and XMP are read ...
Definition: rw2image.hpp:58
uint16_t crwTagId_
CRW tag id.
Definition: crwimage_int.hpp:576
Minolta MakerNote implemented using the following references: Minolta Makernote Format Specification...
An Image subclass to support Matroska video files.
std::string cmdString_
Command string.
Definition: exiv2app.hpp:81
const int cr2
CR2 image type (see class Cr2Image)
Definition: cr2image.hpp:50
uint32_t count() const
Return the number of components in this component.
Definition: tiffcomposite.cpp:1010
const char *const nikonFocuspoints[]
Focus points for Nikon cameras, used for Nikon 1 and Nikon 3 makernotes.
virtual int getb()
Read one byte from the memory blocks. The IO position is advanced by one byte. If the memory block is...
Definition: basicio.cpp:1830
std::ostream & printMinoltaSonyZoneMatching(std::ostream &os, const Value &value, const ExifData *metadata)
Print Minolta/Sony ZoneMatching values to readable labels.
Definition: minoltamn.cpp:2168
virtual std::string tagName() const
Return the name of the tag (which is also the third part of the key)
Definition: tags.cpp:3082
std::string comment_
User comment.
Definition: image.hpp:423
TiffComponent * newOlympusMn(uint16_t tag, IfdId group, IfdId, const byte *pData, uint32_t size, ByteOrder)
Function to create an Olympus makernote.
Definition: makernote.cpp:804
const TagDetails canonSiWhiteBalance[]
WhiteBalance, multiple tags.
static std::ostream & printMinoltaWhiteBalanceStd(std::ostream &os, const Value &value, const ExifData *)
Print White Balance setting from standard Minolta Camera Settings makernote.
Definition: minoltamn.cpp:474
void cnvXmpGPSCoord(const char *from, const char *to)
XMP to Exif GPS coordinate conversion function.
Definition: convert.cpp:1044
virtual void doAccept(TiffVisitor &visitor)
Implements accept().
Definition: tiffcomposite.cpp:910
Image::AutoPtr newGifInstance(BasicIo::AutoPtr io, bool)
Create a new GifImage instance and return an auto-pointer to it. Caller owns the returned object and ...
Definition: gifimage.cpp:112
static int decode(IptcData &iptcData, const byte *pData, uint32_t size)
Decode binary IPTC data in IPTC IIM4 format from a buffer pData of length size to the provided metada...
Definition: iptc.cpp:410
const TagDetails sonyWhiteBalanceBracketingA100[]
Lookup table to translate Sony A100 camera settings white balance bracketing values to readable label...
static const byte app0_
JPEG APP0 marker.
Definition: jpgimage.hpp:234
const TagDetails casio2ImageSize[]
Image Size, tag 0x0009.
bool operator==(const Key &key) const
Comparison operator to compare a TiffGroupStruct with a TiffGroupStruct::Key.
Definition: tiffimage_int.hpp:211
uint32_t size() const
Return the data size of this component.
Definition: crwimage_int.hpp:237
void encodeImageEntry(TiffImageEntry *object, const Exifdatum *datum)
Callback encoder function for an image entry.
Definition: tiffvisitor.cpp:920
void copyExifToXmp(const ExifData &exifData, XmpData &xmpData)
Convert (copy) Exif tags to XMP properties.
Definition: convert.cpp:1282
std::string tagLabel() const
Return a label for the tag
Definition: iptc.cpp:150
std::ostream & printLong(std::ostream &os, const Value &value, const ExifData *)
Print the value converted to a long.
Definition: tags.cpp:2267
Configuration settings for MSVC.
virtual ~FileIo()
Destructor. Flushes and closes an open file.
Definition: basicio.cpp:363
const TagDetails exifGPSStatus[]
GPS status, tag 0x0009.
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
Definition: xmpsidecar.cpp:81
virtual ~TiffCopier()
Virtual destructor.
Definition: tiffvisitor.cpp:209
Simple Date helper structure.
Definition: value.hpp:1013
Structure for one parsed modification command.
Definition: exiv2app.hpp:63
const TagDetails exifGPSDestDistanceRef[]
GPS Destination distance ref, tag 0x0019.
This class models one directory entry of a CIFF directory of a CRW (Canon Raw data) image.
Definition: crwimage_int.hpp:316
const TagDetails olympusOffOn[]
OffOn, multiple tags.
XmpArrayType
XMP array types.
Definition: value.hpp:646
virtual std::string tagLabel() const
Return a label for the tag.
Definition: properties.cpp:2478
const TagDetails exifSensingMethod[]
SensingMethod, tag 0xa217.
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.cpp:802
std::ostream & write(std::ostream &os, const ExifData *pMetadata=0) const
Write the interpreted value to an output stream, return the stream.
Definition: exif.cpp:224
Class to access raw Minolta MRW images. Exif metadata is supported directly, IPTC is read from the Ex...
Definition: mrwimage.hpp:58
const int bmp
Windows bitmap (bmp) image type (see class BmpImage)
Definition: bmpimage.hpp:51
void copyObject(TiffComponent *object)
Check if object is an image tag and if so, copy it to the target tree.
Definition: tiffvisitor.cpp:213
std::string tagLabel() const
Return a label for the tag
Definition: exif.cpp:335
void sortByKey()
Sort metadata by key.
Definition: exif.cpp:597
virtual void transfer(BasicIo &src)
Clear the memory block and then transfer data from the src BasicIo object into a new block of memory.
Definition: basicio.cpp:1197
MatroskaVideo(BasicIo::AutoPtr io)
Constructor for a Matroska video. Since the constructor can not return a result, callers should check...
void setXmpArrayType(XmpArrayType xmpArrayType)
Set the XMP array type to indicate that an XMP value is an array.
Definition: value.cpp:593
static int locateIptcIrb(const byte *pPsData, long sizePsData, const byte **record, uint32_t *const sizeHdr, uint32_t *const sizeData)
Forwards to locateIrb() with psTag = iptc_.
Definition: jpgimage.cpp:201
const TiffType ttTiffIfd
TIFF IFD type.
Definition: tiffcomposite_int.hpp:70
void moveXmpToIptc(XmpData &xmpData, IptcData &iptcData)
Convert (move) XMP properties to IPTC tags, remove converted XMP properties.
Definition: convert.cpp:1338
std::string tagName() const
Return the name of the tag (which is also the third part of the key)
Definition: exif.cpp:330
std::string mimeType() const
Return the MIME type of the image.
Definition: xmpsidecar.cpp:70
ValueType value_
Stores the data value.
Definition: value.hpp:342
FindExifdatum(Exiv2::Internal::IfdId ifdId)
Constructor, initializes the object with the IfdId to look for.
Definition: tiffimage_int.hpp:481
const TagDetails pentaxContrast[]
Contrast, tag 0x0020.
ExifData::const_iterator whiteBalance(const ExifData &ed)
Return the white balance setting.
Definition: easyaccess.cpp:234
const TagDetails canonCsMacro[]
Macro, tag 0x0001.
static const TagInfo * tagListCb1()
Return read-only list of built-in Color Balance 1 tags.
Definition: nikonmn.cpp:1273
const TagDetails sonyExposureCompensationModeA100[]
Lookup table to translate Sony A100 camera settings exposure compensation mode values to readable lab...
char(& sizer(T(&)[N]))[N]
Template used in the COUNTOF macro to determine the size of an array.
const TagDetails olympusMeteringMode[]
MeteringMode, tag 0x0202.
static std::ostream & print0x0083(std::ostream &os, const Value &value, const ExifData *)
Print lens type.
Definition: nikonmn.cpp:1445
ValueList value_
The container for all values. In your application, if you know what subclass of Value you're dealing ...
Definition: value.hpp:1335
std::string Path
URL file path.
Definition: futils.hpp:182
XmpFormatFlags
Options to control the format of the serialized XMP packet.
Definition: xmp.hpp:261
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
Definition: tgaimage.cpp:77
const TagDetailsBitmask canonCsFlashDetails[]
FlashDetails, tag 0x001d.
void setByteOrder(ByteOrder byteOrder)
Set the byte order for the makernote.
Definition: tiffcomposite.cpp:545
static const byte sof14_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:249
const TagDetails canonPaDirection[]
PanoramaDirection, tag 0x0005.
Details of an IPTC record.
Definition: datasets.hpp:50
const TagDetails casioContrast[]
Contrast, tag 0x000c.
static const TagInfo * tagList()
Return read-only list of built-in Minolta tags.
Definition: minoltamn.cpp:192
virtual Rational toRational(long n=0) const
Return the value as a UNIX calender time converted to Rational.
Definition: value.cpp:1041
@ signedShort
Exif SSHORT type, a 16-bit (2-byte) signed (twos-complement) integer.
Definition: types.hpp:124
TiffComponent * newNikon2Mn2(uint16_t tag, IfdId group, IfdId mnGroup)
Function to create a Nikon2 makernote.
Definition: makernote.cpp:885
void setDir(uint16_t dir)
Set the directory tag for this component.
Definition: crwimage_int.hpp:184
uint32_t getULong(const byte *buf, ByteOrder byteOrder)
Read a 4 byte unsigned long value from the data buffer.
Definition: types.cpp:243
iterator erase(iterator pos)
Delete the Exifdatum at iterator position pos, return the position of the next exifdatum....
Definition: exif.cpp:612
@ comment
Exiv2 type for the Exif user comment.
Definition: types.hpp:133
const char * name_
One word tag label.
Definition: tags.hpp:97
long getFileLength()
Get the length (in bytes) of the remote file.
Definition: basicio.cpp:2018
const TagInfo * tagList(IfdId ifdId)
Return the tag list for ifdId.
Definition: tags.cpp:2224
static std::ostream & printPictureControl(std::ostream &os, const Value &value, const ExifData *)
Print picture control value.
Definition: nikonmn.cpp:2613
virtual void visitMnEntry(TiffMnEntry *object)=0
Operation to perform for the makernote component.
void(Converter::* ConvertFct)(const char *from, const char *to)
Type for metadata converter functions, taking two key strings, from and to.
Definition: convert.cpp:106
ExifData::const_iterator focalLength(const ExifData &ed)
Return the focal length setting.
Definition: easyaccess.cpp:446
Stateless parser class for data in CR2 format. Images use this class to decode and encode CR2 data....
Definition: cr2image.hpp:113
const ArrayCfg nikonWtCfg
Nikon World Time binary array - configuration.
const TagDetails canonSerialNumberFormat[]
SerialNumberFormat, tag 0x0015.
XmpMetadata::iterator iterator
XmpMetadata iterator type.
Definition: xmp.hpp:182
unsigned long printItems_
Print items.
Definition: exiv2app.hpp:205
JPEG-2000 image, implemented using the following references: ISO/IEC JTC 1/SC 29/WG1 N2401: JPEG 2000...
static const byte sof6_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:243
void clear()
Delete all Xmpdatum instances resulting in an empty container.
Definition: xmp.cpp:348
ExifData::const_iterator meteringMode(const ExifData &ed)
Return the metering mode setting.
Definition: easyaccess.cpp:364
uint16_t tag_
Tag value.
Definition: tags.cpp:2940
long idx_
Index into the memory area.
Definition: basicio.cpp:1102
nlink_t st_nlink
Number of hard links (broken on Windows, see winNumberOfLinks())
Definition: basicio.cpp:129
static void decode(CrwImage *pCrwImage, const byte *pData, uint32_t size)
Decode metadata from a Canon CRW image in data buffer pData of length size into crwImage.
Definition: crwimage.cpp:170
const TagDetails panasonicTextStamp[]
TextStamp, tag 0x003b, 0x003e, 000x8008 and 0x8009.
virtual void doAdd(AutoPtr component)=0
Implements add()
const TagDetails olympusIpAspectRatio[]
OlympusIp olympusIpAspectRatio, tag 0x101c.
TiffBinaryArray(uint16_t tag, IfdId group, const ArrayCfg *arrayCfg, const ArrayDef *arrayDef, int defSize)
Constructor.
Definition: tiffcomposite.cpp:132
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.cpp:253
virtual int error() const
Always returns 0.
Definition: basicio.cpp:1357
virtual int seek(long offset, Position pos)
Move the current IO position.
Definition: basicio.cpp:1267
static const TagInfo * tagList()
Return read-only list of built-in Panasonic tags.
Definition: panasonicmn.cpp:547
MakerNote for Panasonic cameras.
Definition: panasonicmn_int.hpp:55
std::string path_
(Standard) path
Definition: basicio.cpp:106
@ geTraverse
Signal to control traversing of the composite tree.
Definition: tiffvisitor_int.hpp:80
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 ...
Definition: orfimage.cpp:201
@ asciiString
Exif ASCII type, 8-bit byte.
Definition: types.hpp:118
static const TagInfo * tagListCs7D()
Return read-only list of built-in Minolta 7D Camera Settings tags.
Definition: minoltamn.cpp:826
const TagDetails casioRecordingMode[]
RecordingMode, tag 0x0001.
const TagDetails olympusFocusMode[]
FocusMode, tag 0x100b.
const TagDetails casio2VideoQuality[]
Video Quality, tag 0x4003.
virtual long copy(byte *buf, ByteOrder byteOrder=invalidByteOrder) const
Write value to a character data buffer.
Definition: value.cpp:1153
TiffCopier(TiffComponent *pRoot, uint32_t root, const TiffHeaderBase *pHeader, const PrimaryGroups *pPrimaryGroups)
Constructor.
Definition: tiffvisitor.cpp:195
void writeExifDigest()
Write exif:NativeDigest and tiff:NativeDigest properties to XMP.
Definition: convert.cpp:1211
const ArrayDef nikonAf2Def[]
Nikon Auto Focus 2 binary array - definition.
void contentManagement(const MatroskaTags *mt, const byte *buf, long size)
Interpret tag information, and save it in the respective XMP container.
const TagDetails pentaxSize[]
Size, tag 0x0009.
ExifData::const_iterator lensName(const ExifData &ed)
Return the name of the lens used.
Definition: easyaccess.cpp:265
std::ostream & print0x9202(std::ostream &os, const Value &value, const ExifData *)
Print f-number converted from APEX aperture value.
Definition: tags.cpp:2545
void getDataByRange(long lowBlock, long highBlock, std::string &response)
Get the data by range.
Definition: basicio.cpp:2036
long size() const
Return the size of the value in bytes.
Definition: iptc.cpp:180
Native preview information. This is meant to be used only by the PreviewManager.
Definition: image.hpp:62
const char * groupName_
Group name, unique for each group.
Definition: tags.hpp:72
static std::ostream & printTimeZone(std::ostream &os, const Value &value, const ExifData *)
Print time zone.
Definition: nikonmn.cpp:2591
A standard TIFF IFD entry.
Definition: tiffcomposite_int.hpp:568
TiffComponent * result() const
Return the search result. 0 if no TIFF component was found for the tag and group combination.
Definition: tiffvisitor_int.hpp:212
static std::ostream & print0x000f(std::ostream &os, const Value &value, const ExifData *)
Print SpotMode.
Definition: panasonicmn.cpp:553
TiffSubIfd(uint16_t tag, IfdId group, IfdId newGroup)
Default constructor.
Definition: tiffcomposite.cpp:109
const TagDetails panasonicFlashFired[]
Flash Fired, tag 0x8007.
virtual bool isopen() const
Always returns true.
Definition: basicio.cpp:1320
static AutoPtr create(TypeId typeId)
A (simple) factory to create a Value type.
Definition: value.cpp:72
iterator begin()
Begin of the metadata.
Definition: xmp.cpp:378
Interface class for components of a TIFF directory hierarchy (Composite pattern). Both TIFF directori...
Definition: tiffcomposite_int.hpp:176
uint32_t r_
Root.
Definition: tiffimage_int.hpp:246
long sizeDataArea() const
Return the size of the data area.
Definition: exif.cpp:420
void writeMetadata()
Write metadata back to the image.
Definition: pgfimage.cpp:135
Class to access raw GIF images. Exif/IPTC metadata are supported directly.
Definition: gifimage.hpp:59
std::string mimeType() const
Return the MIME type of the image.
Definition: crwimage.cpp:90
ValueType< T > & operator=(const ValueType< T > &rhs)
Assignment operator.
Definition: value.hpp:1559
static ByteOrder decode(ExifData &exifData, IptcData &iptcData, XmpData &xmpData, const byte *pData, uint32_t size)
Decode metadata from a buffer pData of length size with data in RW2 format to the provided metadata c...
Definition: rw2image.cpp:216
static void decodeIHDRChunk(const DataBuf &data, int *outWidth, int *outHeight)
Decode PNG IHDR chunk data from a data buffer data and return image size to outWidth and outHeight.
static std::ostream & printCs0x0301(std::ostream &os, const Value &value, const ExifData *)
Print Olympus camera settings Focus Mode.
Definition: olympusmn.cpp:1433
Stateless parser class for data in PNG chunk format. Images use this class to decode and encode PNG-b...
Definition: pngchunk_int.hpp:64
RiffVideo(BasicIo::AutoPtr io)
Constructor for a Riff video. Since the constructor can not return a result, callers should check the...
const ArrayDef * def() const
Return a pointer to the definition.
Definition: tiffcomposite_int.hpp:1418
const TagDetails pentaxWhiteBalanceMode[]
WhiteBalance, tag 0x001a.
const TagDetails canonCsLnh[]
Contrast, Saturation Sharpness, tags 0x000d, 0x000e, 0x000f.
const ArrayCfg nikonCb2bCfg
Nikon Color Balance binary array - configuration 2b.
const TagDetails canonCsFocusType[]
FocusType, tag 0x0012.
const TagDetails exifSceneCaptureType[]
SceneCaptureType, tag 0xa406.
const TagDetails pentaxHighISONoiseReduction[]
HighISONoiseReduction, tag 0x0071.
static const TagInfo * tagListEq()
Return read-only list of built-in Olympus Equipment tags.
Definition: olympusmn.cpp:774
Error class interface. Allows the definition and use of a hierarchy of error classes which can all be...
Definition: error.hpp:175
void markKnown(size_t num)
Change the status to bKnow. bKnow blocks do not contain the data, but they keep the size of data....
Definition: basicio.hpp:902
void skipListData()
Skips Particular Blocks of Metadata List.
std::string mimeType() const
Return the MIME type of the image.
Definition: tiffimage.cpp:99
bool hasSize_
If true, first tag is the size element.
Definition: tiffcomposite_int.hpp:1340
TypeId typeId() const
Return the type id of the value.
Definition: xmp.cpp:212
virtual std::string comment() const
Return a copy of the image comment. May be an empty string.
Definition: image.cpp:319
static void loadStack(CrwDirs &crwDirs, uint16_t crwDir)
Load the stack: loop through the CRW subdirs hierarchy and push all directories on the path from crwD...
Definition: crwimage.cpp:1142
long typeSize() const
Return the size in bytes of one component of this type.
Definition: iptc.cpp:170
virtual uint32_t doWriteImage(IoWrapper &ioWrapper, ByteOrder byteOrder) const
Implements writeImage(). Write the image data of each sub-IFD to the ioWrapper. Return the number of ...
Definition: tiffcomposite.cpp:1587
const NativePreviewList & nativePreviews() const
Return list of native previews. This is meant to be used only by the PreviewManager.
Definition: image.cpp:339
TiffImage(BasicIo::AutoPtr io, bool create)
Constructor that can either open an existing TIFF image or create a new image from scratch....
Definition: tiffimage.cpp:78
Makernote registry structure.
Definition: makernote_int.hpp:66
std::string mimeType() const
Return the MIME type of the image.
Definition: rafimage.cpp:57
static const byte app1_
JPEG APP1 marker.
Definition: jpgimage.hpp:235
An IPTC metadatum ("dataset"), consisting of an IptcKey and a Value and methods to manipulate these.
Definition: iptc.hpp:59
virtual uint32_t doWriteData(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t &imageIdx) const =0
Implements writeData().
bool isXmpType(BasicIo &iIo, bool advance)
Check if the file iIo is an XMP sidecar file.
Definition: xmpsidecar.cpp:159
const TagDetails panasonicFocusMode[]
FocusMode, tag 0x0007.
const TagDetails minoltaColorProfileStd[]
Lookup table to translate Minolta Std camera settings color profile values to readable labels.
const char * name_
Record name (one word)
Definition: datasets.hpp:54
std::string groupName() const
Return the name of the metadata group (which is also the second part of the key)
Definition: exif.cpp:325
XmpArrayType xmpArrayType() const
Return XMP array type, indicates if an XMP value is an array.
Definition: value.cpp:603
const TagDetails sonyContinuousBracketingA100[]
Lookup table to translate Sony A100 camera settings continuous bracketing values to readable labels.
uint16_t tag_
Tag number of the binary array.
Definition: makernote.cpp:1076
virtual int read(const byte *buf, long len, ByteOrder byteOrder=invalidByteOrder)
Read the value from a character buffer.
Definition: value.cpp:635
uint32_t height_
Preview image height in pixels or 0 for unknown height.
Definition: preview.hpp:68
virtual ~TiffEntry()
Virtual destructor.
Definition: tiffcomposite.cpp:206
virtual const Date & getDate() const
Return date struct containing date information.
Definition: value.cpp:992
const ArrayCfg canonCsCfg
Canon Camera Settings binary array - configuration.
Precompiler define and a function to test the Exiv2 version. References: Similar versioning defines a...
const int mrw
MRW image type (see class MrwImage)
Definition: mrwimage.hpp:51
This class is the basis for Makernote support in TIFF. It contains a pointer to a concrete Makernote....
Definition: tiffcomposite_int.hpp:1075
virtual TiffBinaryArray * doClone() const
Internal virtual copy constructor, implements clone().
Definition: tiffcomposite.cpp:339
int month
Month.
Definition: value.hpp:1016
const ArrayDef sonyCsDef[]
Sony[12] Camera Settings binary array - definition.
Unary predicate that matches an Exifdatum with a given IfdId.
Definition: tiffimage_int.hpp:478
std::vector< PreviewProperties > PreviewPropertiesList
Container type to hold all preview images metadata.
Definition: preview.hpp:74
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.
Definition: types.cpp:339
const TagInfo * mnTagList()
Return read-only list of built-in Exiv2 Makernote info tags.
Definition: tags.cpp:2140
bool updOrigDataBuf(const byte *pData, uint32_t size)
Update the original data buffer and its size, return true if successful.
Definition: tiffcomposite.cpp:602
virtual int pixelHeight() const
Return the pixel height of the image.
Definition: image.cpp:299
static std::ostream & print0x0529(std::ostream &os, const Value &value, const ExifData *)
Print Olympus ArtFilter.
Definition: olympusmn.cpp:1494
const TagDetails olympusEqFlashType[]
OlympusEq FlashType, tag 0x1000.
const TagDetailsBitmask canonPiAFPointsUsed[]
AFPointsUsed, tag 0x0016.
static std::string ns(const std::string &prefix)
Return the namespace name for the schema associated with prefix.
virtual void setComment(const std::string &comment)
Set the image comment. The new comment is not written to the image until the writeMetadata() method i...
Definition: image.cpp:279
void cleanup()
Destructor.
Definition: exiv2.cpp:207
virtual uint32_t doWrite(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &imageIdx)
Implements write(). Write the Makernote header, TIFF directory, values and additional data to the ioW...
Definition: tiffcomposite.cpp:1369
const TagDetails fujiOffOn[]
OffOn, multiple tags.
virtual uint32_t doCount() const
Implements count(). Returns the count from the element definition.
Definition: tiffcomposite.cpp:1063
const TagDetails minoltaMeteringModeStd[]
Lookup table to translate Minolta Std camera settings metering mode values to readable labels.
const int gif
GIF image type (see class GifImage)
Definition: gifimage.hpp:52
std::string versionNumberHexString()
Return the version of Exiv2 as hex string of fixed length 6.
Definition: version.cpp:77
virtual void doRemove(CrwDirs &crwDirs, uint16_t crwTagId)
Implements remove(). The default implementation does nothing.
Definition: crwimage.cpp:877
virtual long copy(byte *buf, ByteOrder byteOrder=invalidByteOrder) const
Write value to a character data buffer.
Definition: value.cpp:211
bool verbose_
Verbose (talkative) option flag.
Definition: exiv2app.hpp:195
Helper structure for lookup tables for translations of controlled vocabulary strings to their descrip...
Definition: tags_int.hpp:207
const TagDetails nikonDateDisplayFormat[]
DateDisplayFormat, tag index 3.
static ByteOrder decode(ExifData &exifData, IptcData &iptcData, XmpData &xmpData, const byte *pData, uint32_t size)
Decode metadata from a buffer pData of length size with data in ORF format to the provided metadata c...
Definition: orfimage.cpp:140
LangAltValueComparator
Definition: value.hpp:881
std::ostream & print0x8822(std::ostream &os, const Value &value, const ExifData *metadata)
Print exposure program.
Definition: tags.cpp:2504
FileExistsPolicy fileExistsPolicy_
What to do if file to rename exists.
Definition: exiv2app.hpp:202
Search key for TIFF mapping structures.
Definition: tiffcomposite_int.hpp:402
Value type for XMP language alternative properties.
Definition: value.hpp:909
Rational toRational(long n=0) const
Return the n-th component of the value converted to Rational. The return value is -1/1 if the value i...
Definition: xmp.cpp:257
std::string mimeType() const
Return the MIME type of the image.
Definition: jpgimage.cpp:1060
const TagDetails pentaxDriveMode[]
DriveMode, combi-tag 0x0034 (4 bytes)
virtual void visitBinaryArray(TiffBinaryArray *object)
Read a binary array from the data buffer.
Definition: tiffvisitor.cpp:1540
Definition: utilsvideo.hpp:35
static const TagInfo * tagListSi4()
Return read-only list of built-in Shot Info D300 (b) tags.
Definition: nikonmn.cpp:1225
For comparison with prefix.
Definition: properties.hpp:77
const TiffType ttSignedRational
Exif SRATIONAL type.
Definition: tiffcomposite_int.hpp:67
EXIV2API 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...
std::string mimeType() const
Return the MIME type of the image.
DataBuf(long size)
Constructor with an initial buffer size.
Definition: types.hpp:194
std::string value_
Stores the string values.
Definition: value.hpp:800
bool binary_
Suppress long binary values.
Definition: exiv2app.hpp:197
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.cpp:247
const TagInfo * iopTagList()
Return read-only list of built-in IOP tags.
Definition: tags.cpp:2121
static std::ostream & print0x003c(std::ostream &os, const Value &value, const ExifData *)
Print ISO.
Definition: panasonicmn.cpp:647
CommonTarget
Enumerates common targets, bitmap.
Definition: exiv2app.hpp:170
static const char exifId_[]
Exif identifier.
Definition: jpgimage.hpp:251
virtual void visitSizeEntry(TiffSizeEntry *object)
Decode a TIFF size entry.
Definition: tiffvisitor.cpp:328
Iptcdatum & operator[](const std::string &key)
Returns a reference to the Iptcdatum that is associated with a particular key. If IptcData does not a...
Definition: iptc.cpp:270
const int raf
RAF image type (see class RafImage)
Definition: rafimage.hpp:50
static const DataSet * application2RecordList()
Return read-only list of built-in Application2 Record datasets.
Definition: datasets.cpp:441
const TagDetails sonyAutoBracketOrderA100[]
Lookup table to translate Sony A100 camera settings auto bracket order values to readable labels.
void writeMetadata()
Write metadata back to the image.
Definition: psdimage.cpp:344
static std::ostream & printPentaxDate(std::ostream &os, const Value &value, const ExifData *)
Print Pentax date.
Definition: pentaxmn.cpp:1018
std::ostream & printValueMinus4(std::ostream &os, const Value &value, const ExifData *)
Print the tag value minus 4.
Definition: samsungmn.cpp:187
Preview image properties.
Definition: preview.hpp:54
MimeTypeList mimeTypeList[]
List of TIFF compression to MIME type mappings.
Definition: tiffimage.cpp:93
static std::ostream & printFocal(std::ostream &os, const Value &value, const ExifData *)
Print lens focal length.
Definition: nikonmn.cpp:2488
uint32_t start_
Start of the encrypted data.
Definition: makernote.cpp:1080
Provides the http read/write access for the RemoteIo.
Definition: basicio.hpp:1113
Value type suitable for simple XMP properties and XMP nodes of complex types which are not parsed int...
Definition: value.hpp:731
std::string groupName_
The group name.
Definition: tags.cpp:2943
bool operator==(const Ns &ns) const
Comparison operator for namespace.
const TagDetails pentaxSaturation[]
Saturation, tag 0x001f.
const ArrayCfg nikonSi1Cfg
Nikon Shot Info binary array - configuration 1 (D80)
std::ostream & print0x9286(std::ostream &os, const Value &value, const ExifData *)
Print the user comment.
Definition: tags.cpp:2636
int ifdId_
Link to the (preferred) IFD.
Definition: tags.hpp:100
static std::ostream & printPentaxFocalLength(std::ostream &os, const Value &value, const ExifData *)
Print Pentax focal length.
Definition: pentaxmn.cpp:1056
virtual long count() const =0
Return the number of components of the value.
#define EXV_COUNTOF(a)
Macro to determine the size of an array.
Definition: types.hpp:467
virtual int getb()
Read one byte from the file. The file position is advanced by one byte.
Definition: basicio.cpp:1051
virtual long tell() const
Get the current IO position.
Definition: basicio.cpp:1901
std::auto_ptr< StringValueBase > AutoPtr
Shortcut for a StringValueBase auto pointer.
Definition: value.hpp:355
int setDataArea(const byte *buf, long len)
Set the data area by copying (cloning) the buffer pointed to by buf.
Definition: exif.cpp:310
const TagDetails casioDigitalZoom[]
Flash intensity, tag 0x0005.
std::ostream & printFloat(std::ostream &os, const Value &value, const ExifData *)
Print a Rational or URational value in floating point format.
Definition: tags.cpp:2274
std::auto_ptr< XmpTextValue > AutoPtr
Shortcut for a XmpTextValue auto pointer.
Definition: value.hpp:734
ExifKey & operator=(const ExifKey &rhs)
Assignment operator.
Definition: tags.cpp:3054
ExifData exifData_
Exif data container.
Definition: image.hpp:420
virtual TiffComponent * doAddPath(uint16_t tag, TiffPath &tiffPath, TiffComponent *const pRoot, TiffComponent::AutoPtr object)
Implements addPath(). Todo: Document it!
Definition: tiffcomposite.cpp:762
const TagDetails casioSaturation[]
Saturation, tag 0x000d.
TimeValue()
Default constructor.
Definition: value.cpp:1046
EXIV2API 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...
@ kerValueTooLarge
Entry::setValue: Value too large.
Definition: error.hpp:224
virtual void visitBinaryArray(TiffBinaryArray *object)
Encode a binary array.
Definition: tiffvisitor.cpp:765
const_iterator end() const
End of the metadata.
Definition: iptc.hpp:252
static ByteOrder decode(ExifData &exifData, IptcData &iptcData, XmpData &xmpData, const byte *pData, uint32_t size)
Decode metadata from a buffer pData of length size with data in TIFF format to the provided metadata ...
Definition: tiffimage.cpp:222
const TagDetails sonyColorTemperatureSettingA100[]
Lookup table to translate Sony A100 camera settings color temperature setting values to readable labe...
const TagDetails panasonicRotation[]
Rotation, tag 0x0030.
const uint32_t none
Dummy tag.
Definition: tiffcomposite_int.hpp:81
std::string path_
(Standard) path
Definition: basicio.cpp:1546
long toLong(long n=0) const
Return the n-th component of the value converted to long. The return value is -1 if the value is not ...
Definition: iptc.cpp:195
Keys keys_
List of keys to match from the metadata.
Definition: exiv2app.hpp:224
uint32_t idx_
Index in bytes from the start.
Definition: tiffcomposite_int.hpp:1323
virtual void writeRemote(const byte *data, size_t size, long from, long to)=0
Submit the data to the remote machine. The data replace a part of the remote file....
virtual uint32_t doSizeImage() const
Implements sizeImage(). Return the sum of the image sizes of all sub-IFDs.
Definition: tiffcomposite.cpp:1806
IfdId group_
Group that contains the tag.
Definition: tiffimage_int.hpp:221
Helper struct for SFINAE, from C++11.
Definition: safe_op.hpp:92
static const byte sof5_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:242
const TagDetails canonCsFocusContinuous[]
FocusContinuous, tag 0x0020.
const TagDetails nikon2WhiteBalance[]
WhiteBalance, tag 0x0007.
int ifdId() const
Return the IFD id as an integer. (Do not use, this is meant for library internal use....
Definition: exif.cpp:345
iterator end()
End of the metadata.
Definition: exif.hpp:496
void printStructure(std::ostream &out, PrintStructureOption option)
Print out the structure of image file.
Definition: tiffimage.cpp:449
static const TagInfo * tagList()
Return read-only list of built-in Samsung tags.
Definition: samsungmn.cpp:151
bool isRw2Type(BasicIo &iIo, bool advance)
Check if the file iIo is a RW2 image.
Definition: rw2image.cpp:246
PngImage(BasicIo::AutoPtr io, bool create)
Constructor that can either open an existing PNG image or create a new image from scratch....
virtual TiffEntry * doClone() const
Internal virtual copy constructor, implements clone().
Definition: tiffcomposite.cpp:297
std::string maxAperture_
Aperture.
Definition: canonmn.cpp:1550
long parseLong(const std::string &s, bool &ok)
Return a long set to the value represented by s.
Definition: types.cpp:575
bool repeatable_
True if dataset is repeatable.
Definition: datasets.hpp:79
const TagDetails canonFilterEffect[]
FilterEffect, tag 0x000e.
MemIo()
Default constructor that results in an empty object.
Definition: basicio.cpp:1164
static std::ostream & printLensId(std::ostream &os, const Value &value, const ExifData *metadata, const std::string &group)
Print lens name.
Definition: nikonmn.cpp:1724
uint16_t record() const
Return the record id.
Definition: iptc.cpp:130
virtual uint32_t doCount() const
Implements count().
Definition: tiffcomposite.cpp:1020
const TagDetails nikonOnOff[]
OnOff.
virtual ~TiffEntryBase()
Virtual destructor.
Definition: tiffcomposite.cpp:198
const TagDetails minoltaFocusPosition5D[]
Lookup table to translate Minolta Dynax 5D camera settings focus position values to readable labels.
const TagDetails minoltaFlashMeteringStd[]
Lookup table to translate Minolta Std camera settings flash metering values to readable labels.
Information related to an XMP property. An XMP metadatum consists of an XmpKey and a Value and provid...
Definition: xmp.hpp:58
void junkHandler(long size)
Interpret Junk tag information, and save it in the respective XMP container.
const TagDetails minoltaFocusAreaStd[]
Lookup table to translate Minolta Std camera settings focus area values to readable labels.
const TagDetails pentaxLensType[]
LensType, combi-tag 0x003f (2 unsigned long)
void setIptcData(const IptcData &iptcData)
Todo: Not supported yet, requires writeMetadata(). Calling this function will throw an Error(32).
Definition: rafimage.cpp:86
const TagDetails olympusFiExternalFlashBounce[]
OlympusFi ExternalFlashBounce, tag 0x1204.
const TagDetails olympusImageStabilization[]
Olympus ImageStabilization, tag 0x0604.
static std::ostream & print0x0029(std::ostream &os, const Value &value, const ExifData *)
Print TimeSincePowerOn.
Definition: panasonicmn.cpp:597
const TiffType ttUnsignedRational
Exif RATIONAL type.
Definition: tiffcomposite_int.hpp:62
std::string value_
Data.
Definition: exiv2app.hpp:74
const TagDetails canonCsDriveMode[]
DriveMode, tag 0x0005.
const TagDetails olympusFlashDevice[]
FlashDevice, tag 0x1005.
virtual uint32_t doSizeImage() const
Implements sizeImage(). Return the size of the image data area.
Definition: tiffcomposite.cpp:1825
const TagDetails casio2FocusMode[]
Focus Mode, tag 0x000d.
int64_t val_
Tag value.
Definition: tags_int.hpp:187
Structure for TIFF compression to MIME type mappings.
Definition: tiffimage.cpp:85
long writeFile(const DataBuf &buf, const std::string &path)
Write DataBuf buf to file path.
Definition: basicio.cpp:2626
const TagDetails sonyDriveModeStd[]
Lookup table to translate Sony camera settings drive mode values to readable labels.
EXIV2API bool isMkvType(BasicIo &iIo, bool advance)
Check if the file iIo is a Matroska Video.
CmdLines cmdLines_
Commands from the command line.
Definition: exiv2app.hpp:216
void cnvFromXmp()
Convert XMP properties to Exif tags or IPTC datasets according to the conversion table.
Definition: convert.cpp:465
virtual void doAccept(TiffVisitor &visitor)
Implements accept().
Definition: tiffcomposite.cpp:931
std::ostream & printDegrees(std::ostream &os, const Value &value, const ExifData *)
Print a longitude or latitude value.
Definition: tags.cpp:2281
Rational getRational(const byte *buf, ByteOrder byteOrder)
Read an 8 byte signed rational value from the data buffer.
Definition: types.cpp:284
std::string tagName() const
Return the name of the tag (aka dataset)
Definition: iptc.cpp:145
static std::ostream & print0x0305(std::ostream &os, const Value &value, const ExifData *)
Print Olympus focus distance.
Definition: olympusmn.cpp:1578
PreviewNumbers previewNumbers_
List of preview numbers.
Definition: exiv2app.hpp:222
std::ostream & print0x0019(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS destination distance ref.
Definition: tags.cpp:2424
const uint32_t next
Special tag: next IFD.
Definition: tiffcomposite_int.hpp:83
const ArrayCfg nikonVrCfg
Nikon Vibration Reduction binary array - configuration.
IPTC dataset reference, implemented as a static class.
Definition: datasets.hpp:88
@ unsignedLong
Exif LONG type, 32-bit (4-byte) unsigned integer.
Definition: types.hpp:120
void decodeBlock()
Check for a valid tag and decode the block at the current IO position. Calls tagDecoder() or skips to...
Level
Defined log levels. To suppress all log messages, either set the log level to mute or set the log mes...
Definition: error.hpp:87
virtual void doAccept(TiffVisitor &visitor)
Implements accept().
Definition: tiffcomposite.cpp:942
EXV_DLLLOCAL BasicError(int code, const A &arg1, const B &arg2)
Constructor taking an error code and two arguments.
const TagDetails olympusRd2PMPictureTone[]
OlympusRd2 PMPictureTone, tag 0x0111.
const TagDetails casio2FocusMode2[]
Focus Mode 2, tag 0x3003.
const TagDetails sonyFlashMode[]
Lookup table to translate Sony camera settings flash mode values to readable labels.
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.cpp:229
static std::ostream & print0x0086(std::ostream &os, const Value &value, const ExifData *)
Print digital zoom setting.
Definition: nikonmn.cpp:1537
An Image subclass to support ASF video files.
MakerNote for Casio2 cameras.
Definition: casiomn_int.hpp:67
virtual TiffComponent * doAddChild(TiffComponent::AutoPtr tiffComponent)
Implements addChild(). The default implementation does nothing.
Definition: tiffcomposite.cpp:838
Concrete keys for XMP metadata.
Definition: properties.hpp:232
virtual int putb(byte data)
Not support.
Definition: basicio.cpp:1780
ModifyCmd()
C'tor.
Definition: exiv2app.hpp:65
const TagDetails nikonAfAreaMode[]
AfAreaMode.
const TagDetails canonNoiseReduction[]
NoiseReduction, tag 0x0008.
const TagDetails minoltaSonyRotation[]
Lookup table to translate Sony camera settings rotation values to readable labels.
T stringTo(const std::string &s, bool &ok)
Utility function to convert a string to a value of type T.
Definition: types.hpp:490
PrintMode printMode_
Print mode.
Definition: exiv2app.hpp:204
std::string ns_
The namespace string.
Definition: properties.hpp:88
virtual uint32_t doSizeImage() const
Implements sizeImage(). Return 0.
Definition: tiffcomposite.cpp:1820
TypeId getType< int32_t >()
Specialization for a signed long.
Definition: value.hpp:1238
virtual void setIptcData(const IptcData &iptcData)
Assign new IPTC data. The new IPTC data is not written to the image until the writeMetadata() method ...
Definition: image.cpp:238
ModifyCmds modifyCmds_
Parsed modification commands.
Definition: exiv2app.hpp:217
const TagDetails fujiWhiteBalance[]
WhiteBalance, tag 0x1002.
virtual BasicIo::AutoPtr temporary() const =0
Returns a temporary data storage location. This is often needed to rewrite an IO source.
CrwMapping(uint16_t crwTagId, uint16_t crwDir, uint32_t size, uint16_t tag, Internal::IfdId ifdId, CrwDecodeFct toExif, CrwEncodeFct fromExif)
Default constructor.
Definition: crwimage_int.hpp:557
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.cpp:896
GIF image, implemented using the following references: GIF89 specification by W3C
virtual std::ostream & write(std::ostream &os) const
Write the ASCII value up to the the first '\0' character to an output stream. Any further characters ...
Definition: value.cpp:394
virtual void visitDirectoryEnd(TiffDirectory *object)
Operation to perform for a TIFF directory, at the end of the processing.
Definition: tiffvisitor.cpp:113
int pixelWidth() const
Return the pixel width of the image.
Definition: orfimage.cpp:66
ValueType< uint32_t > ULongValue
Unsigned long value type.
Definition: value.hpp:1351
void setComment(const std::string &comment)
Not supported. ORF format does not contain a comment. Calling this function will throw an Error(32).
Definition: orfimage.cpp:84
void setTime(const Time &src)
Set the time.
Definition: value.cpp:1148
const char * key2_
Second metadata key (always an XMP key for now).
Definition: convert.cpp:111
Impl()
Default constructor.
Definition: basicio.cpp:1118
const ArrayCfg nikonMeCfg
Nikon Multi Exposure binary array - configuration.
TiffComponent * newCasioMn(uint16_t tag, IfdId group, IfdId, const byte *pData, uint32_t size, ByteOrder)
Function to create a Casio2 makernote.
Definition: makernote.cpp:1035
std::string focalLength_
Focal length.
Definition: canonmn.cpp:1549
virtual int read(const std::string &buf)=0
Set the value from a string buffer. The format of the string corresponds to that of the write() metho...
static Level level()
Return the current log level.
Definition: error.hpp:124
static std::ostream & print0x0008(std::ostream &os, const Value &value, const ExifData *)
Print the image number.
Definition: canonmn.cpp:1506
@ tiffDouble
TIFF DOUBLE type, double precision (8-byte) IEEE format.
Definition: types.hpp:128
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
Definition: pgfimage.cpp:86
virtual const char * familyName() const =0
Return an identifier for the type of metadata (the first part of the key)
DataBuf()
Default constructor.
Definition: types.hpp:192
std::string string_from_unterminated(const char *data, size_t data_length)
Convert a (potentially not null terminated) array into a std::string.
Definition: helper_functions.cpp:33
void setComment(const std::string &comment)
Not supported. CR2 format does not contain a comment. Calling this function will throw an Error(32).
Definition: cr2image.cpp:84
Impl(const XmpKey &key, const Value *pValue)
Constructor.
Definition: xmp.cpp:137
bool version_
Version option flag.
Definition: exiv2app.hpp:194
virtual void visitIfdMakernoteEnd(TiffIfdMakernote *object)
Reset reader to its original state, undo makernote specific settings.
Definition: tiffvisitor.cpp:1442
Class to access ASF video files.
Definition: asfvideo.hpp:56
void clear()
Delete all Iptcdatum instances resulting in an empty container.
Definition: iptc.hpp:225
double getDouble(const byte *buf, ByteOrder byteOrder)
Read an 8 byte double precision floating point value (IEEE 754 binary64) from the data buffer.
Definition: types.cpp:305
int hour
Hour.
Definition: value.hpp:1120
const TagDetails exifPredictor[]
Predictor, tag 0x013d.
#define EXV_MAX(a, b)
Simple common max macro.
Definition: types.hpp:77
const ArrayDef nikonCb2Def[]
Nikon Color Balance binary array - definition 2 (D2H)
const TagDetails casioCCDSensitivity[]
CCD Sensitivity intensity, tag 0x0020.
TiffComponent(uint16_t tag, IfdId group)
Constructor.
Definition: tiffcomposite.cpp:96
std::pair< byte *, long > release()
Release ownership of the buffer to the caller. Returns the buffer as a data pointer and size pair,...
Definition: types.cpp:163
int pixelHeight_
image pixel height
Definition: image.hpp:426
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 ...
Definition: crwimage.cpp:213
TypeId toTypeId(TiffType tiffType, uint16_t tag, IfdId group)
Convert the tiffType of a tag and group to an Exiv2 typeId.
Definition: tiffcomposite.cpp:1839
Iptcdatum(const IptcKey &key, const Value *pValue=0)
Constructor for new tags created by an application. The Iptcdatum is created from a key / value pair....
Definition: iptc.cpp:92
virtual ~DateValue()
Virtual destructor.
Definition: value.cpp:926
void fileProperties()
Interpret File_Properties tag information, and save it in the respective XMP container.
size_t size_
The file size.
Definition: basicio.cpp:1552
void writeMetadata()
Write metadata back to the image.
Definition: epsimage.cpp:1133
Search key for TIFF group structure.
Definition: tiffimage_int.hpp:203
TiffComponent::AutoPtr newTiffImageSize(uint16_t tag, IfdId group)
Function to create and initialize a new TIFF entry for image data (size)
Definition: tiffcomposite_int.hpp:1661
const int psd
Photoshop (PSD) image type (see class PsdImage)
Definition: psdimage.hpp:54
Rw2Image(BasicIo::AutoPtr io)
Constructor to open an existing RW2 image. Since the constructor can not return a result,...
Definition: rw2image.cpp:55
static bool valid(const byte *pPsData, long sizePsData)
Validates all IRBs.
Definition: jpgimage.cpp:104
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.cpp:792
Value for an Ascii string type.
Definition: value.hpp:466
Key(uint16_t tag, const char *ver, uint32_t size)
Constructor.
Definition: makernote.cpp:1063
IfdId group_
Group that contains the tag.
Definition: tiffcomposite_int.hpp:395
const TagDetails fujiTone[]
Tone, tag 0x1004.
const char * desc_
Property description.
Definition: properties.hpp:71
const TagDetails canonCsImageStabilization[]
ImageStabilization, tag 0x0022.
bool operator==(const Key &key) const
Compare a TiffMappingInfo with a TiffMappingInfo::Key. The two are equal if TiffMappingInfo::make_ eq...
Definition: tiffcomposite.cpp:59
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
Definition: cr2image.cpp:90
Definition: crwimage.hpp:119
std::ostream & print0xa404(std::ostream &os, const Value &value, const ExifData *)
Print digital zoom ratio.
Definition: tags.cpp:2683
const char * ns_
Namespace.
Definition: properties.hpp:95
void setDate(const Date &src)
Set the date.
Definition: value.cpp:973
virtual std::string & xmpPacket()
Return a modifiable reference to the raw XMP packet.
Definition: image.cpp:201
long idx_
Index into the memory area.
Definition: basicio.cpp:1553
CrwImage(BasicIo::AutoPtr io, bool create)
Constructor that can either open an existing CRW image or create a new image from scratch....
Definition: crwimage.cpp:85
virtual int putb(byte data)
Write one byte to the file. The file position is advanced by one byte.
Definition: basicio.cpp:928
virtual ~CiffEntry()
Virtual destructor.
Definition: crwimage.cpp:338
bool isHex(const std::string &str, size_t size, const std::string &prefix)
Return true if str is a hex number starting with prefix followed by size hex digits,...
Definition: types.cpp:487
void dateTimeOriginal(long size, int i=0)
Interprets DateTimeOriginal tag or stream name tag information, and save it in the respective XMP con...
const TagDetails olympusCCDScanMode[]
CCDScanMode, tag 0x1039.
const TagDetails nikonFilterEffect[]
FilterEffect.
virtual void clearMetadata()
Erase all buffered metadata. Metadata is not removed from the actual image until the writeMetadata() ...
Definition: image.cpp:177
virtual int idx() const
Return the unique id of the entry in the image.
Definition: tiffcomposite.cpp:354
virtual void visitMnEntry(TiffMnEntry *object)
Decode a TIFF makernote.
Definition: tiffvisitor.cpp:343
static std::ostream & print0x2001(std::ostream &os, const Value &value, const ExifData *)
Print FirmwareDate.
Definition: casiomn.cpp:550
virtual uint16_t tag() const
Properties don't have a tag number. Return 0.
Definition: properties.cpp:2485
Value for an undefined data type.
Definition: value.hpp:265
virtual void visitDirectoryNext(TiffDirectory *object)
Update directory entries.
Definition: tiffvisitor.cpp:675
static std::string writeDataToFile(const std::string &orgPath)
Read the data from stdin/data uri path and write them to the file.
Definition: basicio.cpp:1475
const uint32_t all
Special tag: all tags in a group.
Definition: tiffcomposite_int.hpp:84
const TagDetails nikonActiveDLighning[]
Off, Low, Normal, High, multiple tags.
Samsung makernote tags. References: [1] ExifTool by Phil Harvey.
const ArrayCfg nikonPcCfg
Nikon Picture Control binary array - configuration.
IfdId group() const
Return the group id of this component.
Definition: tiffcomposite_int.hpp:262
TiffEntry(uint16_t tag, IfdId group)
Constructor.
Definition: tiffcomposite_int.hpp:573
int defSize() const
Return the number of elements in the definition.
Definition: tiffcomposite_int.hpp:1420
Jp2Image(BasicIo::AutoPtr io, bool create)
Constructor to open a JPEG-2000 image. Since the constructor can not return a result,...
Definition: jp2image.cpp:113
virtual void clearXmpData()
Erase any buffered XMP data. XMP data is not removed from the actual image until the writeMetadata() ...
Definition: image.cpp:255
const byte * pData() const
Return a pointer to the data area of this component.
Definition: crwimage_int.hpp:243
static EncoderFct findEncoder(const std::string &make, uint32_t extendedTag, IfdId group)
Find special encoder function for a key.
Definition: tiffimage.cpp:2016
const ArrayCfg sony2Cs2Cfg
Sony2 Camera Settings 2 binary array - configuration.
Details of an IPTC dataset.
Definition: datasets.hpp:59
virtual uint32_t doSize() const
Implements size(). Return the size of the TIFF directory, values and additional data,...
Definition: tiffcomposite.cpp:1653
const TagDetails exifLightSource[]
LightSource, tag 0x9208.
DateValue()
Default constructor.
Definition: value.cpp:913
void makeKey(uint16_t tag, IfdId ifdId, const TagInfo *tagInfo)
Set the key corresponding to the tag, ifdId and tagInfo. The key is of the form 'Exif....
Definition: tags.cpp:3001
void streamFormatHandler(long size)
Interpret Stream Format tag information, and save it in the respective XMP container.
const TagDetails minoltaModelStd[]
Lookup table to translate Minolta Std camera settings model values to readable labels.
ExifData::const_iterator sharpness(const ExifData &ed)
Return the sharpness level.
Definition: easyaccess.cpp:310
uint32_t writeImage(IoWrapper &ioWrapper, ByteOrder byteOrder) const
Write the image data of this component to a binary image. Return the number of bytes written....
Definition: tiffcomposite.cpp:1552
static const byte sof9_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:245
const ArraySet sony2CsSet[]
Sony2 Camera Settings configurations and definitions.
EncoderFct(* FindEncoderFct)(const std::string &make, uint32_t extendedTag, IfdId group)
Type for a function pointer for a function to encode a TIFF component.
Definition: tifffwd_int.hpp:100
Class to access PNG images. Exif and IPTC metadata are supported directly.
Definition: pngimage.hpp:63
TiffComponent * newPentaxMn(uint16_t tag, IfdId group, IfdId, const byte *pData, uint32_t size, ByteOrder)
Function to create an Pentax makernote.
Definition: makernote.cpp:918
ValueType< URational > URationalValue
Unsigned rational value type.
Definition: value.hpp:1353
static std::ostream & printSi0x0003(std::ostream &os, const Value &value, const ExifData *)
MeasuredEV.
Definition: canonmn.cpp:1698
uint32_t width() const
Return the width of the preview image in pixels.
Definition: preview.cpp:1122
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 ta...
Definition: tags_int.hpp:226
std::ostream & printXmpDate(std::ostream &os, const Value &value, const ExifData *)
Print a date following the format YYYY-MM-DDTHH:MM:SSZ.
Definition: tags.cpp:2767
static const TagInfo * tagListCs()
Return read-only list of built-in Olympus Camera Settings tags.
Definition: olympusmn.cpp:719
Internal TIFF parser related typedefs and forward definitions.
static std::ostream & print0x009e(std::ostream &os, const Value &value, const ExifData *)
Print retouch history.
Definition: nikonmn.cpp:2657
IfdId group() const
Return the group.
Definition: tiffcomposite_int.hpp:108
MakerNote for Casio cameras.
Definition: casiomn_int.hpp:51
long size() const
Return the size of the value in bytes.
Definition: value.cpp:701
const TagDetails exifMeteringMode[]
MeteringMode, tag 0x9207.
Internal classes to support RW2 image format.
virtual std::string key() const
Return the key of the metadatum as a string. The key is of the form 'familyName.groupName....
Definition: datasets.cpp:625
IfdId group_
Each group is a node in the tree.
Definition: tiffimage_int.hpp:237
static std::ostream & print0x0033(std::ostream &os, const Value &value, const ExifData *)
Print Baby age.
Definition: panasonicmn.cpp:615
static TypeId dataSetType(uint16_t number, uint16_t recordId)
Return the type for dataSet number and Record id.
Definition: datasets.cpp:484
static const TagInfo * tagListAFT()
Return read-only list of built-in AF Fine Tune tags.
Definition: nikonmn.cpp:737
static const TagInfo * tagList()
Return read-only list of built-in Nikon1 tags.
Definition: nikonmn.cpp:269
ValueType value_
Map to store the language alternative values. The language qualifier is used as the key for the map e...
Definition: value.hpp:987
TiffSizeEntry(uint16_t tag, IfdId group, uint16_t dtTag, IfdId dtGroup)
Constructor.
Definition: tiffcomposite_int.hpp:826
const TagDetails pentaxImageProcessing[]
ImageProcessing, combi-tag 0x0032 (4 bytes)
bool mandatory_
True if dataset is mandatory.
Definition: datasets.hpp:78
void setElByteOrder(ByteOrder byteOrder)
Set the byte order of this element.
Definition: tiffcomposite_int.hpp:1516
const ArrayDef nikonMeDef[]
Nikon Multi Exposure binary array - definition.
const ArrayDef nikonSi3Def[]
Nikon Shot Info binary array - definition 3 (D300a)
A standard TIFF IFD entry consisting of a value which is an array of offsets to image data areas....
Definition: tiffcomposite_int.hpp:738
const char * familyName() const
Return the name of the metadata family (which is also the first part of the key)
Definition: xmp.cpp:187
XPathIo(const std::string &orgPath)
Default constructor that reads data from stdin/data uri path and writes them to the temp file.
Definition: basicio.cpp:1440
static std::ostream & printPanasonicText(std::ostream &os, const Value &value, const ExifData *)
Print special text values: title, landmark, county and so on.
Definition: panasonicmn.cpp:666
const TagDetails minoltaSonyBoolFunction[]
Lookup table to translate Minolta/Sony bool function values to readable labels.
const TagDetails minoltaWhiteBalanceStd[]
Lookup table to translate Minolta Std camera settings white balance values to readable labels.
int stat(StructStat &buf) const
stat wrapper for internal use
Definition: basicio.cpp:238
static void getPath(TiffPath &tiffPath, uint32_t extendedTag, IfdId group, uint32_t root)
Get the path, i.e., a list of extended tag and group pairs, from the root TIFF element to the TIFF en...
Definition: tiffimage.cpp:2063
const TagDetails pentaxYesNo[]
Generic for Yes/No switches.
std::string getEnv(EnVar var)
Return the value of environmental variable.
Definition: futils.cpp:65
const TagDetails exifYCbCrPositioning[]
YCbCrPositioning, tag 0x0213.
const TagDetails canonOffOn[]
OffOn, multiple tags.
static std::ostream & printPentaxCompensation(std::ostream &os, const Value &value, const ExifData *)
Print Pentax compensation.
Definition: pentaxmn.cpp:1066
Internal Pimpl structure of class FileIo.
Definition: basicio.cpp:90
uint32_t e_
Extended tag.
Definition: tiffimage_int.hpp:206
const Value * pValue() const
Return a const pointer to the converted value of this component.
Definition: tiffcomposite_int.hpp:478
Simple binary IO abstraction.
const ArrayCfg canonSiCfg
Canon Shot Info binary array - configuration.
const ArrayDef nikonSi5Def[]
Nikon Shot Info binary array - definition 5 (ver 01.xx and ver 02.xx)
void decodeBlock()
Check for a valid tag and decode the block at the current IO position. Calls tagDecoder() or skips to...
virtual bool eof() const
Returns true if the IO position has reach the end, otherwise false.
Definition: basicio.cpp:1921
static const XmpNsInfo * nsInfo(const std::string &prefix)
Return information about a schema namespace for prefix. Always returns a valid pointer.
static std::ostream & print0x0015(std::ostream &os, const Value &value, const ExifData *)
Print FirmwareDate.
Definition: casiomn.cpp:230
const char * groupName(IfdId ifdId)
Return the group name for a group id.
Definition: tags.cpp:2170
const TagDetails minoltaSonyImageQuality[]
Lookup table to translate Sony/Minolta image quality values to readable labels.
size_t blockSize_
Size of the block memory.
Definition: basicio.cpp:1550
Canon makernote tags. References: [1] EXIF MakerNote of Canon by David Burren [2] Canon makernote t...
uint32_t height() const
Return the height of the preview image in pixels.
Definition: preview.cpp:1127
void makeKey()
Set the key corresponding to the dataset and record id. The key is of the form 'Iptc....
Definition: datasets.cpp:705
virtual void transfer(BasicIo &src)
Remove the contents of the file and then transfer data from the src BasicIo object into the empty fil...
Definition: basicio.cpp:1846
const TagDetails fujiFocusMode[]
FocusMode, tag 0x1021.
iterator findKey(const XmpKey &key)
Find the first Xmpdatum with the given key, return an iterator to it.
Definition: xmp.cpp:342
const TagDetails pentaxAFPoint[]
AFPoint, tag 0x000e.
uint16_t tag_
Exif tag to map to.
Definition: crwimage_int.hpp:579
Contains utility classes and functions. Most of these are wrappers for common C functions that do not...
Definition: utils.cpp:56
const ArrayCfg nikonIiCfg
Nikon ISO info binary array - configuration.
const TagDetails nikonPhaseDetectAF[]
PhaseDetectAF.
const ArrayDef nikonSi4Def[]
Nikon Shot Info binary array - definition 4 (D300b)
bool operator==(long key) const
Comparison operator for use with the find template.
Definition: tags_int.hpp:191
std::string stringFormat(const char *format,...)
format a string in the pattern of sprintf .
Definition: image.cpp:584
const TagDetails minoltaColorModeStd[]
Lookup table to translate Minolta Std camera settings color mode values to readable labels.
const TagDetails sonySelfTimerTimeA100[]
Lookup table to translate Sony A100 camera settings self timer time values to readable labels.
bool help_
Help option flag.
Definition: exiv2app.hpp:193
virtual StringValueBase * clone_() const =0
Internal virtual copy constructor.
Type information lookup functions. Implemented as a static class.
Definition: types.hpp:151
Simple IO wrapper to ensure that the header is only written if there is any other data at all.
Definition: tiffcomposite_int.hpp:126
SectionId
Section identifiers to logically group tags. A section consists of nothing more than a name,...
Definition: tags_int.hpp:168
Cr2Image(BasicIo::AutoPtr io, bool create)
Constructor that can either open an existing CR2 image or create a new image from scratch....
Definition: cr2image.cpp:56
std::string mimeType() const
Return the MIME type of the image.
Definition: pgfimage.hpp:92
const int asf
Treating asf as an image type>
Definition: asfvideo.hpp:49
bool hasNext() const
Return true if the directory has a next pointer.
Definition: tiffcomposite_int.hpp:878
void setComment(const std::string &comment)
Not supported. RW2 format does not contain a comment. Calling this function will throw an Error(32).
Definition: rw2image.cpp:97
TiffComponent * newSamsungMn(uint16_t tag, IfdId group, IfdId mnGroup, const byte *pData, uint32_t size, ByteOrder)
Function to create a Samsung makernote.
Definition: makernote.cpp:954
TiffType elTiffType_
Type for the array entry and the size element, if any.
Definition: tiffcomposite_int.hpp:1338
Class to access EPS images.
Definition: epsimage.hpp:63
void writeRemote(const byte *data, size_t size, long from, long to)
Submit the data to the remote machine. The data replace a part of the remote file....
Definition: basicio.cpp:2058
ExifData::const_iterator macroMode(const ExifData &ed)
Return the macro mode setting.
Definition: easyaccess.cpp:187
This class models a CIFF directory of a CRW (Canon Raw data) image.
Definition: crwimage_int.hpp:355
virtual void visitDataEntry(TiffDataEntry *object)
Find tag and group in a TIFF data entry.
Definition: tiffvisitor.cpp:150
const TagDetails minoltaAFPoints7D[]
Lookup table to translate Minolta Dynax 7D camera settings AF points values to readable labels.
iterator end()
End of the metadata.
Definition: iptc.hpp:233
Port of D's enforce() to C++ & Exiv2.
static const char * dataSetPsName(uint16_t number, uint16_t recordId)
Return the photohsop name of a given dataset.
Definition: datasets.cpp:516
const TagDetails minoltaDECPositionStd[]
Lookup table to translate Minolta Std camera settings DEC switch position values to readable labels.
TypeId getType< URational >()
Specialization for an unsigned rational.
Definition: value.hpp:1234
const ArrayDef nikonCb1Def[]
Nikon Color Balance binary array - definition 1 (D100)
Class to access raw Photoshop images.
Definition: psdimage.hpp:60
void cnvXmpFlash(const char *from, const char *to)
XMP to Exif Flash conversion function.
Definition: convert.cpp:983
IfdId ifdId_
Exif Ifd id to map to.
Definition: crwimage_int.hpp:580
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
Definition: rw2image.cpp:103
XmpCategory xmpCategory_
Category (internal or external)
Definition: properties.hpp:70
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
Definition: tiffimage.cpp:174
virtual int read(const std::string &buf)=0
Set the value from a string buffer. The format of the string corresponds to that of the write() metho...
bool timestampOnly_
Rename only sets the file timestamp.
Definition: exiv2app.hpp:201
uint32_t findBlockSize(byte b)
Function used to calulate the size of a block. This information is only stored in one byte....
virtual uint32_t doCount() const
Implements count(). Todo: Document it!
Definition: tiffcomposite.cpp:1041
void tagDecoder(const TagVocabulary *tv, uint64_t size)
Interpret tag information, and call the respective function to save it in the respective XMP containe...
const TagDetails minoltaImageSizeStd[]
Lookup table to translate Minolta Std camera settings image size values to readable labels.
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:1635
const TagDetails minoltaSonyLocalAFAreaPoint[]
Lookup table to translate Sony camera settings Local AF Area Point values to readable labels.
void setJpegThumbnail(const std::string &path, URational xres, URational yres, uint16_t unit)
Set the Exif thumbnail to the JPEG image path. Set XResolution, YResolution and ResolutionUnit to xre...
Definition: exif.cpp:492
std::string groupName() const
Return the (preferred) schema namespace prefix.
Definition: xmp.cpp:192
@ tiffIfd
TIFF IFD type, 32-bit (4-byte) unsigned integer.
Definition: types.hpp:129
long position_
Position.
Definition: image.hpp:63
static DecoderFct findDecoder(const std::string &make, uint32_t extendedTag, IfdId group)
Find the decoder function for a key.
Definition: tiffimage.cpp:2002
Helper structure for lookup tables for translations of bitmask values to human readable labels.
Definition: tags_int.hpp:198
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.cpp:343
const TagDetails minoltaSonyWhiteBalanceStd[]
Lookup table to translate Sony/Minolta Std camera settings white balance values to readable labels.
virtual int read(const byte *buf, long len, ByteOrder byteOrder=invalidByteOrder)
Read the value from a character buffer.
Definition: value.cpp:635
virtual uint32_t doWrite(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &imageIdx)
Implements write() by forwarding the call to the actual concrete Makernote, if there is one.
Definition: tiffcomposite.cpp:1356
const TagDetails sonyModelId[]
Lookup table to translate Sony model ID values to readable labels.
const TagDetails sonyFlashTypeA100[]
Lookup table to translate Sony A100 camera settings flash type switch values to readable labels.
TiffComponent * newNikon3Mn2(uint16_t tag, IfdId group, IfdId mnGroup)
Function to create a Nikon3 makernote.
Definition: makernote.cpp:892
void cnvXmpArray(const char *from, const char *to)
Converts XMP array to Exif tag with multiple components.
Definition: convert.cpp:820
virtual int close()=0
Close the IO source. After closing a BasicIo instance can not be read or written. Closing flushes any...
virtual void setMetadata(const Image &image)
Copy all existing metadata from source Image. The data is copied into internal buffers and is not wri...
Definition: image.cpp:206
long count() const
Return the number of components in the value.
Definition: xmp.cpp:227
EXIV2API 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...
static std::ostream & print0x0036(std::ostream &os, const Value &value, const ExifData *)
Print Travel days.
Definition: panasonicmn.cpp:631
static Image::AutoPtr open(const std::string &path, bool useCurl=true)
Create an Image subclass of the appropriate type by reading the specified file. Image type is derived...
Definition: image.cpp:475
TypeId getType< double >()
Specialization for a double.
Definition: value.hpp:1244
virtual DataBuf dataArea() const
Return a copy of the data area if the value has one. The caller owns this copy and DataBuf ensures th...
Definition: value.cpp:165
const TagDetails olympusFlashRemoteControl[]
FlashRemoteControl, tag 0x0403.
uint32_t size_
Size.
Definition: image.hpp:64
TypeId getType< int16_t >()
Specialization for a signed short.
Definition: value.hpp:1236
static std::ostream & printFiFileNumber(std::ostream &os, const Value &value, const ExifData *metadata)
Print the FileInfo FileNumber.
Definition: canonmn.cpp:1425
Key(const std::string &m, uint32_t e, IfdId g)
Constructor.
Definition: tiffcomposite_int.hpp:404
void encodeBinaryArray(TiffBinaryArray *object, const Exifdatum *datum)
Callback encoder function for a binary array.
Definition: tiffvisitor.cpp:873
std::ostream & print0x001e(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS differential correction.
Definition: tags.cpp:2429
std::ostream & printMinoltaSonyPrioritySetupShutterRelease(std::ostream &os, const Value &value, const ExifData *metadata)
Print Minolta/Sony priority setup shutter release values to readable labels.
Definition: minoltamn.cpp:2045
virtual void visitDirectory(TiffDirectory *object)
Decode a TIFF directory.
Definition: tiffvisitor.cpp:333
const byte * pData() const
Return a pointer to the image data for read-only access.
Definition: preview.cpp:1095
FileExistsPolicy
Enumerates the policies to handle existing files in rename action.
Definition: exiv2app.hpp:181
Structure to define conversions between two keys.
Definition: convert.cpp:108
virtual ~MemIo()
Destructor. Releases all managed memory.
Definition: basicio.cpp:1174
int idx() const
Return the index (unique id of this key within the original Exif data, 0 if not set)
Definition: tags.cpp:3125
const int jp2
JPEG-2000 image type.
Definition: jp2image.hpp:56
MetadataId
An identifier for each type of metadata.
Definition: types.hpp:105
TiffDataEntry(uint16_t tag, IfdId group, uint16_t szTag, IfdId szGroup)
Constructor.
Definition: tiffcomposite_int.hpp:661
MakerNote for Sony cameras.
Definition: sonymn_int.hpp:55
virtual float toFloat(long n=0) const =0
Convert the n-th component of the value to a float. The behaviour of this method may be undefined if ...
virtual void clearComment()
Erase any buffered comment. Comment is not removed from the actual image until the writeMetadata() me...
Definition: image.cpp:274
const ArraySet nikonLdSet[]
Nikon Lens Data configurations and definitions.
bool operator==(const Key &key) const
Comparison operator for a key.
Definition: makernote.cpp:1069
TiffComponent * newSamsungMn2(uint16_t tag, IfdId group, IfdId mnGroup)
Function to create a Samsung makernote.
Definition: makernote.cpp:976
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.cpp:797
const ArrayCfg sony1CsCfg
Sony1 Camera Settings binary array - configuration.
std::ostream & print0x0006(std::ostream &os, const Value &value, const ExifData *)
Print GPS altitude.
Definition: tags.cpp:2358
virtual std::string groupName() const =0
Return the name of the group (the second part of the key)
const TagDetails olympusAFSearch[]
AFSearch, tag 0x0303.
static WriteMethod encode(Blob &blob, const byte *pData, uint32_t size, ByteOrder byteOrder, const ExifData &exifData)
Encode Exif metadata from the provided metadata to binary Exif format.
Definition: exif.cpp:649
int compression_
TIFF compression.
Definition: tiffimage.cpp:88
virtual void visitBinaryArray(TiffBinaryArray *object)
Decode a binary array.
Definition: tiffvisitor.cpp:492
static std::string recordName(uint16_t recordId)
Return the name of the Record.
Definition: datasets.cpp:547
const TagDetails olympusRdColorSpace[]
OlympusRd ColorSpace, tag 0x0108.
std::auto_ptr< IptcKey > AutoPtr
Shortcut for an IptcKey auto pointer.
Definition: datasets.hpp:280
void cnvXmpGPSVersion(const char *from, const char *to)
XMP to Exif GPS version conversion function.
Definition: convert.cpp:962
QuickTimeVideo(BasicIo::AutoPtr io)
Constructor for a QuickTime video. Since the constructor can not return a result, callers should chec...
std::string mimeType() const
Return the MIME type of the image.
void setSize(uint32_t size)
Set the size of the data area.
Definition: crwimage_int.hpp:280
const TagDetails canonPictureStyle[]
PictureStyle Values.
@ readOnlyPacket
Default is a writeable packet.
Definition: xmp.hpp:263
std::ostream & printMinoltaSonySceneMode(std::ostream &os, const Value &value, const ExifData *metadata)
Print Minolta/Sony Scene Mode values to readable labels.
Definition: minoltamn.cpp:2100
An Image subclass to support XMP sidecar files.
const TagDetails canonBracketMode[]
BracketMode, tag 0x0003.
void sortByTag()
Sort metadata by tag.
Definition: exif.cpp:602
void cnvIptcValue(const char *from, const char *to)
IPTC dataset to XMP conversion function.
Definition: convert.cpp:1109
PGF image, implemented using the following references: PGF specification from libpgf web site
Class to access Windows bitmaps. This is just a stub - we only read width and height.
Definition: bmpimage.hpp:58
virtual int read(const byte *buf, long len, ByteOrder byteOrder=invalidByteOrder)
Read the value from a character buffer.
Definition: value.cpp:635
const TagDetails print0xb04f[]
Lookup table to translate Sony dynamic range optimizer values to readable labels.
const TagDetails olympusModifiedSaturation[]
ModifiedSaturation, tag 0x0504.
static std::string dataSetName(uint16_t number, uint16_t recordId)
Return the name of the dataset.
Definition: datasets.cpp:491
virtual void visitIfdMakernote(TiffIfdMakernote *object)
Decode an IFD makernote.
Definition: tiffvisitor.cpp:349
uint16_t tag() const
Return the tag corresponding to the extended tag.
Definition: tiffimage_int.hpp:217
const TagDetails minoltaSonyZoneMatching[]
Lookup table to translate Sony/Minolta zone matching values to readable labels.
TiffComponent * newPanasonicMn(uint16_t tag, IfdId group, IfdId mnGroup, const byte *, uint32_t size, ByteOrder)
Function to create a Panasonic makernote.
Definition: makernote.cpp:899
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:122
static const TagInfo * tagList()
Return read-only list of built-in Nikon2 tags.
Definition: nikonmn.cpp:501
@ unsignedRational
Exif RATIONAL type, two LONGs: numerator and denumerator of a fraction.
Definition: types.hpp:121
uint32_t writeHeader(IoWrapper &ioWrapper, ByteOrder byteOrder) const
Write the header to a data buffer, return the number of bytes written.
Definition: tiffcomposite.cpp:556
static TypeId typeId(const std::string &typeName)
Return the type id for a type name.
Definition: types.cpp:115
WriteMethod writeMethod() const
Return the write method used.
Definition: tiffvisitor_int.hpp:521
virtual uint32_t doCount() const =0
Implements count().
const TagDetails minoltaImageQuality5D[]
Lookup table to translate Minolta Dynax 5D camera settings image quality values to readable labels.
long count() const
Return the number of components in the value.
Definition: exif.cpp:380
static std::ostream & print0x0086(std::ostream &os, const Value &value, const ExifData *)
Print digital zoom setting.
Definition: nikonmn.cpp:323
std::ostream &(* PrintFct)(std::ostream &, const Value &, const ExifData *pExifData)
Type for a function pointer for functions interpreting the tag value.
Definition: tags.hpp:58
const TagDetails sonyExposureMode[]
Lookup table to translate Sony exposure mode values to readable labels.
bool supportsMetadata(MetadataId metadataId) const
Check if image supports a particular type of metadata. This method is deprecated. Use checkMode() ins...
Definition: image.cpp:351
const TagDetails canonToningEffect[]
ToningEffect, tag 0x000e.
Image::AutoPtr newRw2Instance(BasicIo::AutoPtr io, bool)
Create a new Rw2Image instance and return an auto-pointer to it. Caller owns the returned object and ...
Definition: rw2image.cpp:237
int idx_
Unique id of the Exif key in the image.
Definition: tags.cpp:2942
void setByteOrder(ByteOrder byteOrder)
Set the byte order to encode the Exif metadata in.
Definition: image.cpp:284
const ArrayCfg nikonCb2aCfg
Nikon Color Balance binary array - configuration 2a.
long copy(byte *buf, ByteOrder byteOrder) const
Write value to a data buffer and return the number of bytes written.
Definition: exif.cpp:360
virtual void visitDataEntry(TiffDataEntry *object)
Decode a TIFF data entry.
Definition: tiffvisitor.cpp:318
bool operator==(const std::string &key) const
Comparison operator for use with the find template.
Definition: tags.cpp:216
const TagDetails minoltaBracketStepStd[]
Lookup table to translate Minolta Std camera bracket step mode values to readable labels.
std::string recordName() const
Return the name of the record (deprecated)
Definition: iptc.cpp:125
std::string mimeType() const
Return the MIME type of the image.
Definition: jp2image.cpp:134
uint32_t parentExtTag_
Parent tag (32 bit so that it can contain special tags)
Definition: tiffimage_int.hpp:239
virtual void visitDirectory(TiffDirectory *object)
Copy a TIFF directory if it is an image tag.
Definition: tiffvisitor.cpp:250
const char * extension() const
Return the file extension for the format of the thumbnail (".tif" or ".jpg").
Definition: exif.cpp:471
const TagDetails pentaxCities[]
City names, tags 0x0023 and 0x0024.
const TagDetails casio2SpecialEffectSetting[]
Special Effect Setting, tag 0x3031.
const ArrayCfg nikonCb1Cfg
Nikon Color Balance binary array - configuration 1.
uint16_t parent_
Parent directory tag.
Definition: crwimage_int.hpp:546
const ArrayCfg sony1MCs7Cfg
Sony Minolta 7D Camera Settings binary array - configuration.
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.
Definition: pentaxmn_int.hpp:94
static int getType(const std::string &path)
Returns the image type of the provided file.
Definition: image.cpp:395
virtual ~TiffFinder()
Virtual destructor.
Definition: tiffvisitor.cpp:133
static std::ostream & print0x1015(std::ostream &os, const Value &value, const ExifData *)
Print White Balance Mode.
Definition: olympusmn.cpp:1198
uint16_t tag_
Tag number.
Definition: makernote.cpp:1064
TiffComponent * newIfdMn2(uint16_t tag, IfdId group, IfdId mnGroup)
Function to create a simple IFD makernote (Canon, Minolta, Nikon1)
Definition: makernote.cpp:797
virtual int open()
Open the file using using the default access mode of "rb". This method can also be used to "reopen" a...
Definition: basicio.cpp:995
ByteOrder byteOrder() const
Return the byte order in which the Exif metadata of the image is encoded. Initially,...
Definition: image.cpp:289
virtual long count() const
Return the number of components of the value.
Definition: value.cpp:706
const ArrayDef sony1MCsA100Def[]
Sony Minolta A100 Camera Settings binary array - definition.
DataLocId dataLocation() const
Return the data location for this component.
Definition: crwimage_int.hpp:252
static std::ostream & print0x0527(std::ostream &os, const Value &value, const ExifData *)
Print Olympus camera settings Noise Filter.
Definition: olympusmn.cpp:1130
virtual void setStrips(const Value *pSize, const byte *pData, uint32_t sizeData, uint32_t baseOffset)
Set the data areas ("strips").
Definition: tiffcomposite.cpp:398
const TagDetails olympusRd2ColorSpace[]
OlympusRd2 ColorSpace, tag 0x0109.
const Value & value() const
Return a constant reference to the value.
Definition: exif.cpp:233
static std::ostream & printSi0x0002(std::ostream &os, const Value &value, const ExifData *)
ISO speed used.
Definition: canonmn.cpp:1684
std::string mimeType() const
Return the MIME type of the image.
Definition: gifimage.cpp:55
uint32_t size_
Preview image size in bytes.
Definition: preview.hpp:64
bool isThisType(BasicIo &iIo, bool advance) const
Determine if the content of the BasicIo instance is of the type supported by this class.
Definition: jpgimage.cpp:1024
const TagDetails canonModelId[]
ModelId, tag 0x0010.
void syncExifWithXmp(ExifData &exifData, XmpData &xmpData)
Detect which metadata are newer and perform a copy in appropriate direction.
Definition: convert.cpp:1308
Additional configuration for a binary array.
Definition: tiffcomposite_int.hpp:1329
const TagDetails minoltaSonyAFAreaMode[]
Lookup table to translate Sony camera settings focus mode values to readable labels.
virtual ~TiffDirectory()
Virtual destructor.
Definition: tiffcomposite.cpp:183
Classes to access all preview images embedded in an image.
Value for string type.
Definition: value.hpp:434
virtual long size() const
Return the size of the value in bytes.
Definition: value.hpp:1623
Key for comparisons.
Definition: makernote.cpp:1061
virtual ~RemoteIo()
Destructor. Releases all managed memory.
Definition: basicio.cpp:1647
const ArrayCfg nikonLd1Cfg
Nikon Lens Data binary array - configuration 1.
const ArrayCfg nikonCb4Cfg
Nikon Color Balance binary array - configuration 4.
bool isGifType(BasicIo &iIo, bool advance)
Check if the file iIo is a GIF image.
Definition: gifimage.cpp:122
ByteOrder byteOrder() const
Return the applicable byte order. May be different for the Makernote and the rest of the TIFF entries...
Definition: tiffvisitor_int.hpp:514
const ArrayCfg minoCsnCfg
Minolta Camera Settings (new) binary array - configuration.
const TagDetails pentaxModel[]
CameraModel, tag 0x0005.
EXIV2API bool isAsfType(BasicIo &iIo, bool advance)
Check if the file iIo is a Windows Asf Video.
int switchMode(OpMode opMode)
Switch to a new access mode, reopening the file if needed. Optimized to only reopen the file when it ...
Definition: basicio.cpp:182
virtual uint32_t doSizeData() const
Implements sizeData(). Return 0.
Definition: tiffcomposite.cpp:1753
void encodeTiffEntryBase(TiffEntryBase *object, const Exifdatum *datum)
Special encoder function for the base part of a TIFF entry.
Definition: tiffvisitor.cpp:1008
const TagDetails nikon2ColorMode[]
ColorMode, tag 0x0004.
virtual void writeMetadata()=0
Write metadata back to the image.
static void terminate()
Terminate the XMP Toolkit and unregister custom namespaces.
Definition: xmp.cpp:430
virtual void visitImageEntry(TiffImageEntry *object)
Encode a TIFF image entry.
Definition: tiffvisitor.cpp:660
virtual float toFloat(long n=0) const
Returns number of seconds in the day in UTC converted to float.
Definition: value.cpp:1220
Information about one XMP property.
Definition: properties.hpp:62
@ invalidTypeId
Invalid type id.
Definition: types.hpp:140
std::string Password
URL password.
Definition: futils.hpp:187
int nextIdx(IfdId group)
Return the next idx sequence number for group.
Definition: tiffvisitor.cpp:1240
Value(TypeId typeId)
Constructor, taking a type id to initialize the base class with.
Definition: value.cpp:55
virtual void visitSizeEntry(TiffSizeEntry *object)
Find tag and group in a TIFF size entry.
Definition: tiffvisitor.cpp:160
Abstract base class defining the Key of a metadatum. Keys are used to identify and group metadata.
Definition: metadatum.hpp:60
virtual void visitDataEntry(TiffDataEntry *object)=0
Operation to perform for a TIFF data entry.
TiffComponent * addChild(AutoPtr tiffComponent)
Add a child to the component. Default is to do nothing.
Definition: tiffcomposite.cpp:804
const char * option_
Adjustment option string.
Definition: exiv2app.hpp:189
const TagDetails pentaxQuality[]
Quality, tag 0x0008.
Internal class TiffParserWorker to parse TIFF data.
uint8_t byte
1 byte unsigned integer type.
Definition: types.hpp:91
virtual void setPath(const std::string &path)
close the file source and set a new path.
Definition: basicio.cpp:543
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.
Definition: futils.cpp:122
void copyXmpToIptc(const XmpData &xmpData, IptcData &iptcData)
Convert (copy) XMP properties to IPTC datasets.
Definition: convert.cpp:1332
const TagDetails canonSharpnessFrequency[]
Sharpness Frequency Values.
virtual uint32_t doSizeData() const =0
Implements sizeData().
std::auto_ptr< XmpValue > AutoPtr
Shortcut for a XmpValue auto pointer.
Definition: value.hpp:643
virtual int error() const
Returns 0 if the file is in a valid state, otherwise nonzero.
Definition: basicio.cpp:1058
virtual uint32_t doWrite(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &imageIdx)
Implements write(). Write the value of a standard TIFF entry to the ioWrapper, return the number of b...
Definition: tiffcomposite.cpp:1243
ExifData::const_iterator flashBias(const ExifData &ed)
Return the flash bias value.
Definition: easyaccess.cpp:133
IptcKey(const std::string &key)
Constructor to create an IPTC key from a key string.
Definition: datasets.cpp:594
const TagDetails nikonFlashColorFilter[]
FlashColorFilter.
OrfImage(BasicIo::AutoPtr io, bool create)
Constructor that can either open an existing ORF image or create a new image from scratch....
Definition: orfimage.cpp:56
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.
Definition: types.cpp:389
Provides remote binary file IO by implementing the BasicIo interface. This is an abstract class....
Definition: basicio.hpp:926
virtual ~DataValue()
Virtual destructor.
Definition: value.cpp:181
bool explicitType_
Flag to indicate if the type was explicitly specified (true)
Definition: exiv2app.hpp:73
void sortByTag()
Sort metadata by tag (aka dataset)
Definition: iptc.cpp:345
const TagDetails panasonicColorEffect[]
ColorEffect, tag 0x0028.
const ArrayCfg minoCsoCfg
Minolta Camera Settings (old) binary array - configuration.
const TiffType ttUnsignedLong
Exif LONG type.
Definition: tiffcomposite_int.hpp:61
static const TagInfo * tagList()
Return read-only list of built-in Sigma tags.
Definition: sigmamn.cpp:131
std::ostream & printGPSDirRef(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS direction ref.
Definition: tags.cpp:2733
TypeId typeId_
Type id.
Definition: tags.hpp:102
const TagDetails nikonAdjust[]
Adjust.
std::set< int > PreviewNumbers
Container for preview image numbers.
Definition: exiv2app.hpp:130
std::vector< TiffComponent * > Components
Container type to hold all metadata.
Definition: tiffcomposite_int.hpp:181
TIFF mapping table for functions to decode special cases.
Definition: tiffcomposite_int.hpp:378
Class to access raw TARGA images. This is just a stub - we only read width and height.
Definition: tgaimage.hpp:60
void append(Blob &blob, const byte *buf, uint32_t len)
Append len bytes pointed to by buf to blob.
Definition: image.cpp:566
static std::ostream & print0x0085(std::ostream &os, const Value &value, const ExifData *)
Print manual focus distance.
Definition: nikonmn.cpp:299
DataBufRef(std::pair< byte *, long > rhs)
Constructor.
Definition: types.hpp:176
static void unregisterNs()
Unregister all custom namespaces.
virtual void doAccept(TiffVisitor &visitor)
Implements accept().
Definition: tiffcomposite.cpp:900
Key(uint32_t r, IfdId g)
Constructor.
Definition: tiffimage_int.hpp:245
virtual uint32_t doWriteImage(IoWrapper &ioWrapper, ByteOrder byteOrder) const
Implements writeImage(). Standard TIFF entries have no image data: write nothing and return 0.
Definition: tiffcomposite.cpp:1581
const TagDetails aftOnOff[]
OnOff.
TIFF component factory.
Definition: tiffimage_int.hpp:253
MetadataId
Metadata identifiers.
Definition: exiv2app.hpp:56
static std::ostream & print0xb000(std::ostream &, const Value &, const ExifData *)
Print Sony Camera Model.
Definition: sonymn.cpp:291
DataBuf nikonCrypt(uint16_t tag, const byte *pData, uint32_t size, TiffComponent *const pRoot)
Encrypt and decrypt Nikon data.
Definition: makernote.cpp:1126
std::ostream & print0xa402(std::ostream &os, const Value &value, const ExifData *metadata)
Print exposure mode.
Definition: tags.cpp:2673
static void printProperties(std::ostream &os, const std::string &prefix)
Print a list of properties of a schema namespace to output stream os.
Image::AutoPtr(* NewInstanceFct)(BasicIo::AutoPtr io, bool create)
Type for function pointer that creates new Image instances.
Definition: image.hpp:447
DecoderFct(* FindDecoderFct)(const std::string &make, uint32_t extendedTag, IfdId group)
Type for a function pointer for a function to decode a TIFF component.
Definition: tifffwd_int.hpp:94
int pixelWidth_
image pixel width
Definition: image.hpp:425
const TagDetails minoltaPictureFinish5D[]
Lookup table to translate Minolta Dynax 5D camera settings picture finish values to readable labels.
const ArrayDef samsungPwDef[]
Samsung PictureWizard binary array - definition.
void reserve(long wcount)
Reserve memory.
Definition: basicio.cpp:1138
std::ostream & print0xa407(std::ostream &os, const Value &value, const ExifData *metadata)
Print gain control.
Definition: tags.cpp:2718
std::string key_
Exiv2 key string.
Definition: exiv2app.hpp:69
const TagDetails pentaxAFPointFocus[]
AFPointInFocus, tag 0x000f.
std::vector< T > ValueList
Container for values.
Definition: value.hpp:1322
HttpIo(const std::string &url, size_t blockSize=1024)
Constructor that accepts the http URL on which IO will be performed. The constructor does not open th...
Definition: basicio.cpp:2109
static std::ostream & print0x0089(std::ostream &os, const Value &value, const ExifData *metadata)
Print shooting mode.
Definition: nikonmn.cpp:1657
virtual void doAccept(TiffVisitor &visitor)
Implements accept().
Definition: tiffcomposite.cpp:890
virtual void visitEntry(TiffEntry *object)
Read a TIFF entry from the data buffer.
Definition: tiffvisitor.cpp:1198
void enforce(bool condition, const T &arg1)
Ensure that condition is true, otherwise throw an exception of the type exception_t.
Definition: enforce.hpp:43
static const byte sof1_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:239
static std::ostream & printAperture(std::ostream &os, const Value &value, const ExifData *)
Print lens aperture value.
Definition: nikonmn.cpp:2469
uint32_t sizeHeader() const
Return the size of the header in bytes.
Definition: tiffcomposite.cpp:550
Stateless parser class for data in ORF format. Images use this class to decode and encode ORF data....
Definition: orfimage.hpp:113
A TIFF IFD entry containing the size of a data area of a related TiffDataEntry. This component is use...
Definition: tiffcomposite_int.hpp:821
virtual uint32_t doSize() const
Implements size() by forwarding the call to the actual concrete Makernote, if there is one.
Definition: tiffcomposite.cpp:1695
long id_
Lens id.
Definition: canonmn.cpp:921
const TagDetails sonyWhiteBalance[]
Lookup table to translate Sony WB values to readable labels.
const TagDetails canonCsFlashMode[]
FlashMode, tag 0x0004.
std::string tagDesc() const
Return the tag description.
Definition: tags.cpp:3093
virtual uint32_t doWriteImage(IoWrapper &ioWrapper, ByteOrder byteOrder) const
Implements writeImage(). Write the image data of the IFD of the Makernote. Return the number of bytes...
Definition: tiffcomposite.cpp:1597
Search the composite for a component with tag and group. Return a pointer to the component or 0,...
Definition: tiffvisitor_int.hpp:166
virtual ~TiffDataEntry()
Virtual destructor.
Definition: tiffcomposite.cpp:214
std::string mimeType() const
Return the MIME type of the image.
Definition: psdimage.cpp:133
uint32_t sizeImage() const
Return the size in bytes of the image data of this component when written to a binary image....
Definition: tiffcomposite.cpp:1789
std::string recordName() const
Return the name of the record.
Definition: datasets.cpp:655
PrintFct fct_
Definition: canonmn.cpp:922
Minolta RAW image, implemented using the following references: Minolta Raw file format by Dalibor Jel...
const TagDetails casio2IsoSpeed[]
ISO Speed, tag 0x0014.
const TagDetails casioSharpness[]
Sharpness, tag 0x000b.
virtual ~BasicIo()
Destructor.
Definition: basicio.cpp:85
const TagDetails sonyFlashLevel[]
Lookup table to translate Sony flash level values to readable labels.
bool good() const
Check if the Image instance is valid. Use after object construction.
Definition: image.cpp:344
int writeHeader(BasicIo &oIo) const
Writes the image header (aka signature) to the BasicIo instance.
Definition: jpgimage.cpp:1065
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...
const TagDetails exifGPSLongitudeRef[]
GPS longitude reference, tag 0x0003; also GPSDestLongitudeRef, tag 0x0015.
const TagDetails sonyPresetWhiteBalanceA100[]
Lookup table to translate Sony A100 camera settings preset white balance values to readable labels.
const TagDetails panasonicFlashCurtain[]
Flash curtain, tag 0x0048.
virtual TiffComponent * doAddNext(TiffComponent::AutoPtr tiffComponent)
Implements addNext(). The default implementation does nothing.
Definition: tiffcomposite.cpp:861
bool erase() const
Get the value of the erase flag, see also setErase(bool on).
Definition: convert.cpp:288
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
static const TagInfo * tagListMe()
Return read-only list of built-in Multi Exposure tags.
Definition: nikonmn.cpp:916
byte * data_
Pointer to the start of the memory area.
Definition: basicio.cpp:1101
const int defSize_
Size of the array definition array.
Definition: tiffcomposite_int.hpp:1350
XmpKey & operator=(const XmpKey &rhs)
Assignment operator.
Definition: properties.cpp:2440
virtual int read(const byte *buf, long len, ByteOrder byteOrder=invalidByteOrder)
Read the value from a character buffer.
Definition: value.cpp:635
virtual ~Iptcdatum()
Destructor.
Definition: iptc.cpp:106
static const TagInfo * tagListCb4()
Return read-only list of built-in Color Balance 4 tags.
Definition: nikonmn.cpp:1338
void aspectRatio()
Calculates Aspect Ratio of a video, and stores it in the respective XMP container.
friend Exifdatum & setValue(Exifdatum &, const T &)
Set the value of exifDatum to value. If the object already has a value, it is replaced....
Definition: exif.cpp:198
uint32_t extendedTag() const
Return the extended tag (32 bit so that it can contain special tags)
Definition: tiffcomposite_int.hpp:106
static const TagInfo * tagListCs2()
Return read-only list of built-in Sony Standard Camera Settings version 2 tags.
Definition: sonymn.cpp:772
const TagDetailsBitmask olympusFlashMode[]
FlashMode, tag 0x0400.
const GroupInfo groupInfo[]
List of all known Exif groups. Important: Group name (3rd column) must be unique!
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
Definition: psdimage.cpp:144
static const TagInfo * tagListFi()
Return read-only list of built-in File Info tags.
Definition: nikonmn.cpp:894
void setComment(const std::string &comment)
Not supported. Calling this function will throw an instance of Error(32).
Definition: gifimage.cpp:72
@ xmpBag
XMP bag type.
Definition: types.hpp:137
virtual uint32_t doSizeData() const
Implements sizeData(). Return the size of the image data area.
Definition: tiffcomposite.cpp:1758
const ArrayDef nikonCb4Def[]
Nikon Color Balance binary array - definition 4 (D3)
virtual ~Impl()
Destructor. Releases all managed memory.
Definition: basicio.cpp:1643
static BasicIo::AutoPtr createIo(const std::string &path, bool useCurl=true)
Create the appropriate class type implemented BasicIo based on the protocol of the input.
Definition: image.cpp:427
const TagDetails minoltaFlashModeStd[]
Lookup table to translate Minolta Std camera settings flash mode values to readable labels.
const ArrayCfg minoCs5Cfg
Minolta 5D Camera Settings binary array - configuration.
TiffReader(const byte *pData, uint32_t size, TiffComponent *pRoot, TiffRwState state)
Constructor. The data buffer and table describing the TIFF structure of the data are set in the const...
Definition: tiffvisitor.cpp:1132
void setComment(const std::string &comment)
Not supported. Calling this function will throw an instance of Error(32).
Definition: epsimage.cpp:1106
uint16_t tag() const
Return the tag corresponding to the extended tag.
Definition: tiffcomposite_int.hpp:104
virtual uint32_t doWriteData(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t &imageIdx) const
Implements writeData(). Write the image data area to the ioWrapper. Return the number of bytes writte...
Definition: tiffcomposite.cpp:1494
virtual void visitBinaryElement(TiffBinaryElement *object)
Decode an element of a binary array.
Definition: tiffvisitor.cpp:499
int pixelWidth() const
Return the pixel width of the image.
Definition: tiffimage.cpp:144
const ArrayCfg nikonSi2Cfg
Nikon Shot Info binary array - configuration 2 (D40)
An Image subclass to support RIFF video files.
std::ostream & print0x0112(std::ostream &os, const Value &value, const ExifData *metadata)
Print orientation.
Definition: tags.cpp:2434
virtual void visitMnEntry(TiffMnEntry *object)
Copy a TIFF makernote if it is an image tag.
Definition: tiffvisitor.cpp:260
BasicIo & bio_
The BasicIo reference.
Definition: basicio.hpp:304
const TagDetails canonCsAESetting[]
AESetting, tag 0x0021.
Internal Pimpl abstract structure of class RemoteIo.
Definition: basicio.cpp:1534
PrintItem
Individual items to print, bitmap.
Definition: exiv2app.hpp:155
static const TagInfo * tagList()
Return read-only list of built-in Olympus tags.
Definition: olympusmn.cpp:474
static std::ostream & print0x2022(std::ostream &os, const Value &value, const ExifData *)
Print ObjectDistance.
Definition: casiomn.cpp:586
Defines class Params, used for the command line handling of exiv2.
A collection of helper functions.
static std::ostream & printStripLabel(std::ostream &os, const Value &value, const ExifData *)
Strip the label from the value and print the remainder.
Definition: sigmamn.cpp:136
bool dirty() const
True if any tag was deleted or allocated in the process of visiting a TIFF composite tree.
Definition: tiffvisitor.cpp:644
const TagDetails olympusPictureMode[]
PictureMode, tag 0x0520.
std::vector< std::string > CmdLines
Container for commands from the command line.
Definition: exiv2app.hpp:126
const TagDetails casio2ColorMode[]
ColorMode, tag 0x3015.
const TagDetails casioColorFilter[]
Color filter, tag 0x0017.
std::ostream & operator<<(std::ostream &os, const DataSet &dataSet)
Output operator for dataSet.
Definition: datasets.cpp:715
bool formatSet_
Whether the format is set with -r.
Definition: exiv2app.hpp:214
CiffDirectory(uint16_t tag, uint16_t dir)
Constructor taking a tag and directory.
Definition: crwimage_int.hpp:362
AutoPtr clone() const
Return an auto-pointer to a copy of itself (deep copy, but without any children). The caller owns thi...
Definition: tiffcomposite.cpp:292
Image::AutoPtr newTgaInstance(BasicIo::AutoPtr io, bool)
Create a new TgaImage instance and return an auto-pointer to it. Caller owns the returned object and ...
Definition: tgaimage.cpp:133
const TagDetails casioEnhancement[]
Enhancement, tag 0x0016.
const TagDetails casio2ReleaseMode[]
Release Mode, tag 0x3001.
const TagDetails canonRawJpgSize[]
RawJpgSize, tag 0x0007.
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.cpp:902
long toLong(long n=0) const
Return the n-th component of the value converted to long. The return value is -1 if the value is not ...
Definition: exif.cpp:400
static std::ostream & print0x0008(std::ostream &os, const Value &value, const ExifData *)
Print exposure mode.
Definition: sigmamn.cpp:149
virtual XmpData & xmpData()
Returns an XmpData instance containing currently buffered XMP data.
Definition: image.cpp:196
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
Definition: gifimage.cpp:78
const TagDetailsBitmask olympusRdSettings[]
OlympusRd Settings, tag 0x010c.
std::string toString() const
Return the value as a string.
Definition: xmp.cpp:237
std::ostream & print0x0000(std::ostream &os, const Value &value, const ExifData *)
Print GPS version.
Definition: tags.cpp:2338
AsciiValue()
Default constructor.
Definition: value.cpp:368
static void encode(Blob &blob, ByteOrder byteOrder, const ExifData &exifData)
Encode metadata from the provided metadata to Exif format.
Definition: exif.hpp:618
static std::ostream & print0x008b(std::ostream &os, const Value &value, const ExifData *)
Print number of lens stops.
Definition: nikonmn.cpp:1687
bool isThisType(BasicIo &iIo, bool advance) const
Determine if the content of the BasicIo instance is of the type supported by this class.
Definition: jpgimage.cpp:1077
int16_t count_
The number of values (not bytes!), 0=any, -1=count not known.
Definition: tags.hpp:103
virtual ~BlockMap()
Destructor. Releases all managed memory.
Definition: basicio.hpp:879
const TagDetails panasonicShootingMode[]
ShootingMode, tag 0x001f and SceneMode, tag 0x8001.
virtual void visitEntry(TiffEntry *object)
Find tag and group in a TIFF entry.
Definition: tiffvisitor.cpp:145
const TiffType ttSignedLong
Exif SLONG type.
Definition: tiffcomposite_int.hpp:66
static std::ostream & printSi0x0017(std::ostream &os, const Value &value, const ExifData *)
MeasuredEV2.
Definition: canonmn.cpp:1804
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
Definition: epsimage.cpp:1111
static const TagInfo * tagListCsA100()
Return read-only list of built-in Sony A100 Camera Settings tags.
Definition: minoltamn.cpp:1596
static const TagInfo * tagListPr()
Return read-only list of built-in Canon Processing Info tags.
Definition: canonmn.cpp:1420
const TagDetails canonCsDigitalZoom[]
DigitalZoom, tag 0x000c.
IfdId szGroup() const
Return the group of the entry which has the size.
Definition: tiffcomposite_int.hpp:634
std::string mimeType() const
Return the MIME type of the image.
Definition: rw2image.cpp:60
virtual uint32_t doWrite(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &imageIdx)
Implements write(). Todo: Document it!
Definition: tiffcomposite.cpp:1448
virtual ~TiffBinaryArray()
Virtual destructor.
Definition: tiffcomposite.cpp:236
static const TagInfo * tagListRd()
Return read-only list of built-in Olympus Raw Development tags.
Definition: olympusmn.cpp:833
const TagDetails canonWBBracketMode[]
WBBracketMode, tag 0x0009.
static const TagInfo * tagListFl2()
Return read-only list of built-in Flash Info 2 tags.
Definition: nikonmn.cpp:1058
virtual TiffComponent * doAddPath(uint16_t tag, TiffPath &tiffPath, TiffComponent *const pRoot, TiffComponent::AutoPtr object)
Implements addPath(). The default implementation does nothing.
Definition: tiffcomposite.cpp:754
static std::ostream & printPentaxFValue(std::ostream &os, const Value &value, const ExifData *)
Print Pentax F value.
Definition: pentaxmn.cpp:1047
virtual bool doEmpty() const
Implements empty(). Default implementation returns true if size is 0.
Definition: crwimage.cpp:919
Utility class containing a character array. All it does is to take care of memory allocation and dele...
Definition: types.hpp:187
virtual std::string groupName() const
Return the name of the group (the second part of the key)
Definition: tags.cpp:3077
virtual long toLong(long n=0) const
Convert the value to a long. The optional parameter n is not used and is ignored.
Definition: value.cpp:734
bool decoded() const
Return the flag which indicates if the array was decoded.
Definition: tiffcomposite_int.hpp:1422
TypeId defaultTypeId() const
Return the default type id for this tag.
Definition: tags.cpp:3099
const TagDetails sonyPlayDisplayA100[]
Lookup table to translate Sony A100 camera settings play display values to readable labels.
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:807
const TagDetails panasonicAudio[]
Audio, tag 0x0020.
const TagDetails canonCsQuality[]
Quality, tag 0x0003.
NewTiffCompFct newTiffCompFct_
Function to create the correct TIFF component.
Definition: tiffimage_int.hpp:222
void alloc(long size)
Allocate a data buffer of at least the given size. Note that if the requested size is less than the c...
Definition: types.cpp:152
@ unsignedByte
Exif BYTE type, 8-bit unsigned integer.
Definition: types.hpp:117
const int qtime
Treating qtime as an image type>
Definition: quicktimevideo.hpp:47
const TagDetails panasonicLongShutterNoiseReduction[]
Long Shutter Noise Reduction, tag 0x0049.
bool operator==(long id) const
Comparison operator for find template.
Definition: canonmn.cpp:924
iterator findKey(const IptcKey &key)
Find the first Iptcdatum with the given key, return an iterator to it.
Definition: iptc.cpp:322
const TagDetails nikonRetouchHistory[]
RetouchHistory, tag 0x009e.
TypeId typeId_
Exiv2 default type for the property.
Definition: properties.hpp:69
const TagDetails pentaxImageTone[]
ImageTone, tag 0x004f.
The details of a section.
Definition: tags_int.hpp:176
void cnvExifFlash(const char *from, const char *to)
Exif Flash to XMP conversion function.
Definition: convert.cpp:716
const TagDetails sonyControlDialSetA100[]
Lookup table to translate Sony A100 camera settings control dial set values to readable labels.
void encodeTiffEntry(TiffEntry *object, const Exifdatum *datum)
Callback encoder function for a standard TIFF entry.
Definition: tiffvisitor.cpp:915
std::ostream & printValue(std::ostream &os, const Value &value, const ExifData *)
Default print function, using the Value output operator.
Definition: tags.cpp:2150
Internal classes to support Olympus RAW image format.
static std::ostream & print0x0002(std::ostream &os, const Value &value, const ExifData *)
Print ISO setting.
Definition: nikonmn.cpp:274
static const TagInfo * tagList()
Return read-only list of built-in Fujifilm tags.
Definition: fujimn.cpp:285
const TagDetails minoltaImageSize7D[]
Lookup table to translate Minolta Dynax 7D camera settings image size values to readable labels.
static std::ostream & printCs0x0002(std::ostream &os, const Value &value, const ExifData *)
Self timer.
Definition: canonmn.cpp:1529
int writeHeader(BasicIo &oIo) const
Writes a Jpeg header (aka signature) to the BasicIo instance.
Definition: jpgimage.cpp:1013
const TagDetails samsung2SmartRange[]
SmartRange, tag 0xa012.
const TagDetailsBitmask canonSiAFPointUsed[]
AFPointUsed, tag 0x000e.
PreviewPropertiesList getPreviewProperties() const
Return the properties of all preview images in a list sorted by preview width * height,...
Definition: preview.cpp:1142
uint32_t writeValueData(Blob &blob, uint32_t offset)
Writes the entry's value if size is larger than eight bytes. If needed, the value is padded with one ...
Definition: crwimage.cpp:547
@ useCompactFormat
Use a compact form of RDF.
Definition: xmp.hpp:264
const TagDetails minoltaColorMode[]
Lookup table to translate Minolta color mode values to readable labels.
const ArraySet nikonCbSet[]
Nikon Color Balance configurations and definitions.
Static class providing mapping functionality from CRW entries to image metadata and vice versa.
Definition: crwimage_int.hpp:590
void help(std::ostream &os=std::cout) const
Print further usage explanations to an output stream.
Definition: exiv2.cpp:247
virtual TiffBinaryElement * doClone() const
Internal virtual copy constructor, implements clone().
Definition: tiffcomposite.cpp:344
@ signedByte
Exif SBYTE type, an 8-bit signed (twos-complement) integer.
Definition: types.hpp:122
virtual void visitEntry(TiffEntry *object)=0
Operation to perform for a TIFF entry.
std::string mimeType() const
Return the MIME type of the image.
Definition: jpgimage.cpp:1008
const ArrayDef * def_
Binary array definition array.
Definition: tiffcomposite_int.hpp:1349
const TagDetails sonyImageSizeA100[]
Lookup table to translate Sony A100 camera settings image size values to readable labels.
void print(std::ostream &os, ByteOrder byteOrder, const std::string &prefix="") const
Print debug info about a component to os.
Definition: crwimage.cpp:662
static std::ostream & printMinoltaExposureTimeStd(std::ostream &os, const Value &value, const ExifData *)
Print Exposure Time setting from standard Minolta Camera Settings makernote.
Definition: minoltamn.cpp:420
virtual ~Key()
Destructor.
Definition: metadatum.cpp:46
std::vector< IfdId > PrimaryGroups
Type for a list of primary image groups.
Definition: tifffwd_int.hpp:116
virtual int putb(byte data)=0
Write one byte to the IO source. Current IO position is advanced by one byte.
TIFF composite visitor to decode metadata from the TIFF tree and add it to an Image,...
Definition: tiffvisitor_int.hpp:286
bool operator==(int ifdId) const
Comparison operator for IFD id.
Definition: tags.cpp:2814
const TagDetails minoltaExposureModeStd[]
Lookup table to translate Minolta Std camera settings exposure mode values to readable labels.
const ArrayDef canonFiDef[]
Canon File Info binary array - definition.
static const byte sof2_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:240
const TagDetails minoltaExposureMode5D[]
Lookup table to translate Minolta Dynax 5D camera settings exposure mode values to readable labels.
virtual void transfer(BasicIo &src)
Change the name of the temp file and make it untemporary before calling the method of superclass File...
Definition: basicio.cpp:1459
Concrete keys for Exif metadata and access to Exif tag reference data.
Definition: tags.hpp:150
int PreviewId
Type of preview image.
Definition: preview.hpp:49
virtual DataBuf read(long rcount)
Read data from the memory blocks. Reading starts at the current IO position and the position is advan...
Definition: basicio.cpp:1785
static std::ostream & print0x0085(std::ostream &os, const Value &value, const ExifData *)
Print manual focus distance.
Definition: nikonmn.cpp:1513
std::string toString() const
Return the value as a string. Implemented in terms of write(std::ostream& os) const of the concrete c...
Definition: value.cpp:147
const ArrayDef nikonVrDef[]
Nikon Vibration Reduction binary array - definition.
void cnvExifGPSVersion(const char *from, const char *to)
Exif GPS version to XMP conversion function.
Definition: convert.cpp:702
std::ostream & print0x9206(std::ostream &os, const Value &value, const ExifData *)
Print the subject distance.
Definition: tags.cpp:2582
std::string dirname(const std::string &path)
Get the directory component from the path string. See dirname(3).
Definition: utils.cpp:92
URational getURational(const byte *buf, ByteOrder byteOrder)
Read an 8 byte unsigned rational value from the data buffer.
Definition: types.cpp:255
std::ostream & print0x000c(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS speed ref.
Definition: tags.cpp:2419
long count() const
Get the number of metadata entries.
Definition: xmp.cpp:373
const TagDetails pentaxWhiteBalance[]
WhiteBalance, tag 0x0019.
int tzMinute
Minutes ahead or behind UTC.
Definition: value.hpp:1124
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...
Definition: tags_int.hpp:279
int pixelHeight() const
Return the pixel height of the image.
Definition: crwimage.cpp:104
long size_
The current size of the buffer.
Definition: types.hpp:248
virtual void visitImageEntry(TiffImageEntry *object)
Read a TIFF image entry from the data buffer.
Definition: tiffvisitor.cpp:1208
virtual void visitSizeEntry(TiffSizeEntry *object)
Read a TIFF size entry from the data buffer.
Definition: tiffvisitor.cpp:1213
virtual void doRead(const byte *pData, uint32_t size, uint32_t start, ByteOrder byteOrder)
Implements read(). The default implementation reads a directory entry.
Definition: crwimage.cpp:402
MakerNote for Pentaxfilm cameras.
Definition: pentaxmn_int.hpp:56
const TagDetails casio2AutoISO[]
AutoISO, tag 0x3008.
static Uri EXIV2API Parse(const std::string &uri)
Parse the input URL to the protocol, host, path, username, password.
Definition: futils.cpp:366
const char * title_
Dataset title or label.
Definition: datasets.hpp:76
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.cpp:259
long copy(byte *buf, ByteOrder byteOrder) const
Write value to a data buffer and return the number of bytes written.
Definition: iptc.cpp:110
std::vector< std::string > ValueType
Type used to store XMP array elements.
Definition: value.hpp:868
@ omitPacketWrapper
Omit the XML packet wrapper.
Definition: xmp.hpp:262
const TagDetails olympusRdEditStatus[]
OlympusRd EditStatus, tag 0x010b.
static int encode(std::string &xmpPacket, const XmpData &xmpData, uint16_t formatFlags=useCompactFormat, uint32_t padding=0)
Encode (serialize) XMP metadata from xmpData into a string xmpPacket. The XMP packet returned in the ...
Definition: xmp.cpp:723
void writeMetadata()
Write metadata back to the image.
TiffComponent * newSony2Mn2(uint16_t tag, IfdId group, IfdId mnGroup)
Function to create a Sony2 makernote.
Definition: makernote.cpp:1028
std::string charset_
Charset to use for UNICODE Exif user comment.
Definition: exiv2app.hpp:225
const char * label_
Translation of the tag value.
Definition: tags_int.hpp:188
virtual uint32_t doSize() const =0
Implements size().
void aspectRatio()
Calculates Aspect Ratio of a video, and stores it in the respective XMP container.
Class to access raw Canon CR2 images. Exif metadata is supported directly, IPTC is read from the Exif...
Definition: cr2image.hpp:57
const TagDetails pentaxPictureMode[]
PictureMode, combi-tag 0x0033 (3 bytes)
virtual bool eof() const =0
Returns true if the IO position has reach the end, otherwise false.
const char * familyName() const
Return the name of the metadata family (which is also the first part of the key)
Definition: iptc.cpp:135
static const TagInfo * tagListCb3()
Return read-only list of built-in Color Balance 3 tags.
Definition: nikonmn.cpp:1325
Structure for year, month and day adjustment command line arguments.
Definition: exiv2app.hpp:187
virtual bool isopen() const
Returns true if the memory area is allocated.
Definition: basicio.cpp:1911
virtual uint32_t doWrite(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &imageIdx)
Implements write(). Write the TIFF directory, values and additional data, including the next-IFD,...
Definition: tiffcomposite.cpp:1078
bool unknown_
Suppress unknown tags.
Definition: exiv2app.hpp:198
virtual void visitEntry(TiffEntry *object)
Decode a TIFF entry.
Definition: tiffvisitor.cpp:313
const ArrayDef nikonFiDef[]
Nikon File Info binary array - definition.
TiffComponent * newOlympusMn2(uint16_t tag, IfdId group, IfdId mnGroup)
Function to create an Olympus makernote.
Definition: makernote.cpp:822
const ArrayCfg nikonFiCfg
Nikon File Info binary array - configuration.
virtual void populateFakeData()
Mark all the bNone blocks to bKnow. This avoids allocating memory for parts of the file that contain ...
Definition: basicio.cpp:1379
const TagDetails nikonAutoBracketRelease[]
AutoBracketRelease, tag 0x008a.
const TagDetails nikonYesNo[]
YesNo, used for DaylightSavings, tag index 2.
IfdId g_
Group
Definition: tiffimage_int.hpp:247
TiffComponent::AutoPtr newTiffDirectory(uint16_t tag, IfdId)
Function to create and initialize a new TIFF directory.
Definition: tiffcomposite_int.hpp:1598
const T * find(T(&src)[N], const K &key)
Find an element that matches key in the array src.
Definition: types.hpp:458
DecoderFct decoderFct_
Decoder function for matching tags.
Definition: tiffcomposite_int.hpp:396
iterator erase(iterator pos)
Delete the Iptcdatum at iterator position pos, return the position of the next Iptcdatum....
Definition: iptc.cpp:350
static const char * recordDesc(uint16_t recordId)
Return the description of a record.
Definition: datasets.cpp:559
const TagDetailsBitmask nikonShootingMode[]
ShootingMode, tag 0x0089.
const TagDetails exifSaturation[]
Saturation, tag 0xa409.
AutoPtr clone() const
Return an auto-pointer to a copy of itself (deep copy). The caller owns this copy and the auto-pointe...
Definition: metadatum.cpp:50
std::ostream & print0x000a(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS measurement mode.
Definition: tags.cpp:2414
const TagDetails olympusSharpness[]
Sharpness, tag 0x100f.
static std::ostream & printEq0x0301(std::ostream &os, const Value &value, const ExifData *)
Print Olympus equipment Extender.
Definition: olympusmn.cpp:1399
const TagDetails canonCsImageSize[]
ImageSize, tag 0x000a.
const ArrayCfg minoCs7Cfg
Minolta 7D Camera Settings binary array - configuration.
virtual uint32_t doWriteImage(IoWrapper &ioWrapper, ByteOrder byteOrder) const
Implements writeImage(). Write the image data of the TIFF directory to the ioWrapper by forwarding th...
Definition: tiffcomposite.cpp:1558
static Params & instance()
Controls all access to the global Params instance.
Definition: exiv2.cpp:199
const uint32_t pana
Special tag: root IFD of Panasonic RAW images.
Definition: tiffcomposite_int.hpp:85
const char *const nikonFocusarea[]
Focus area for Nikon cameras.
TiffComponent * newPanasonicMn2(uint16_t tag, IfdId group, IfdId mnGroup)
Function to create a Panasonic makernote.
Definition: makernote.cpp:911
static const char * propertyDesc(const XmpKey &key)
Return the description of the property.
std::string mimeType() const
Return the MIME type of the image.
Definition: bmpimage.cpp:54
bool strtol(const char *nptr, long &n)
Convert a C string to a long value, which is returned in n. Returns true if the conversion is success...
Definition: utils.cpp:141
virtual ~TiffIfdMakernote()
Virtual destructor.
Definition: tiffcomposite.cpp:231
const ArrayDef nikonAFTDef[]
Nikon AF Fine Tune binary array - definition.
TiffComponent *(* NewMnFct)(uint16_t tag, IfdId group, IfdId mnGroup, const byte *pData, uint32_t size, ByteOrder byteOrder)
Type for a pointer to a function creating a makernote (image)
Definition: makernote_int.hpp:53
A standard TIFF IFD entry consisting of a value which is an offset to a data area and the data area....
Definition: tiffcomposite_int.hpp:655
const byte * pData() const
Return a pointer to the binary representation of the value of this component.
Definition: tiffcomposite_int.hpp:476
const char * ifdName(IfdId ifdId)
Return the name of the IFD.
Definition: tags.cpp:2163
const TagDetails fujiFinePixColor[]
FinePixColor, tag 0x1210.
int getopt(int argc, char *const argv[], const std::string &optstring)
Parse command line arguments.
Definition: utils.cpp:69
std::auto_ptr< ExifKey > AutoPtr
Shortcut for an ExifKey auto pointer.
Definition: tags.hpp:153
const int mkv
Treating mkv as an image type>
Definition: matroskavideo.hpp:47
virtual TiffIfdMakernote * doClone() const
Internal virtual copy constructor, implements clone().
Definition: tiffcomposite.cpp:333
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.cpp:326
@ langAlt
XMP language alternative type.
Definition: types.hpp:139
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
std::ostream & printPwColor(std::ostream &os, const Value &value, const ExifData *)
Print the PictureWizard Color tag value.
Definition: samsungmn.cpp:173
mode_t st_mode
Permissions.
Definition: basicio.cpp:127
virtual void doEncode(TiffEncoder &encoder, const Exifdatum *datum)
Implements encode().
Definition: tiffcomposite.cpp:970
virtual void visitImageEntry(TiffImageEntry *object)
Decode a TIFF image entry.
Definition: tiffvisitor.cpp:323
void setTarget(int id, uint32_t target)
Wrapper for OffsetWriter::setTarget(), using an int instead of the enum to reduce include deps.
Definition: tiffcomposite.cpp:91
bool cmpTagLt(TiffComponent const *lhs, TiffComponent const *rhs)
Compare two TIFF component pointers by tag. Return true if the tag of component lhs is less than that...
Definition: tiffcomposite.cpp:1869
const char * familyName() const
Return the name of the metadata family (which is also the first part of the key)
Definition: exif.cpp:320
void cnvExifComment(const char *from, const char *to)
Convert the tag Exif.Photo.UserComment to XMP.
Definition: convert.cpp:526
virtual DataBuf read(long rcount)=0
Read data from the IO source. Reading starts at the current IO position and the position is advanced ...
A lens id and a pretty-print function for special treatment of the id.
Definition: canonmn.cpp:920
uint32_t baseOffset() const
Return the base offset. See class TiffRwState for details.
Definition: tiffvisitor.cpp:1179
void encode(TiffEncoder &encoder, const Exifdatum *datum)
Encode a TIFF component from the metadatum provided and information from the encoder as needed.
Definition: tiffcomposite.cpp:965
const ArrayCfg cfg_
Binary array configuration.
Definition: tiffcomposite_int.hpp:1348
virtual ~TiffDataEntryBase()
Virtual destructor.
Definition: tiffcomposite.cpp:210
void setComment(const std::string &comment)
Not supported. Calling this function will throw an Error(32).
Definition: psdimage.cpp:138
void encodeBinaryElement(TiffBinaryElement *object, const Exifdatum *datum)
Callback encoder function for an element of a binary array.
Definition: tiffvisitor.cpp:878
void decodeStdTiffEntry(const TiffEntryBase *object)
Decode a standard TIFF entry.
Definition: tiffvisitor.cpp:483
std::string key() const
Return the key of the Xmpdatum. The key is of the form 'Xmp.prefix.property'. Note however that the k...
Definition: xmp.cpp:182
uint32_t write(Blob &blob, ByteOrder byteOrder, uint32_t offset)
Write the metadata from the raw metadata component to the binary image blob. This method may append t...
Definition: crwimage.cpp:533
Simple state class containing relevant state information for the TIFF reader. This is in a separate c...
Definition: tiffvisitor_int.hpp:588
void readDirectory(const byte *pData, uint32_t size, ByteOrder byteOrder)
Parse a CIFF directory from a memory buffer.
Definition: crwimage.cpp:446
Protocol
the collection of protocols.
Definition: futils.hpp:53
void writeDirEntry(Blob &blob, ByteOrder byteOrder) const
Write a directory entry for the component to the blob. If the size of the data is not larger than 8 b...
Definition: crwimage.cpp:613
virtual void doAccept(TiffVisitor &visitor)
Implements accept().
Definition: tiffcomposite.cpp:895
void setErase(bool onoff=true)
Set the erase flag.
Definition: convert.cpp:135
const TagDetails casio2PortraitRefiner[]
Portrait Refiner, tag 0x302b.
#define EXIV2_MAJOR_VERSION
Exiv2 MAJOR version number of the library used at compile-time.
Definition: version.hpp:50
static const TagInfo * tagListSi()
Return read-only list of built-in Canon Shot Info tags.
Definition: canonmn.cpp:1180
virtual void doPrint(std::ostream &os, ByteOrder byteOrder, const std::string &prefix) const
Implements print(). The default implementation prints the entry.
Definition: crwimage.cpp:669
Image::AutoPtr newBmpInstance(BasicIo::AutoPtr io, bool)
Create a new BmpImage instance and return an auto-pointer to it. Caller owns the returned object and ...
Definition: bmpimage.cpp:132
virtual void doEncode(TiffEncoder &encoder, const Exifdatum *datum)
Implements encode().
Definition: tiffcomposite.cpp:995
const TagDetails minoltaSonyDynamicRangeOptimizerMode[]
Lookup table to translate Sony camera settings dynamic range optimizer mode values to readable labels...
std::string m_
Camera make.
Definition: tiffcomposite_int.hpp:405
void add(TiffComponent *pRootDir, TiffComponent *pSourceDir, uint32_t root)
Add metadata from image to the TIFF composite.
Definition: tiffvisitor.cpp:1059
ByteOrder elByteOrder() const
Return the byte order of this element.
Definition: tiffcomposite_int.hpp:1528
void codecList()
Interpret Codec_List tag information, and save it in the respective XMP container.
const TagDetails nikonFlashGNDistance[]
FlashGNDistance.
std::ostream & print0x9204(std::ostream &os, const Value &value, const ExifData *)
Print the exposure bias value.
Definition: tags.cpp:2560
void usage(std::ostream &os=std::cout) const
Print a minimal usage note to an output stream.
Definition: exiv2.cpp:240
virtual uint32_t doWrite(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &imageIdx)=0
Implements write().
void copyXattrFrom(const FileIo &src)
copy extended attributes (xattr) from another file
Definition: basicio.cpp:268
void writeMetadata()
Write metadata back to the image.
virtual long toLong(long n=0) const =0
Convert the n-th component of the value to a long. The behaviour of this method may be undefined if t...
long base64decode(const char *in, char *out, size_t out_size)
Decode base64 data and put the resulting string in out.
Definition: futils.cpp:196
virtual ~TiffBinaryElement()
Virtual destructor.
Definition: tiffcomposite.cpp:243
const TagDetails sonyAFMode[]
Lookup table to translate Sony AF mode values to readable labels.
static const TagInfo * tagList()
Return read-only list of built-in Nikon3 tags.
Definition: nikonmn.cpp:628
long count() const
Get the number of metadata entries.
Definition: exif.hpp:518
BlockMap * blocksMap_
An array contains all blocksMap.
Definition: basicio.cpp:1551
Class to access JPEG images.
Definition: jpgimage.hpp:304
const TagDetails sonyImageSize[]
Lookup table to translate Sony camera settings image size values to readable labels.
XMP property and type information. References: XMP Specification from Adobe (Property descriptions c...
@ unsignedShort
Exif SHORT type, 16-bit (2-byte) unsigned integer.
Definition: types.hpp:119
virtual BasicIo::AutoPtr temporary() const
Returns a temporary data storage location. The actual type returned depends upon the size of the file...
Definition: basicio.cpp:570
long lensType_
Lens type.
Definition: canonmn.cpp:1548
XmpStruct
XMP structure indicator.
Definition: value.hpp:648
std::stack< CrwSubDir > CrwDirs
Stack to hold a path of CRW directories.
Definition: crwimage_int.hpp:77
virtual ~TimeValue()
Virtual destructor.
Definition: value.cpp:1063
static std::ostream & printIiIso(std::ostream &os, const Value &value, const ExifData *)
Print Exif.NikonIi.ISO(2)
Definition: nikonmn.cpp:1412
uint32_t count_
Number of components.
Definition: tiffcomposite_int.hpp:1325
static const byte eoi_
JPEG EOI marker.
Definition: jpgimage.hpp:233
static const TagInfo * tagListIp()
Return read-only list of built-in Olympus Image Processing tags.
Definition: olympusmn.cpp:993
ExifData::const_iterator orientation(const ExifData &ed)
Return the orientation of the image.
Definition: easyaccess.cpp:67
std::map< std::string, XmpNsInfo > NsRegistry
Type for the namespace registry.
Definition: properties.hpp:218
virtual ~Exifdatum()
Destructor.
Definition: exif.cpp:213
IfdId dtGroup() const
Return the group of the related entry which has the data area.
Definition: tiffcomposite_int.hpp:837
virtual long copy(byte *buf, ByteOrder byteOrder) const =0
Write value to a data buffer.
const TagDetails pentaxLocation[]
Location, tag 0x0022.
static void encode(CiffHeader *pHead, const Image &image)
Encode image metadata from image into the CRW parse tree. This function converts all Exif metadata th...
Definition: crwimage.cpp:1152
bool isMakerIfd(IfdId ifdId)
Return true if ifdId is a makernote IFD id. (Note: returns false for makerIfd)
Definition: tags.cpp:2177
const TagDetails minoltaImageQuality[]
Lookup table to translate Minolta image quality values to readable labels.
const TagDetails pentaxISO[]
ISO, tag 0x0014.
static const TagInfo * tagListCb2b()
Return read-only list of built-in Color Balance 2b tags.
Definition: nikonmn.cpp:1312
ExifData::const_iterator fNumber(const ExifData &ed)
Return the F number.
Definition: easyaccess.cpp:401
bool isCr2Type(BasicIo &iIo, bool advance)
Check if the file iIo is a CR2 image.
Definition: cr2image.cpp:212
void cnvExifGPSCoord(const char *from, const char *to)
Exif GPS coordinate to XMP conversion function.
Definition: convert.cpp:738
const TagDetails olympusMacro[]
Macro, tag 0x0202.
virtual void visitBinaryElement(TiffBinaryElement *object)=0
Operation to perform for an element of a binary array.
const TagDetails panasonicShadingCompensation[]
Shading compensation, tag 0x008a.
uint16_t tagNumber(const std::string &tagName, IfdId ifdId)
Return the tag number for one combination of IFD id and tagName. If the tagName is not known,...
Definition: tags.cpp:2256
int nikonSelector(uint16_t tag, const byte *pData, uint32_t size, TiffComponent *const)
Function to select cfg + def of a Nikon complex binary array.
Definition: makernote.cpp:1119
XmpKey::AutoPtr key_
Key.
Definition: xmp.cpp:133
std::string groupName() const
Return the name of the metadata group (which is also the second part of the key)
Definition: iptc.cpp:140
EXIV2API bool isRiffType(BasicIo &iIo, bool advance)
Check if the file iIo is a Riff Video.
virtual int setDataArea(const byte *buf, long len)
Set the data area, if the value has one by copying (cloning) the buffer pointed to by buf.
Definition: value.cpp:142
const TagDetails pentaxMeteringMode[]
MeteringMode, tag 0x0017.
YodAdjust yodAdjust_[3]
Year, month and day adjustment info.
Definition: exiv2app.hpp:212
Class to access PGF images. Exif and IPTC metadata are supported directly.
Definition: pgfimage.hpp:62
Makernote factory and registry, IFD makernote header, and camera vendor specific makernote implementa...
const ArrayCfg nikonAf2Cfg
Nikon Auto Focus 2 binary array - configuration.
ExifData::const_iterator exposureTime(const ExifData &ed)
Return the exposure time.
Definition: easyaccess.cpp:391
~LogMsg()
Destructor, passes the log message to the message handler depending on the log level.
Definition: error.hpp:101
void setIptcData(const IptcData &iptcData)
Todo: Not supported yet(?). Calling this function will throw an instance of Error(32).
Definition: gifimage.cpp:66
const TagDetails minoltaFolderNameStd[]
Lookup table to translate Minolta Std camera settings folder name values to readable labels.
Class PngChunk to parse PNG chunk data implemented using the following references: PNG iTXt chunk st...
virtual uint32_t doSizeData() const
Implements sizeData(). Return the sum of the sizes of all sub-IFDs.
Definition: tiffcomposite.cpp:1774
void(* XmpLockFct)(void *pLockData, bool lockUnlock)
Lock/unlock function type.
Definition: xmp.hpp:316
virtual std::string key() const =0
Return the key of the metadatum as a string. The key is of the form 'familyName.groupName....
void copyXmpToExif(const XmpData &xmpData, ExifData &exifData)
Convert (copy) XMP properties to Exif tags.
Definition: convert.cpp:1295
virtual const char * familyName() const
Return an identifier for the type of metadata (the first part of the key)
Definition: tags.cpp:3072
const ArrayDef nikonSi1Def[]
Nikon Shot Info binary array - definition 1 (D80)
bool ok_
Indicates the status of the previous to<Type> conversion.
Definition: value.hpp:248
const Value & value() const
Return a constant reference to the value.
Definition: iptc.cpp:215
Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of ...
Definition: basicio.cpp:83
virtual std::string key() const
Return the key of the metadatum as a string. The key is of the form 'familyName.groupName....
Definition: tags.cpp:3067
const ArrayDef nikonCb2aDef[]
Nikon Color Balance binary array - definition 2a (D50)
Class to access raw Fujifilm RAF images. Exif metadata is supported directly, IPTC is read from the E...
Definition: rafimage.hpp:57
virtual long copy(byte *buf, ByteOrder byteOrder) const
Write value to a data buffer.
Definition: value.hpp:1606
const char * voc_
Vocabulary string.
Definition: tags_int.hpp:208
A container for XMP data. This is a top-level class of the Exiv2 library.
Definition: xmp.hpp:179
const TagDetails casioQuality[]
Quality, tag 0x0002.
virtual long count() const
Return the number of components of the value.
Definition: value.cpp:997
const TagDetails minoltaIntervalModeStd[]
Lookup table to translate Minolta Std camera settings interval mode values to readable labels.
std::pair< int32_t, int32_t > Rational
8 byte signed rational type.
Definition: types.hpp:96
virtual ~TiffReader()
Virtual destructor.
Definition: tiffvisitor.cpp:1150
uint32_t mask_
Bitmask value.
Definition: tags_int.hpp:199
bool empty() const
Return true if there is no XMP metadata.
Definition: xmp.cpp:368
virtual void visitBinaryElement(TiffBinaryElement *object)
Find tag and group in an element of a binary array.
Definition: tiffvisitor.cpp:190
virtual TiffDataEntry * doClone() const
Internal virtual copy constructor, implements clone().
Definition: tiffcomposite.cpp:302
Simple struct stat wrapper for internal use.
Definition: basicio.cpp:125
const char * desc_
Dataset description.
Definition: datasets.hpp:77
const TagDetails canonSuperMacro[]
SuperMacro, tag 0x001a.
const TagDetails casioFlashIntensity[]
Flash intensity, tag 0x0005.
const TagDetails sonyBatteryLevelA100[]
Lookup table to translate Sony A100 camera settings battery level switch values to readable labels.
const char * typeName() const
Return the name of the type.
Definition: iptc.cpp:165
virtual uint32_t doWriteData(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t &imageIdx) const
Implements writeData(). Write the data area to the ioWrapper. Return the number of bytes written.
Definition: tiffcomposite.cpp:1508
uint32_t extendedTag_
Tag (32 bit so that it can contain special tags)
Definition: tiffcomposite_int.hpp:394
static const TagInfo * tagListAf()
Return read-only list of built-in Auto Focus tags.
Definition: nikonmn.cpp:845
bool isTiffImageTag(uint16_t tag, IfdId group)
Convenience function to check if tag, group is in the list of TIFF image tags.
Definition: tiffimage.cpp:2358
const TagDetails panasonicAFAssistLamp[]
AFAssistLamp, tag 0x0031.
Value interface and concrete subclasses.
A MakerNote format used by Nikon cameras, such as the E990 and D1.
Definition: nikonmn_int.hpp:65
const char * ver_
Version string.
Definition: makernote.cpp:1065
virtual long write(const byte *data, long wcount)
Not support this method.
Definition: basicio.cpp:1697
virtual uint16_t tag() const =0
Return the tag number.
const TagDetails minoltaImageSize5D[]
Lookup table to translate Minolta Dynax 5D camera settings image size values to readable labels.
@ signedLong
Exif SLONG type, a 32-bit (4-byte) signed (twos-complement) integer.
Definition: types.hpp:125
virtual TiffComponent * doAddNext(TiffComponent::AutoPtr tiffComponent)
Implements addNext(). The default implementation does nothing.
Definition: tiffcomposite.cpp:871
const TagDetails nikonFlashControlMode[]
FlashControlMode.
static const XmpPropertyInfo * propertyInfo(const XmpKey &key)
Return information for the property for key.
const TagDetails sonyMeteringModeA100[]
Lookup table to translate Sony A100 camera settings metering mode values to readable labels.
const TagDetails panasonicTouchAE[]
Touch AE, tag 0x00ab.
const ArrayCfg nikonFl2Cfg
Nikon Flash Info binary array - configuration 2.
virtual void visitImageEntry(TiffImageEntry *object)=0
Operation to perform for a TIFF image entry.
virtual uint32_t doWrite(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &imageIdx)
Implements write(). Write pointers into the data area to the ioWrapper, relative to the offsets in th...
Definition: tiffcomposite.cpp:1281
PreviewImage(const PreviewImage &rhs)
Copy constructor.
Definition: preview.cpp:1051
Exif and IPTC conversions to and from XMP.
const TagDetails nikonColorSpace[]
ColorSpace, tag 0x001e.
TiffComponent *(* NewMnFct2)(uint16_t tag, IfdId group, IfdId mnGroup)
Type for a pointer to a function creating a makernote (group)
Definition: makernote_int.hpp:61
unsigned long printTags_
Definition: exiv2app.hpp:206
static const TagInfo * tagListSi5()
Return read-only list of built-in Shot Info tags.
Definition: nikonmn.cpp:1260
const TagInfo *(* TagListFct)()
A function returning a tag list.
Definition: tags.hpp:60
const TagDetails canonCsPhotoEffect[]
PhotoEffect, tag 0x0028.
virtual BasicIo & io() const
Return a reference to the BasicIo instance being used for Io.
Definition: image.cpp:329
std::vector< Iptcdatum > IptcMetadata
Container type to hold all metadata.
Definition: iptc.hpp:167
CryptFct cryptFct_
Crypt function, 0 if not used.
Definition: tiffcomposite_int.hpp:1339
TypeId
Exiv2 value type identifiers.
Definition: types.hpp:116
TiffComponent * newSony1Mn2(uint16_t tag, IfdId group, IfdId mnGroup)
Function to create a Sony1 makernote.
Definition: makernote.cpp:1021
const TagDetails minoltaSonyTeleconverterModel[]
Lookup table to translate Sony/Minolta teleconverter model values to readable labels.
const TagDetails exifWhiteBalance[]
WhiteBalance, tag 0xa403.
const TagDetails pentaxSharpness[]
Sharpness, tag 0x0021.
const TagDetails samsungPwMode[]
PictureWizard Mode.
void setIptcData(const IptcData &iptcData)
Todo: Not supported yet(?). Calling this function will throw an instance of Error(32).
Definition: tgaimage.cpp:65
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 ...
Definition: jpgimage.cpp:1082
const int pef
PEF image type (see class TiffImage)
Definition: tiffimage.hpp:53
virtual std::string tagLabel() const =0
Return a label for the tag.
ValueType< uint16_t > UShortValue
Unsigned short value type.
Definition: value.hpp:1349
const TagDetails minoltaDriveModeStd[]
Lookup table to translate Minolta Std camera settings drive mode values to readable labels.
Class to access XMP sidecar files. They contain only XMP metadata.
Definition: xmpsidecar.hpp:56
const TagDetails casio2Sharpness[]
Sharpness, tag 0x0021.
bool initialize(IfdId group)
Setup cfg and def for the component, in case of a complex binary array. Else do nothing....
Definition: tiffcomposite.cpp:568
const TagDetails nikonOlnh[]
Off, Low, Normal, High, multiple tags.
int target_
What common target to process.
Definition: exiv2app.hpp:209
uint32_t width_
Preview image width in pixels or 0 for unknown width.
Definition: preview.hpp:66
FileIo(const std::string &path)
Constructor that accepts the file path on which IO will be performed. The constructor does not open t...
Definition: basicio.cpp:351
ExifData::const_iterator make(const ExifData &ed)
Return the camera make.
Definition: easyaccess.cpp:375
virtual int read(const std::string &buf)
Read the value from buf. This default implementation uses buf as it is.
Definition: value.cpp:293
uint32_t baseOffset() const
Return the base offset.
Definition: tiffvisitor_int.hpp:617
const TagDetails sonyExposureLevelIncrements[]
Lookup table to translate Sony exposure level increments values to readable labels.
Class Image, defining the interface for all Image subclasses.
Data structure used as a row of the table which describes TIFF trees. Multiple trees are needed as TI...
Definition: tiffimage_int.hpp:230
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 ...
Definition: rafimage.cpp:136
TiffComponent * newSigmaMn(uint16_t tag, IfdId group, IfdId mnGroup, const byte *, uint32_t size, ByteOrder)
Function to create a Sigma makernote.
Definition: makernote.cpp:983
void printStructure(std::ostream &out, PrintStructureOption option)
Print out the structure of image file.
const TagDetails minoltaSonyBoolInverseFunction[]
Lookup table to translate Minolta/Sony bool inverse function values to readable labels.
static std::ostream & print0x009a(std::ostream &os, const Value &value, const ExifData *)
Print sensor pixel size.
Definition: nikonmn.cpp:2645
Value::AutoPtr getValue() const
Return an auto-pointer to a copy (clone) of the value. The caller owns this copy and the auto-poiner ...
Definition: iptc.cpp:210
long size() const
Return the size of the value in bytes.
Definition: exif.cpp:385
const int none
Not an image.
Definition: image.hpp:58
TiffType toTiffType(TypeId typeId)
Convert the Exiv2 typeId to a TIFF value type.
Definition: tiffcomposite.cpp:1856
uint16_t szTag() const
Return the group of the entry which has the size.
Definition: tiffcomposite_int.hpp:632
TiffComponent * newPentaxDngMn2(uint16_t tag, IfdId group, IfdId mnGroup)
Function to create an Pentax DNG makernote.
Definition: makernote.cpp:947
void writeMetadata()
Write metadata back to the image.
const TagDetails panasonicBurstMode[]
BustMode, tag 0x002a.
virtual void clearXmpPacket()
Erase the buffered XMP packet. XMP data is not removed from the actual image until the writeMetadata(...
Definition: image.cpp:243
const TagDetails exifGPSMeasureMode[]
GPS measurement mode, tag 0x000a.
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 ...
Definition: mrwimage.cpp:159
const TagDetails sonyCreativeStyle[]
Lookup table to translate Sony camera settings creative style values to readable labels.
bool operator==(const Prefix &prefix) const
Comparison operator for prefix.
static const XmpPropertyInfo * propertyList(const std::string &prefix)
Return read-only list of built-in properties for prefix.
std::string key() const
Return the key of the Exifdatum.
Definition: exif.cpp:315
const TagDetails casio2DriveMode[]
Drive Mode, tag 0x3103.
virtual std::string path() const =0
Return the path to the IO resource. Often used to form comprehensive error messages where only a Basi...
Key(uint32_t e, IfdId g)
Constructor.
Definition: tiffimage_int.hpp:205
const TagDetails minoltaFocusModeStd[]
Lookup table to translate Minolta Std camera settings focus mode values to readable labels.
TypeId getType< uint16_t >()
Specialization for an unsigned short.
Definition: value.hpp:1230
Structure mapping XMP namespaces and (preferred) prefixes.
Definition: properties.hpp:75
virtual uint32_t doCount() const
Implements count(). Return the number of entries in the IFD of the Makernote. Does not count entries ...
Definition: tiffcomposite.cpp:1036
void streamProperties()
Interpret Stream_Properties tag information, and save it in the respective XMP container.
static std::ostream & printGeneric(std::ostream &os, const Value &value, const ExifData *)
Print Olympus generic.
uint16_t tag() const
Return the tag corresponding to the extended tag.
Definition: tiffcomposite_int.hpp:390
const TagDetails nikonToningEffect[]
ToningEffect.
static const char jfifId_[]
JFIF identifier.
Definition: jpgimage.hpp:252
bool operator()(const Exiv2::Exifdatum &md) const
Returns true if IFD id matches.
Definition: tiffimage_int.hpp:483
T getValue(const byte *buf, ByteOrder byteOrder)
Read a value of type T from the data buffer.
Definition: value.hpp:1382
static const TagInfo * tagListFl3()
Return read-only list of built-in Flash Info 3 tags.
Definition: nikonmn.cpp:1078
TypeId getType< float >()
Specialization for a float.
Definition: value.hpp:1242
const TagDetails canonCsSpotMeteringMode[]
SpotMeteringMode, tag 0x0027.
const ArrayDef nikonFl2Def[]
Nikon Flash Info binary array - definition 2.
const TagDetails casioFlashIntensity2[]
flash intensity 2, tag 0x0019
static void registerNs(const std::string &ns, const std::string &prefix)
Register namespace ns with preferred prefix prefix.
bool isTgaType(BasicIo &iIo, bool)
Check if the file iIo is a Targa v2 image.
Definition: tgaimage.cpp:143
long size() const
Return the size of the value in bytes.
Definition: xmp.cpp:232
virtual ~AsciiValue()
Virtual destructor.
Definition: value.cpp:378
CrwEncodeFct fromExif_
Reverse conversion function.
Definition: crwimage_int.hpp:582
int pixelWidth() const
Return the pixel width of the image.
Definition: crwimage.cpp:95
long writeFile(const std::string &path) const
Write the thumbnail image to a file.
Definition: exif.cpp:442
MakerNote for Olympus cameras.
Definition: olympusmn_int.hpp:61
Exiv2::Uri hostInfo_
the host information extracted from the path
Definition: basicio.cpp:1963
static std::ostream & print0x000c(std::ostream &os, const Value &value, const ExifData *)
Print the serial number of the camera.
Definition: canonmn.cpp:1516
std::auto_ptr< TiffComponent >(* NewTiffCompFct)(uint16_t tag, IfdId group)
Type for a function pointer for a function to create a TIFF component. Use TiffComponent::AutoPtr,...
Definition: tifffwd_int.hpp:110
bool adjust_
Adjustment flag.
Definition: exiv2app.hpp:203
~DataBuf()
Destructor, deletes the allocated buffer.
Definition: types.hpp:204
Stateless parser class for data in TIFF format. Images use this class to decode and encode TIFF data....
Definition: tiffimage.hpp:141
const TagDetails minoltaImageQualityStd[]
Lookup table to translate Minolta Std camera settings image quality values to readable labels.
Class to access TIFF images. Exif metadata is supported directly, IPTC is read from the Exif data,...
Definition: tiffimage.hpp:63
virtual ~XPathIo()
Destructor. Releases all managed memory and removes the temp file.
Definition: basicio.cpp:1452
#define EXV_CALL_MEMBER_FN(object, ptrToMember)
Macro to make calls to member functions through a pointer more readable. See the C++ FAQ LITE,...
Definition: types.hpp:71
void fillAspectRatio(long width=1, long height=1)
Calculates Aspect Ratio of a video, and stores it in the respective XMP container.
int second
Second.
Definition: value.hpp:1122
float getFloat(const byte *buf, ByteOrder byteOrder)
Read a 4 byte single precision floating point value (IEEE 754 binary32) from the data buffer.
Definition: types.cpp:291
virtual int seek(long offset, Position pos)
Move the current file position.
Definition: basicio.cpp:955
void moveExifToXmp(ExifData &exifData, XmpData &xmpData)
Convert (move) Exif tags to XMP properties, remove converted Exif tags.
Definition: convert.cpp:1288
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:126
Helper struct to determine whether a type is signed or unsigned.
Definition: safe_op.hpp:77
const TagDetails canonCsFocusMode[]
FocusMode, tag 0x0007.
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.cpp:337
Abstract helper base class to access JPEG images.
Definition: jpgimage.hpp:149
TiffComponent * addNext(AutoPtr tiffComponent)
Add a "next" component to the component. Default is to do nothing.
Definition: tiffcomposite.cpp:851
const TagDetails olympusRd2Engine[]
OlympusRd2 Engine, tag 0x010b.
static ByteOrder decode(ExifData &exifData, const byte *pData, uint32_t size)
Decode metadata from a buffer pData of length size with binary Exif data to the provided metadata con...
Definition: exif.cpp:617
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
Definition: jpgimage.cpp:323
PgfImage(BasicIo::AutoPtr io, bool create)
Constructor that can either open an existing PGF image or create a new image from scratch....
Definition: pgfimage.cpp:65
const TagDetails olympusCsFocusMode[]
FocusMode, tag 0x0301.
static const char * typeName(TypeId typeId)
Return the name of the type, 0 if unknown.
Definition: types.cpp:108
static const TagInfo * tagListSi2()
Return read-only list of built-in Shot Info D40 tags.
Definition: nikonmn.cpp:1105
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:102
virtual void visitBinaryArrayEnd(TiffBinaryArray *object)
Operation to perform for a TIFF binary array, at the end of the processing.
Definition: tiffvisitor.cpp:121
void decodeXmp(const TiffEntryBase *object)
Decode XMP packet from an XMLPacket tag.
Definition: tiffvisitor.cpp:388
virtual long count() const
Return the number of components of the value.
Definition: value.cpp:771
static std::ostream & print0x0088(std::ostream &os, const Value &value, const ExifData *)
Print AF focus position.
Definition: nikonmn.cpp:347
const ArrayDef sonyCs2Def[]
Sony[12] Camera Settings 2 binary array - definition.
Helper structure.
Definition: canonmn.cpp:1547
const TagDetails nikonNefCompression[]
NEFCompression, tag 0x0093.
const TagDetails sonyReleaseMode[]
Lookup table to translate Sony release mode values to readable labels.
PreviewImage getPreviewImage(const PreviewProperties &properties) const
Return the preview image for the given preview properties.
Definition: preview.cpp:1156
const TagDetails exifIndexed[]
Indexed, tag 0x015a.
static std::auto_ptr< TiffComponent > create(uint32_t extendedTag, IfdId group)
Create the TiffComponent for TIFF entry extendedTag and group. The embedded lookup table is used to f...
Definition: tiffimage.cpp:2037
uint32_t height_
Height.
Definition: image.hpp:66
void tagDecoder(Exiv2::DataBuf &buf, unsigned long size)
Interpret tag information, and call the respective function to save it in the respective XMP containe...
void readDataEntryBase(TiffDataEntryBase *object)
Read a TiffDataEntryBase from the data buffer.
Definition: tiffvisitor.cpp:1185
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.cpp:1012
CiffDirectory()
Default constructor.
Definition: crwimage_int.hpp:360
static std::ostream & printPentaxExposure(std::ostream &os, const Value &value, const ExifData *)
Print Pentax exposure.
Definition: pentaxmn.cpp:1041
#define EXV_MIN(a, b)
Simple common min macro.
Definition: types.hpp:75
char from_hex(char ch)
Convert a hex character to its integer value.
Definition: futils.cpp:74
static const byte sof13_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:248
TiffComponent * newPentaxMn2(uint16_t tag, IfdId group, IfdId mnGroup)
Function to create an Pentax makernote.
Definition: makernote.cpp:940
const TagDetails panasonicColorMode[]
ColorMode, tag 0x0032.
static WriteMethod encode(BasicIo &io, const byte *pData, uint32_t size, ByteOrder byteOrder, const ExifData &exifData, const IptcData &iptcData, const XmpData &xmpData)
Encode metadata from the provided metadata to TIFF format.
Definition: tiffimage.cpp:239
uint16_t number_
Dataset number.
Definition: datasets.hpp:74
Tag information.
Definition: tags.hpp:83
Impl(const std::string &path, size_t blockSize)
Constructor.
Definition: basicio.cpp:1597
HttpIo & operator=(const HttpIo &rhs)
Assignment operator.
static const TagInfo * tagListPc()
Return read-only list of built-in Picture Control tags.
Definition: nikonmn.cpp:716
virtual long size() const
Return the size of the value in bytes.
Definition: value.cpp:1180
int pixelHeight() const
Return the pixel height of the image.
Definition: cr2image.cpp:75
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.cpp:331
const TagDetails exifNormalSoftHard[]
Contrast, tag 0xa408 and Sharpness, tag 0xa40a.
std::auto_ptr< TimeValue > AutoPtr
Shortcut for a TimeValue auto pointer.
Definition: value.hpp:1101
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.
Definition: metadatum.cpp:84
EXV_DLLLOCAL BasicError(int code, const A &arg1)
Constructor taking an error code and one argument.
OpMode opMode_
File open mode.
Definition: basicio.cpp:113
Greps greps_
List of keys to 'grep' from the metadata.
Definition: exiv2app.hpp:223
virtual void doAccept(TiffVisitor &visitor)=0
Implements accept().
virtual int close()
Does nothing on MemIo objects.
Definition: basicio.cpp:1325
long toData(byte *buf, T t, ByteOrder byteOrder)
Convert a value of type T to data, write the data to the data buffer.
const TagInfo * exifTagList()
Return read-only list of built-in Exif IFD tags.
Definition: tags.cpp:1871
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
virtual TiffDirectory * doClone() const
Internal virtual copy constructor, implements clone().
Definition: tiffcomposite.cpp:317
const ArrayCfg * cfg() const
Return a pointer to the configuration.
Definition: tiffcomposite_int.hpp:1416
Impl(const std::string &path)
Constructor.
Definition: basicio.cpp:156
const TagDetails olympusContrast[]
Contrast, tag 0x1029.
virtual const Time & getTime() const
Return time struct containing time information.
Definition: value.cpp:1170
static std::ostream & print0x0007(std::ostream &os, const Value &value, const ExifData *)
Print autofocus mode.
Definition: nikonmn.cpp:1433
const TagDetails olympusRdEngine[]
OlympusRd Engine, tag 0x0109.
Overflow checks for integers.
const TagDetails panasonicWhiteBalance[]
WhiteBalance, tag 0x0003.
#define EXV_WARNING
Shorthand for a temp warning log message object and return its ostringstream.
Definition: error.hpp:149
std::string mimeType() const
Return the MIME type of the image.
Definition: tgaimage.cpp:54
virtual uint32_t doSize() const
Implements size(). Return the size of a standard TIFF entry.
Definition: tiffcomposite.cpp:1680
virtual Rational toRational(long n=0) const
Convert the value to a Rational. The optional parameter n is not used and is ignored.
Definition: value.cpp:744
virtual void visitSizeEntry(TiffSizeEntry *object)
Copy a TIFF size entry if it is an image tag.
Definition: tiffvisitor.cpp:245
const TagDetails sonyFocusHoldButtonA100[]
Lookup table to translate Sony A100 camera settings focus hold button values to readable labels.
const TiffType ttUnsignedByte
Exif BYTE type.
Definition: tiffcomposite_int.hpp:58
uint16_t tag() const
Properties don't have a tag number. Return 0.
Definition: xmp.cpp:207
float parseFloat(const std::string &s, bool &ok)
Return a float set to the value represented by s.
Definition: types.cpp:599
const int orf
ORF image type (see class OrfImage)
Definition: orfimage.hpp:50
TiffComponent * newSonyMn(uint16_t tag, IfdId group, IfdId, const byte *pData, uint32_t size, ByteOrder)
Function to create a Sony makernote.
Definition: makernote.cpp:1002
TypeId type_
Exiv2 default type.
Definition: datasets.hpp:82
virtual void doEncode(TiffEncoder &encoder, const Exifdatum *datum)
Implements encode().
Definition: tiffcomposite.cpp:990
TiffPathItem(uint32_t extendedTag, IfdId group)
Constructor.
Definition: tiffcomposite_int.hpp:97
const TagDetails canonCsAfPoint[]
AFPoint, tag 0x0013.
const TagDetails olympusFocusProcess[]
FocusProcess, tag 0x0302.
const TiffType ttUndefined
Exif UNDEFINED type.
Definition: tiffcomposite_int.hpp:64
void setValue(const Value *pValue)
Set the value. This method copies (clones) the value pointed to by pValue.
Definition: iptc.cpp:255
Provides easy (high-level) access to some Exif meta data.
const char * desc_
Brief description of the namespace.
Definition: properties.hpp:98
IfdId g_
Group
Definition: tiffimage_int.hpp:207
virtual void visitDataEntry(TiffDataEntry *object)
Copy a TIFF data entry if it is an image tag.
Definition: tiffvisitor.cpp:235
EncoderFct encoderFct_
Encoder function for matching tags.
Definition: tiffcomposite_int.hpp:397
TIFF composite visitor to read the TIFF structure from a block of memory and build the composite from...
Definition: tiffvisitor_int.hpp:630
virtual long write(const byte *data, long wcount)=0
Write data to the IO source. Current IO position is advanced by the number of bytes written.
const ArrayCfg canonCfCfg
Canon Custom Function binary array - configuration.
static void defaultHandler(int level, const char *s)
The default log handler. Sends the log message to standard error.
Definition: error.cpp:121
const TagDetails fujiPictureMode[]
PictureMode, tag 0x1031.
int pixelHeight() const
Return the pixel height of the image.
Definition: rafimage.cpp:71
ExifData::const_iterator imageQuality(const ExifData &ed)
Return the image quality setting.
Definition: easyaccess.cpp:203
uint32_t minbytes_
Minimum number of bytes.
Definition: datasets.hpp:80
virtual void doEncode(TiffEncoder &encoder, const Exifdatum *datum)
Implements encode().
Definition: tiffcomposite.cpp:980
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...
Definition: tiffimage.cpp:281
#define EXV_PRINT_COMBITAG(array, count, ignoredcount)
Shortcut for the printCombiTag template which requires typing the array name only once.
Definition: pentaxmn_int.hpp:122
int getopt(int argc, char *const argv[])
Call Getopt::getopt() with optstring, to inititate command line argument parsing, perform consistency...
Helper class to access Exiv2 files.
Definition: jpgimage.hpp:365
void writeMetadata()
Write metadata back to the image.
Definition: xmpsidecar.cpp:115
static std::ostream & print0x0088(std::ostream &os, const Value &value, const ExifData *)
Print AF point.
Definition: nikonmn.cpp:1561
Getopt()
Default constructor.
Definition: utils.cpp:60
virtual void populateFakeData()
Mark all the bNone blocks to bKnow. This avoids allocating memory for parts of the file that contain ...
Definition: basicio.hpp:269
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 ...
Definition: convert.cpp:1345
virtual uint32_t doSize() const
Implements size(). Returns count * type-size, both taken from the element definition.
Definition: tiffcomposite.cpp:1736
const TagDetails canonCsLensType[]
LensType, tag 0x0016.
bool readHeader(const byte *pData, uint32_t size, ByteOrder byteOrder)
Read the header from a data buffer, return true if successful.
Definition: tiffcomposite.cpp:537
uint32_t offset() const
Return the offset to the data from the start of the directory.
Definition: crwimage_int.hpp:240
const TagDetails panasonicShutterType[]
Shutter Type, tag 0x009f.
virtual int putb(byte data)
Write one byte to the memory block. The IO position is advanced by one byte.
Definition: basicio.cpp:1243
uint16_t TiffType
TIFF value type.
Definition: tiffcomposite_int.hpp:56
char * urldecode(const char *str)
Decode the input url.
Definition: futils.cpp:95
Copy all image tags from the source tree (the tree that is traversed) to a target tree,...
Definition: tiffvisitor_int.hpp:226
const TagDetails exifCustomRendered[]
CustomRendered, tag 0xa401.
Class to access QuickTime video files.
Definition: quicktimevideo.hpp:54
XmpMetadata::const_iterator const_iterator
XmpMetadata const iterator type.
Definition: xmp.hpp:184
Class to insert pointers or offsets to computed addresses at specific locations in an image....
Definition: tiffimage_int.hpp:428
std::string key_
Key
Definition: tags.cpp:2944
const char * exvGettext(const char *str)
Translate a string using the gettext framework. This wrapper hides all the implementation details fro...
Definition: types.cpp:520
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.
Definition: types.cpp:352
bool operator==(const TagDetails &td, const LensTypeAndFocalLengthAndMaxAperture <fl)
Compare tag details with a lens entry.
Definition: canonmn.cpp:1554
std::string tagName() const
Return the name of the tag.
Definition: tags.cpp:2954
#define EXIV2_RCSID(id)
Macro to store version information in each object file.
Definition: rcsid_int.hpp:63
std::vector< std::string > value_
Stores the string values.
Definition: value.hpp:870
Prefix(const std::string &prefix)
Constructor.
void setOffset(int32_t offset)
Set the offset.
Definition: tiffcomposite_int.hpp:440
std::ostream & printMinoltaSonyLocalAFAreaPoint(std::ostream &os, const Value &value, const ExifData *metadata)
Print Minolta/Sony Local AF Area Point values to readable labels.
Definition: minoltamn.cpp:2016
virtual ~CiffDirectory()
Virtual destructor.
Definition: crwimage.cpp:342
static const TagInfo * tagListVr()
Return read-only list of built-in Vibration Reduction tags.
Definition: nikonmn.cpp:660
DataSet(uint16_t number, const char *name, const char *title, const char *desc, bool mandatory, bool repeatable, uint32_t minbytes, uint32_t maxbytes, TypeId type, uint16_t recordId, const char *photoshop)
Constructor.
Definition: datasets.cpp:49
static WriteMethod encode(BasicIo &io, const byte *pData, uint32_t size, const ExifData &exifData, const IptcData &iptcData, const XmpData &xmpData, uint32_t root, FindEncoderFct findEncoderFct, TiffHeaderBase *pHeader, OffsetWriter *pOffsetWriter)
Encode TIFF metadata from the metadata containers into a memory block blob.
Definition: tiffimage.cpp:2109
std::string format_
Filename format (-r option arg).
Definition: exiv2app.hpp:213
const int jpeg
JPEG image type (see class JpegImage)
Definition: jpgimage.hpp:56
Class that holds preview image properties and data buffer.
Definition: preview.hpp:79
@ writeAliasComments
Show aliases as XML comments.
Definition: xmp.hpp:267
void setIptcData(const IptcData &iptcData)
Todo: Not supported yet(?). Calling this function will throw an instance of Error(32).
Definition: bmpimage.cpp:65
Files files_
List of non-option arguments.
Definition: exiv2app.hpp:221
std::ostream & print0x9201(std::ostream &os, const Value &value, const ExifData *)
Print exposure time converted from APEX shutter speed value.
Definition: tags.cpp:2532
static const TagInfo * tagListAf2()
Return read-only list of built-in Auto Focus 2 tags.
Definition: nikonmn.cpp:880
const TagDetails exifCompression[]
Compression, tag 0x0103.
int add(const IptcKey &key, Value *value)
Add an Iptcdatum from the supplied key and value pair. This method copies (clones) the value....
Definition: iptc.cpp:299
const ArraySet sony1CsSet[]
Sony1 Camera Settings configurations and definitions.
IptcMetadata::iterator iterator
IptcMetadata iterator type.
Definition: iptc.hpp:183
void metadataHandler(int meta=1)
Interpret Metadata, Extended_Content_Description, Metadata_Library tag information,...
const TagDetails exifGPSLatitudeRef[]
GPS latitude reference, tag 0x0001; also GPSDestLatitudeRef, tag 0x0013.
const TagDetails minoltaSubjectProgramStd[]
Lookup table to translate Minolta Std camera settings subject program values to readable labels.
virtual void setExifData(const ExifData &exifData)
Assign new Exif data. The new Exif data is not written to the image until the writeMetadata() method ...
Definition: image.cpp:228
uint32_t sizeData() const
Return the size in bytes of the IFD data of this component when written to a binary image....
Definition: tiffcomposite.cpp:1742
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...
Definition: xmpsidecar.cpp:150
Stateless parser class for IPTC data. Images use this class to decode and encode binary IPTC data.
Definition: iptc.hpp:287
An Image subclass to support RIFF video files.
virtual TiffComponent * doAddChild(AutoPtr tiffComponent)
Implements addChild(). The default implementation does nothing.
Definition: tiffcomposite.cpp:809
const TagDetails sonyExposureIndicatorA100[]
Lookup table to translate Sony A100 camera settings exposure indicator values to readable labels.
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 ...
Definition: jp2image.cpp:624
virtual int nonoption(const std::string &argv)
Callback used by getopt() to pass on each non-option parameter found on the command line.
Definition: utils.cpp:84
Value & operator=(const Value &rhs)
Assignment operator. Protected so that it can only be used by subclasses but not directly.
Definition: value.cpp:64
LangAltValue()
Constructor.
Definition: value.cpp:812
const TagDetails casio2Saturation[]
Saturation, tag 0x001f.
const ArrayCfg nikonLd3Cfg
Nikon Lens Data binary array - configuration 3.
void moveIptcToXmp(IptcData &iptcData, XmpData &xmpData, const char *iptcCharset)
Convert (move) IPTC datasets to XMP properties, remove converted IPTC datasets.
Definition: convert.cpp:1323
virtual byte * mmap(bool isWriteable=false)=0
Direct access to the IO data. For files, this is done by mapping the file into the process's address ...
void setElDef(const ArrayDef &def)
Set the array definition for this element.
Definition: tiffcomposite_int.hpp:1512
int32_t offset() const
Return the offset to the data area relative to the base for the component (usually the start of the T...
Definition: tiffcomposite_int.hpp:467
const TagInfo * gpsTagList()
Return read-only list of built-in GPS tags.
Definition: tags.cpp:2089
IfdId ifdId_
The IFD associated with this tag.
Definition: tags.cpp:2941
const TagDetails exifJpegLosslessPredictor[]
exifJpegLosslessPredictor, tag 0x0205
const TagDetails exifOrientation[]
Orientation, tag 0x0112.
BasicIo::AutoPtr io_
Image data IO pointer.
Definition: image.hpp:419
Implements the command line handling for the program.
Definition: exiv2app.hpp:118
const TagDetails sonyAFIlluminator[]
Lookup table to translate Sony AF illuminator values to readable labels.
virtual IptcData & iptcData()
Returns an IptcData instance containing currently buffered IPTC data.
Definition: image.cpp:191
const char * mimeType() const
Return the MIME type of the thumbnail, either "image/tiff" or "image/jpeg".
Definition: exif.cpp:464
void setComment(const std::string &comment)
Not supported. TIFF format does not contain a comment. Calling this function will throw an Error(32).
Definition: tiffimage.cpp:168
uint32_t size(uint16_t tag, IfdId group) const
Get the size in bytes of a tag.
Definition: tiffcomposite.cpp:562
ByteOrder
Type to express the byte order (little or big endian)
Definition: types.hpp:99
static std::string makeMetadataChunk(const std::string &metadata, MetadataId type)
Return a complete PNG chunk data compressed or not as buffer. Data returned is formated accordingly w...
@ time
IPTC time type.
Definition: types.hpp:132
virtual EXV_DLLLOCAL ~BasicError()
Virtual destructor. (Needed because of throw())
Definition: error.hpp:371
@ date
IPTC date type.
Definition: types.hpp:131
const TagDetails sonyAFAreaIlluminationA100[]
Lookup table to translate Sony A100 camera settings sony AF area illumination values to readable labe...
virtual const char * familyName() const
Return an identifier for the type of metadata (the first part of the key)
Definition: datasets.cpp:630
std::string tagName() const
Return the property name.
Definition: xmp.cpp:197
const ArrayDef nikonFl1Def[]
Nikon Flash Info binary array - definition 1.
const TagDetails print0xb025[]
Lookup table to translate Sony dynamic range optimizer values to readable labels.
bool empty() const
Return true if there is no Exif metadata.
Definition: exif.hpp:516
virtual int read(const byte *buf, long len, ByteOrder byteOrder=invalidByteOrder)
Read the value from a character buffer.
Definition: value.cpp:930
static std::ostream & printImageSize(std::ostream &, const Value &, const ExifData *)
Print Full and Preview Image size.
Definition: sonymn.cpp:311
uint32_t tagStep() const
Return the size of the default tag, which is used to calculate tag numbers as idx/tagStep.
Definition: tiffcomposite_int.hpp:1334
virtual void visitIfdMakernoteEnd(TiffIfdMakernote *object)
Reset encoder to its original state, undo makernote specific settings.
Definition: tiffvisitor.cpp:758
std::string suffix_
File extension of the file to insert.
Definition: exiv2app.hpp:220
Composite to model an array of different tags. The tag types as well as other aspects of the array ar...
Definition: tiffcomposite_int.hpp:1358
const TagDetails minoltaFocusArea5D[]
Lookup table to translate Minolta Dynax 5D camera settings focus area values to readable labels.
const TagDetails nikonFlashMode[]
FlashMode, tag 0x0087.
const TagDetails fujiDynamicRangeSetting[]
DynamicRange, tag 0x1402.
TiffDecoder(ExifData &exifData, IptcData &iptcData, XmpData &xmpData, TiffComponent *const pRoot, FindDecoderFct findDecoderFct)
Constructor, taking metadata containers to add the metadata to, the root element of the composite to ...
Definition: tiffvisitor.cpp:280
const TagDetails fujiSharpness[]
Sharpness, tag 0x1001.
std::ostream & printMinoltaSonyTeleconverterModel(std::ostream &os, const Value &value, const ExifData *metadata)
Print Minolta/Sony Teleconverter Model values to readable labels.
Definition: minoltamn.cpp:2136
void cnvExifDate(const char *from, const char *to)
Exif date to XMP conversion function.
Definition: convert.cpp:561
const TagDetails minoltaWhiteBalance7D[]
Lookup table to translate Minolta Dynax 7D camera settings white balance values to readable labels.
void iniOrigDataBuf()
Initialize the original data buffer and its size from the base entry.
Definition: tiffcomposite.cpp:596
Sony MakerNote implemented using the following references: Sony Makernote list by Phil Harvey Email...
std::string mimeType() const
Return the MIME type of the image.
Definition: cr2image.cpp:61
Converter(ExifData &exifData, XmpData &xmpData)
Constructor for Exif tags and XMP properties.
Definition: convert.cpp:444
AccessMode
An identifier for each mode of metadata support.
Definition: types.hpp:108
const TagDetails minoltaSonyColorMode[]
Lookup table to translate Minolta A100 and all other Sony Alpha camera color mode values to readable ...
static NsRegistry nsRegistry_
Namespace registry.
Definition: properties.hpp:225
std::ostream & print0xa406(std::ostream &os, const Value &value, const ExifData *metadata)
Print scene capture type.
Definition: tags.cpp:2713
Simple error class used for exceptions. An output operator is provided to print errors to a stream.
Definition: error.hpp:269
std::ostream & print0x9101(std::ostream &os, const Value &value, const ExifData *)
Print components configuration specific to compressed data.
Definition: tags.cpp:2514
static const TagInfo * tagListFi()
Return read-only list of built-in Canon File Info tags.
Definition: canonmn.cpp:1354
virtual int option(int opt, const std::string &optarg, int optopt)=0
Callback used by getopt() to pass on each option and its argument (if any).
blockType_e
the status of the block.
Definition: basicio.hpp:873
uint32_t extendedTag_
Tag (32 bit so that it can contain special tags)
Definition: tiffimage_int.hpp:220
std::string extension_
Preview image extension.
Definition: preview.hpp:58
static const DataSet * envelopeRecordList()
Return read-only list of built-in Envelope Record datasets.
Definition: datasets.cpp:164
virtual uint32_t doWriteData(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t &imageIdx) const
Implements writeData(). Standard TIFF entries have no data: write nothing and return 0.
Definition: tiffcomposite.cpp:1485
virtual BasicIo::AutoPtr temporary() const
Returns a temporary data storage location. Currently returns an empty MemIo object,...
Definition: basicio.cpp:1938
static const TagInfo * tagListCs()
Return read-only list of built-in Sony Standard Camera Settings tags.
Definition: sonymn.cpp:708
const char * name_
Property name.
Definition: properties.hpp:66
std::ostream & print0x8298(std::ostream &os, const Value &value, const ExifData *)
Print the copyright.
Definition: tags.cpp:2444
const TagDetails olympusEqFlashModel[]
OlympusEq FlashModel, tag 0x1001.
int pixelHeight() const
Return the pixel height of the image.
Definition: mrwimage.cpp:71
HttpImpl & operator=(const HttpImpl &rhs)
Assignment.
@ exactPacketLength
The padding parameter is the overall packet length.
Definition: xmp.hpp:266
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...
Definition: version.cpp:161
void writeMetadata()
Write metadata back to the image.
virtual size_t populateBlocks(size_t lowBlock, size_t highBlock)
Get the data from the remote machine and write them to the memory blocks.
Definition: basicio.cpp:1610
Contains internal objects which are not published and are not part of the libexiv2 API.
Definition: canonmn.cpp:54
const char * ifdName() const
Return the name of the IFD.
Definition: exif.cpp:350
const TagDetails sonyLongExposureNoiseReduction[]
Lookup table to translate Sony long exposure noise reduction values to readable labels.
virtual void readMetadata()=0
Read all metadata supported by a specific image format from the image. Before this method is called,...
const int dng
DNG image type (see class TiffImage)
Definition: tiffimage.hpp:51
static const char * irbId_[]
Photoshop IRB markers
Definition: jpgimage.hpp:67
EXV_DLLLOCAL BasicError(int code, const A &arg1, const B &arg2, const C &arg3)
Constructor taking an error code and three arguments.
virtual void visitIfdMakernote(TiffIfdMakernote *object)
Find tag and group in an IFD makernote.
Definition: tiffvisitor.cpp:180
static std::ostream & printFocusDistance(std::ostream &os, const Value &value, const ExifData *)
Print focus distance.
Definition: nikonmn.cpp:2450
void aviHeaderTagsHandler(long size)
Interpret Riff Header tag information, and save it in the respective XMP container.
virtual std::string path() const
Returns a dummy path, indicating that memory access is used.
Definition: basicio.cpp:1367
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
std::ostream & print0xa217(std::ostream &os, const Value &value, const ExifData *metadata)
Print sensing method.
Definition: tags.cpp:2653
static std::ostream & printAccelerometer(std::ostream &os, const Value &value, const ExifData *)
Print accerometer readings.
Definition: panasonicmn.cpp:688
ConvertFct key1ToKey2_
Conversion from first to second key.
Definition: convert.cpp:112
virtual long size() const
Return the size of the value in bytes.
Definition: value.cpp:321
static const TagInfo * tagListRaw()
Return read-only list of built-in Panasonic RAW image tags (IFD0)
Definition: panasonicmn.cpp:752
virtual void doEncode(TiffEncoder &encoder, const Exifdatum *datum)
Implements encode().
Definition: tiffcomposite.cpp:985
const TagInfo * ifdTagList()
Return read-only list of built-in IFD0/1 tags.
Definition: tags.cpp:1401
std::ostream & print0xa401(std::ostream &os, const Value &value, const ExifData *metadata)
Print custom rendered.
Definition: tags.cpp:2668
std::auto_ptr< Image > AutoPtr
Image auto_ptr type.
Definition: image.hpp:92
std::vector< byte > ValueType
Type used to store the data.
Definition: value.hpp:340
void setOrigin(OffsetId id, uint32_t origin, ByteOrder byteOrder)
Set the origin of the offset for id, i.e., the location in the image where the offset is,...
Definition: tiffimage.cpp:2492
virtual std::string path() const
Returns the URL of the file.
Definition: basicio.cpp:1926
Data structure used as a row (element) of a table (array) defining the TIFF component used for each t...
Definition: tiffimage_int.hpp:201
std::ostream & print0xa409(std::ostream &os, const Value &value, const ExifData *metadata)
Print saturation.
Definition: tags.cpp:2723
virtual ~Getopt()
Destructor.
Definition: utils.cpp:65
const TagDetails olympusFocusRange[]
FocusRange, tag 0x100a.
EnVar
the name of environmental variables.
Definition: futils.hpp:51
const TagDetails exifGPSAltitudeRef[]
GPS altitude reference, tag 0x0005.
#define EXIV2_MINOR_VERSION
Exiv2 MINOR version number of the library used at compile-time.
Definition: version.hpp:54
const TagDetails sonyColorSpaceA100[]
Lookup table to translate Sony A100 camera settings color space values to readable labels.
virtual void visitSubIfd(TiffSubIfd *object)
Decode a TIFF sub-IFD.
Definition: tiffvisitor.cpp:338
virtual void visitBinaryElement(TiffBinaryElement *object)
Encode an element of a binary array.
Definition: tiffvisitor.cpp:796
int ifdId() const
Return the IFD id as an integer. (Do not use, this is meant for library internal use....
Definition: tags.cpp:3120
void setComment(const std::string &comment)
Not supported. MRW format does not contain a comment. Calling this function will throw an Error(32).
Definition: mrwimage.cpp:92
Xmpdatum & operator[](const std::string &key)
Returns a reference to the Xmpdatum that is associated with a particular key. If XmpData does not alr...
Definition: xmp.cpp:314
virtual void printStructure(std::ostream &out, PrintStructureOption option=kpsNone)
Print out the structure of image file.
Definition: image.cpp:172
const TagDetails panasonicPhotoStyle[]
Photo Style, tag 0x0089.
const uint32_t root
Special tag: root IFD.
Definition: tiffcomposite_int.hpp:82
Abstract base class for a string based Value type.
Definition: value.hpp:352
static std::ostream & print0x1209(std::ostream &os, const Value &value, const ExifData *)
Print Olympus focus info ManualFlash.
Definition: olympusmn.cpp:1560
void decomposeKey()
Parse and convert the key string into dataset and record id. Updates data members if the string can b...
Definition: datasets.cpp:675
virtual ~ExifKey()
Destructor.
Definition: tags.cpp:3049
std::ostream & print0x0213(std::ostream &os, const Value &value, const ExifData *metadata)
Print YCbCrPositioning.
Definition: tags.cpp:2439
const TagDetails casio2LightingMode[]
Lighting Mode, tag 0x302a.
const TagDetails panasonicContrast[]
Contrast, tag 0x002c.
const TagDetails nikonFlashComp[]
FlashComp, tag 0x0012.
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
std::auto_ptr< XmpArrayValue > AutoPtr
Shortcut for a XmpArrayValue auto pointer.
Definition: value.hpp:816
const TagDetails canonToneCurve[]
Tone Curve Values.
Value for simple ISO 8601 dates
Definition: value.hpp:997
double returnSampleRate(Exiv2::DataBuf &buf, long divisor=1)
Calculates Sample Rate of a particular stream.
static std::ostream & printRepeatingFlashRate(std::ostream &os, const Value &value, const ExifData *)
Print repeating flash rate.
Definition: nikonmn.cpp:2559
void(* Handler)(int, const char *)
Type for a log message handler function. The function receives the log level and message and can proc...
Definition: error.hpp:94
virtual std::string groupName() const
Return the name of the group (the second part of the key). For IPTC keys, the group name is the recor...
Definition: datasets.cpp:635
const TagDetails nikonOffOn[]
OffOn, multiple tags.
void erase()
Delete the thumbnail from the Exif data. Removes all Exif.Thumbnail.*, i.e., Exif IFD1 tags.
Definition: exif.cpp:553
TiffComponent * newIfdMn(uint16_t tag, IfdId group, IfdId mnGroup, const byte *, uint32_t size, ByteOrder)
Function to create a simple IFD makernote (Canon, Minolta, Nikon1)
Definition: makernote.cpp:785
TiffImageEntry(uint16_t tag, IfdId group, uint16_t szTag, IfdId szGroup)
Constructor.
Definition: tiffcomposite_int.hpp:744
virtual long tell() const
Get the current IO position.
Definition: basicio.cpp:1303
virtual ~TiffSubIfd()
Virtual destructor.
Definition: tiffcomposite.cpp:191
const TagDetails nikonFlashFirmware[]
FlashFirmware.
TiffComponent * newNikonMn(uint16_t tag, IfdId group, IfdId, const byte *pData, uint32_t size, ByteOrder)
Function to create a Nikon makernote. This will create the appropriate Nikon 1, 2 or 3 makernote,...
Definition: makernote.cpp:855
static std::ostream & print0x050f(std::ostream &os, const Value &value, const ExifData *)
Print Olympus camera settings Gradation.
Definition: olympusmn.cpp:1107
Protocol fileProtocol(const std::string &path)
Return the protocol of the path.
Definition: futils.cpp:241
static const char ps3Id_[]
Photoshop marker
Definition: jpgimage.hpp:66
TagInfo(uint16_t tag, const char *name, const char *title, const char *desc, int ifdId, int sectionId, TypeId typeId, int16_t count, PrintFct printFct)
Constructor.
Definition: tags.cpp:2824
#define EXV_PRINT_COMBITAG_MULTI(array, count, ignoredcount, ignoredcountmax)
Shortcut for the printCombiTag template which requires typing the array name only once.
Definition: pentaxmn_int.hpp:124
virtual int read(const byte *buf, long len, ByteOrder byteOrder)
Read the value from a character buffer.
Definition: value.hpp:1578
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.
Definition: types.cpp:369
AccessMode checkMode(MetadataId metadataId) const
Returns the access mode, i.e., the metadata functions, which this image supports for the metadata typ...
Definition: image.cpp:356
ByteOrder byteOrder() const
Return the applicable byte order. May be different for the Makernote and the rest of the TIFF entries...
Definition: tiffvisitor_int.hpp:605
virtual ~IoCloser()
Destructor, closes the BasicIo reference.
Definition: basicio.hpp:293
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.cpp:711
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 referen...
Definition: tags_int.hpp:246
uint16_t tag() const
Return the tag.
Definition: exif.cpp:340
PrintFct printFct_
Pointer to tag print function.
Definition: tags.hpp:104
TypeId getType< Rational >()
Specialization for a signed rational.
Definition: value.hpp:1240
const TiffType ttTiffDouble
TIFF DOUBLE type.
Definition: tiffcomposite_int.hpp:69
const char * desc_
Short tag description.
Definition: tags.hpp:99
Structure for the CIFF directory hierarchy.
Definition: crwimage_int.hpp:544
long adjustment_
Adjustment value.
Definition: exiv2app.hpp:190
static const byte sof11_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:247
void cnvXmpComment(const char *from, const char *to)
Convert the tag Xmp.exif.UserComment to Exif.
Definition: convert.cpp:803
const TagDetails exifGPSDifferential[]
GPS Differential, tag 0x001e.
const TagDetails panasonicSelfTimer[]
SelfTimer, tag 0x002e.
virtual void visitDirectoryNext(TiffDirectory *object)
Operation to perform for a TIFF directory, after all components and before the next entry is processe...
Definition: tiffvisitor.cpp:109
TiffComponent * newOlympus2Mn2(uint16_t tag, IfdId group, IfdId mnGroup)
Function to create an Olympus II makernote.
Definition: makernote.cpp:829
virtual uint32_t doWriteImage(IoWrapper &ioWrapper, ByteOrder byteOrder) const
Implements writeImage(). Write the image data area to the ioWrapper. Return the number of bytes writt...
Definition: tiffcomposite.cpp:1607
static const char * dataSetTitle(uint16_t number, uint16_t recordId)
Return the title (label) of the dataset.
Definition: datasets.cpp:502
const LensIdFct lensIdFct[]
List of lens ids which require special treatment with the medicine.
Definition: canonmn.cpp:928
virtual uint32_t doSize() const
Implements size(). Return the size of the Makernote header, TIFF directory, values and additional dat...
Definition: tiffcomposite.cpp:1703
static const byte sof15_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:250
virtual long write(BasicIo &src)=0
Write data that is read from another BasicIo instance to the IO source. Current IO position is advanc...
void setComment(const std::string &comment)
Not supported. Calling this function will throw an instance of Error(32).
Definition: bmpimage.cpp:71
const TagDetails samsung2ColorSpace[]
ColorSpace, tag 0xa011.
void nikonTagsHandler()
Interpret Nikon Tags related to Video information, and save it in the respective XMP container.
const TagDetails sonyZoneMatchingModeA100[]
Lookup table to translate Sony A100 camera settings zone matching mode values to readable labels.
void remove(CrwDirs &crwDirs, uint16_t crwTagId)
Remove crwTagId from the parse tree, if it exists yet. crwDirs contains the path of subdirectories,...
Definition: crwimage.cpp:872
TiffComponent::AutoPtr newTiffBinaryArray0(uint16_t tag, IfdId group)
Function to create and initialize a new binary array entry.
Definition: tiffcomposite_int.hpp:1612
std::ostream & print0x829d(std::ostream &os, const Value &value, const ExifData *)
Print the f-number.
Definition: tags.cpp:2486
IntType gcd(IntType n, IntType m)
Return the greatest common denominator of n and m. (Implementation from Boost rational....
Definition: types.hpp:520
AsfVideo(BasicIo::AutoPtr io)
Constructor for a ASF video. Since the constructor can not return a result, callers should check the ...
void streamDataTagHandler(long size)
Interpret Riff Stream Data tag information, and save it in the respective XMP container.
virtual long copy(byte *buf, ByteOrder byteOrder=invalidByteOrder) const
Write value to a character data buffer.
Definition: value.cpp:625
virtual uint32_t doWriteImage(IoWrapper &ioWrapper, ByteOrder byteOrder) const =0
Implements writeImage().
char * urlencode(char *str)
Encode the input url.
Definition: futils.cpp:78
virtual void doEncode(TiffEncoder &encoder, const Exifdatum *datum)
Implements encode().
Definition: tiffcomposite.cpp:1005
static DataBuf keyTXTChunk(const DataBuf &data, bool stripHeader=false)
Return PNG TXT chunk key as data buffer.
PNG image, implemented using the following references: PNG specification by W3C PNG tags list by Phi...
ValueType< Rational > RationalValue
Signed rational value type.
Definition: value.hpp:1359
bool operator==(const Key &key) const
Comparison operator to compare a TiffTreeStruct with a TiffTreeStruct::Key.
Definition: tiffimage.cpp:2032
void setIdx(int idx)
Set the index.
Definition: tags.cpp:3062
HttpImpl(const std::string &path, size_t blockSize)
Constructor.
Definition: basicio.cpp:2001
static std::ostream & printMinoltaExposureManualBias5D(std::ostream &os, const Value &value, const ExifData *)
Print Exposure Manual Bias setting from 5D Minolta Camera Settings makernote.
Definition: minoltamn.cpp:959
static std::ostream & printRepeatingFlashCount(std::ostream &os, const Value &value, const ExifData *)
Print repeating flash count.
Definition: nikonmn.cpp:2575
static const TagInfo * tagListCs5D()
Return read-only list of built-in Minolta 5D Camera Settings tags.
Definition: minoltamn.cpp:1091
static std::ostream & printExitPupilPosition(std::ostream &os, const Value &value, const ExifData *)
Print exit pupil position.
Definition: nikonmn.cpp:2522
virtual ~TiffImageEntry()
Virtual destructor.
Definition: tiffcomposite.cpp:218
const TagDetails sonySingleFrameBracketingA100[]
Lookup table to translate Sony A100 camera settings single frame bracketing values to readable labels...
const int riff
Treating riff as an image type>
Definition: riffvideo.hpp:47
virtual std::string tagLabel() const
Return a label for the tag.
Definition: datasets.cpp:645
const TagDetails pentaxColorSpace[]
ColorSpace, tag 0x0037.
const TagDetails panasonicQuality[]
Quality, tag 0x0001.
const TagDetails casio2Quality[]
Quality, tag 0x3002.
T add(T summand_1, T summand_2)
Safe addition, throws an exception on overflow.
Definition: safe_op.hpp:296
std::ostream & printMinoltaSonyDynamicRangeOptimizerMode(std::ostream &os, const Value &value, const ExifData *metadata)
Print Minolta/Sony dynamic range optimizer mode values to readable labels.
Definition: minoltamn.cpp:2032
long write(const byte *pData, long wcount)
Wraps the corresponding BasicIo::write() method.
Definition: tiffcomposite.cpp:73
static std::ostream & print0x0023(std::ostream &os, const Value &value, const ExifData *)
Print WhiteBalanceBias.
Definition: panasonicmn.cpp:580
std::auto_ptr< XmpKey > AutoPtr
Shortcut for an XmpKey auto pointer.
Definition: properties.hpp:235
#define EXIV2_MAKE_VERSION(major, minor, patch)
Make an integer version number for comparison from a major, minor and a patch version number.
Definition: version.hpp:63
void setDirty(bool flag=true)
Set the dirty flag and end of traversing signal.
Definition: tiffvisitor.cpp:638
virtual void doAccept(TiffVisitor &visitor)
Implements accept().
Definition: tiffcomposite.cpp:922
const TagInfo * tagInfo(uint16_t tag, IfdId ifdId)
Return the tag info for tag and ifdId.
Definition: tags.cpp:2231
virtual ~CiffComponent()
Virtual destructor.
Definition: crwimage.cpp:333
IptcKey & operator=(const IptcKey &rhs)
Assignment operator.
Definition: datasets.cpp:615
std::auto_ptr< BasicIo > AutoPtr
BasicIo auto_ptr type.
Definition: basicio.hpp:74
std::pair< uint32_t, uint32_t > URational
8 byte unsigned rational type.
Definition: types.hpp:94
void writeMetadata()
Todo: Write metadata back to the image. This method is not yet(?) implemented. Calling it will throw ...
Definition: tgaimage.cpp:125
EPS image. References: [1] Adobe PostScript Language Document Structuring Conventions Specification...
const TagDetails exifFileSource[]
FileSource, tag 0xa300.
For comparison with namespace.
Definition: properties.hpp:84
TiffComponent * newSigmaMn2(uint16_t tag, IfdId group, IfdId mnGroup)
Function to create a Sigma makernote.
Definition: makernote.cpp:995
bool writeXmpFromPacket() const
Return the flag indicating the source when writing XMP metadata.
Definition: image.cpp:334
virtual uint16_t tag() const
Return the tag number.
Definition: tags.cpp:3105
Provides binary IO for the data from stdin and data uri path.
Definition: basicio.hpp:801
std::string Host
URL host.
Definition: futils.hpp:184
std::auto_ptr< StringValue > AutoPtr
Shortcut for a StringValue auto pointer.
Definition: value.hpp:437
virtual void visitIfdMakernote(TiffIfdMakernote *object)
Read an IFD makernote from the data buffer.
Definition: tiffvisitor.cpp:1410
const TagDetails exifGainControl[]
GainControl, tag 0xa407.
const ArrayDef nikonCb3Def[]
Nikon Color Balance binary array - definition 3 (D70)
void setXmpStruct(XmpStruct xmpStruct=xsStruct)
Set the XMP struct type to indicate that an XMP value is a structure.
Definition: value.cpp:598
virtual long sizeDataArea() const
Return the size of the data area.
Definition: value.hpp:1738
const TagDetails panasonicBracketSettings[]
Bracket Settings, tag 0x0045.
virtual std::ostream & write(std::ostream &os) const
Write all elements of the value to os, separated by commas.
Definition: value.cpp:852
virtual int option(int opt, const std::string &optarg, int optopt)
Handle options and their arguments.
static const TagInfo * tagListCs()
Return read-only list of built-in Canon Camera Settings tags.
Definition: canonmn.cpp:1089
BasicError< char > Error
Error class used for exceptions (std::string based)
Definition: error.hpp:325
const TagDetails exifThresholding[]
Thresholding, tag 0x0107.
CiffComponent()
Default constructor.
Definition: crwimage_int.hpp:106
virtual ~Value()
Virtual destructor.
Definition: value.cpp:60
bool cmpIptcdataByRecord(const Iptcdatum &lhs, const Iptcdatum &rhs)
Compare two iptc items by record. Return true if the record of lhs is less than that of rhs.
Definition: iptc.cpp:479
DataBuf & operator=(DataBuf &rhs)
Assignment operator. Transfers the buffer and releases the buffer at the original object similar to s...
Definition: types.cpp:145
static const TagInfo * tagListPa()
Return read-only list of built-in Canon Panorama tags.
Definition: canonmn.cpp:1202
void moveXmpToExif(XmpData &xmpData, ExifData &exifData)
Convert (move) XMP properties to Exif tags, remove converted XMP properties.
Definition: convert.cpp:1301
const TagDetails canonCsISOSpeed[]
ISOSpeeds, tag 0x0010.
void writeMetadata()
Todo: Write metadata back to the image. This method is not yet implemented. Calling it will throw an ...
Definition: rafimage.cpp:128
virtual bool isopen() const
Returns true if the file is open, otherwise false.
Definition: basicio.cpp:1019
const TagDetails minoltaWideFocusZoneStd[]
Lookup table to translate Minolta Std camera settings wide focus zone values to readable labels.
static const TagInfo * tagListPi()
Return read-only list of built-in Canon Picture Info tags.
Definition: canonmn.cpp:1269
virtual long count() const
Return the number of components of the value.
Definition: value.cpp:316
TiffComponent::AutoPtr newTiffEntry(uint16_t tag, IfdId group)
Function to create and initialize a new TIFF entry.
Definition: tiffcomposite.cpp:1884
void postProcess()
Read deferred components.
Definition: tiffvisitor.cpp:1245
bool concat_
If true, concatenate gaps between defined tags to single tags.
Definition: tiffcomposite_int.hpp:1342
const ArrayCfg canonPaCfg
Canon Panorama binary array - configuration.
virtual void visitSubIfd(TiffSubIfd *object)
Find tag and group in a TIFF sub-IFD.
Definition: tiffvisitor.cpp:170
const TagDetails olympusOneTouchWb[]
OneTouchWB, tag 0x0302.
Concrete keys for IPTC metadata.
Definition: datasets.hpp:277
DataValue(TypeId typeId=undefined)
Default constructor.
Definition: value.cpp:170
virtual int writeHeader(BasicIo &oIo) const =0
Writes the image header (aka signature) to the BasicIo instance.
virtual long sizeDataArea() const
Return the size of the data area, 0 if there is none.
Definition: value.cpp:160
uint16_t recordId_
Record id.
Definition: datasets.hpp:83
Internal classes to support CR2 image format.
virtual byte * mmap(bool=false)
Allow direct access to the underlying data buffer. The buffer is not protected against write access i...
Definition: basicio.cpp:1284
const TagDetails olympusRiLightSource[]
OlympusRi LightSource, tag 0x1000.
const ArrayDef nikonIiDef[]
Nikon ISO info binary array - definition.
TypeId typeId() const
Return the type id of the value.
Definition: iptc.cpp:160
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...
Definition: types.cpp:427
CmdId cmdId_
Command identifier.
Definition: exiv2app.hpp:68
static std::ostream & printPitchAngle(std::ostream &os, const Value &value, const ExifData *)
Print pitch angle.
Definition: panasonicmn.cpp:709
std::ostream & print0x0005(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS altitude ref.
Definition: tags.cpp:2353
const TagDetails nikonHighISONoiseReduction[]
HighISONoiseReduction, tag 0x00b1.
const SectionInfo sectionInfo[]
List of all defined Exif sections.
uint32_t size_
Data size (overwrites the size from the entry)
Definition: crwimage_int.hpp:578
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.cpp:890
const TagDetails exifExposureMode[]
ExposureMode, tag 0xa402.
std::vector< std::string > CmdFiles
Container for command files.
Definition: exiv2app.hpp:124
static void setHandler(Handler handler)
Set the log message handler. The default handler writes log messages to standard error....
Definition: error.hpp:122
XmpTextValue()
Constructor.
Definition: value.cpp:650
const ArrayCfg nikonAFTCfg
Nikon AF Fine Tune binary array - configuration.
@ xmpText
XMP text type.
Definition: types.hpp:135
std::ostream & printMinoltaSonyBoolInverseValue(std::ostream &os, const Value &value, const ExifData *metadata)
Print Minolta/Sony bool inverse function values to readable labels.
Definition: minoltamn.cpp:1980
const TagDetails minoltaFocusMode7D[]
Lookup table to translate Minolta Dynax 7D camera settings focus mode values to readable labels.
Interface class for components of the CIFF directory hierarchy of a CRW (Canon Raw data) image....
Definition: crwimage_int.hpp:96
virtual void doEncode(TiffEncoder &encoder, const Exifdatum *datum)
Implements encode().
Definition: tiffcomposite.cpp:1000
void decodeIptc(const TiffEntryBase *object)
Decode IPTC data from an IPTCNAA tag or Photoshop ImageResources.
Definition: tiffvisitor.cpp:415
const TagDetails olympusQuality[]
Quality, tag 0x0201.
static const TagInfo * tagListCb2()
Return read-only list of built-in Color Balance 2 tags.
Definition: nikonmn.cpp:1286
Exifdatum & operator[](const std::string &key)
Returns a reference to the Exifdatum that is associated with a particular key. If ExifData does not a...
Definition: exif.cpp:558
void fillDuration(double frame_rate, long frame_count)
Calculates Duration of a video, and stores it in the respective XMP container.
A container for IPTC data. This is a top-level class of the Exiv2 library.
Definition: iptc.hpp:180
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
Definition: bmpimage.cpp:77
virtual long read(byte *buf, long rcount)=0
Read data from the IO source. Reading starts at the current IO position and the position is advanced ...
uint16_t recordId_
Record id.
Definition: datasets.hpp:53
std::string binaryToString(DataBuf &buf, size_t size, size_t start)
format binary for display in printStructure() .
Definition: image.cpp:610
uint32_t write(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &imageIdx)
Write a TiffComponent to a binary image.
Definition: tiffcomposite.cpp:1068
ValueType< int32_t > LongValue
Signed long value type.
Definition: value.hpp:1357
bool empty() const
Return true if the component is empty, else false.
Definition: crwimage.cpp:914
std::auto_ptr< ValueType< T > > AutoPtr
Shortcut for a ValueType<T> auto pointer.
Definition: value.hpp:1257
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 ...
Definition: cr2image.cpp:203
std::string tagLabel() const
Return a label for the tag
Definition: xmp.cpp:202
static bool initialize(XmpParser::XmpLockFct xmpLockFct=0, void *pLockData=0)
Initialize the XMP Toolkit.
Definition: xmp.cpp:397
virtual void setXmpPacket(const std::string &xmpPacket)
Assign a raw XMP packet. The new XMP packet is not written to the image until the writeMetadata() met...
Definition: image.cpp:249
std::vector< NativePreview > NativePreviewList
List of native previews. This is meant to be used only by the PreviewManager.
Definition: image.hpp:72
const char * mimeType_
MIME type.
Definition: tiffimage.cpp:89
static const byte dri_
JPEG DRI marker.
Definition: jpgimage.hpp:231
int add(const XmpKey &key, const Value *value)
Add an Xmpdatum from the supplied key and value pair. This method copies (clones) the value.
Definition: xmp.cpp:325
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.
Definition: types.cpp:406
Iptcdatum & operator=(const Iptcdatum &rhs)
Assignment operator.
Definition: iptc.cpp:221
ExifThumbC(const ExifData &exifData)
Constructor.
Definition: exif.cpp:430
virtual std::string path() const
Returns the path of the file.
Definition: basicio.cpp:1069
std::string versionString()
Return the version string Example: "0.25.0" (major.minor.patch)
Definition: version.cpp:69
TiffFinder(uint16_t tag, IfdId group)
Constructor, taking tag and group of the component to find.
Definition: tiffvisitor_int.hpp:171
const int tga
Truevision TARGA (tga) image type (see class TgaImage)
Definition: tgaimage.hpp:53
bool isExvType(BasicIo &iIo, bool advance)
Check if the file iIo is an EXV file.
Definition: jpgimage.cpp:1090
const int arw
ARW image type (see class TiffImage)
Definition: tiffimage.hpp:54
const TagDetails olympusMacroMode[]
MacroMode, tag 0x0300.
virtual int nonoption(const std::string &argv)
Handle non-option parameters.
const ArrayDef nikonCb2bDef[]
Nikon Color Balance binary array - definition 2b (D2X=0204,D2Hs=0206,D200=0207,D40=0208)
const ArrayCfg nikonLd2Cfg
Nikon Lens Data binary array - configuration 2.
virtual void clearExifData()
Erase any buffered Exif data. Exif data is not removed from the actual image until the writeMetadata(...
Definition: image.cpp:223
static std::ostream & printMinoltaTimeStd(std::ostream &os, const Value &value, const ExifData *)
Print Minolta Time from standard Minolta Camera Settings makernote.
Definition: minoltamn.cpp:457
std::string jpegComment_
Jpeg comment to set in the image.
Definition: exiv2app.hpp:218
TiffDataEntryBase(uint16_t tag, IfdId group, uint16_t szTag, IfdId szGroup)
Constructor.
Definition: tiffcomposite_int.hpp:605
TiffComponent::AutoPtr newTiffSubIfd(uint16_t tag, IfdId group)
Function to create and initialize a new TIFF sub-directory.
Definition: tiffcomposite_int.hpp:1605
Panasonic MakerNote implemented using the following references: Panasonic MakerNote Information by To...
bool isMalloced_
Is the mapped area allocated?
Definition: basicio.cpp:121
static TiffComponent * create(uint16_t tag, IfdId group, const std::string &make, const byte *pData, uint32_t size, ByteOrder byteOrder)
Create the Makernote for camera make and details from the makernote entry itself if needed....
Definition: makernote.cpp:99
const int rw2
RW2 image type (see class Rw2Image)
Definition: rw2image.hpp:50
const TagDetails panasonicClearRetouch[]
Clear Retouch, tag 0x007c.
virtual long write(const byte *data, long wcount)
Write data to the memory block. If needed, the size of the internal memory block is expanded....
Definition: basicio.cpp:1188
bool force_
Force overwrites flag.
Definition: exiv2app.hpp:196
MakerNote for Fujifilm cameras.
Definition: fujimn_int.hpp:52
ExifData::const_iterator serialNumber(const ExifData &ed)
Return the camera serial number.
Definition: easyaccess.cpp:432
uint32_t mnOffset() const
Return the offset to the makernote from the start of the TIFF header.
Definition: tiffcomposite.cpp:526
void setOffset(uint32_t offset)
Set the offset for this component.
Definition: crwimage_int.hpp:282
std::auto_ptr< TiffComponent > AutoPtr
TiffComponent auto_ptr type.
Definition: tiffcomposite_int.hpp:179
bool isMalloced_
Was the blocksMap_ allocated?
Definition: basicio.cpp:1554
virtual uint32_t doCount() const
Implements count(). Return number of components in the entry.
Definition: tiffcomposite.cpp:1025
std::string strError()
Return a system error message and the error code (errno). See strerror(3).
Definition: futils.cpp:329
const TagDetails nikon2Quality[]
Quality, tag 0x0003.
const TagDetails minoltaRotation5D[]
Lookup table to translate Minolta Dynax 5D camera settings rotation values to readable labels.
int pixelWidth() const
Return the pixel width of the image.
Definition: rafimage.cpp:62
const TagDetails sonyMacroMode[]
Lookup table to translate Sony macro mode values to readable labels.
static DataBuf encode(const IptcData &iptcData)
Encode the IPTC datasets from iptcData to a binary representation in IPTC IIM4 format.
Definition: iptc.cpp:484
virtual int munmap()
Remove a mapping established with mmap(). If the mapped area is writeable, this ensures that changes ...
Definition: basicio.cpp:1289
const TagDetails exifFlash[]
Flash, Exif tag 0x9209.
static const TagInfo * tagList()
Return read-only list of built-in Casio tags.
Definition: casiomn.cpp:214
uint16_t tag_
Tag.
Definition: tags.hpp:96
static std::string prefix(const std::string &ns)
Return the (preferred) prefix for schema namespace ns.
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
Definition: rafimage.cpp:98
void setExifData(const ExifData &exifData)
Todo: Not supported yet(?). Calling this function will throw an instance of Error(32).
Definition: gifimage.cpp:60
void findObject(TiffComponent *object)
Check if object matches tag and group.
Definition: tiffvisitor.cpp:137
const TagDetails minoltaSonyQualityCs[]
Lookup table to translate Sony camera settings quality values to readable labels.
TiffRwState(ByteOrder byteOrder, uint32_t baseOffset)
Constructor.
Definition: tiffvisitor_int.hpp:593
virtual uint32_t doCount() const
Implements count(). Return the number of entries in the TIFF directory. Does not count entries which ...
Definition: tiffcomposite.cpp:1015
const TagDetailsBitmask olympusNoiseReduction[]
NoiseReduction, tag 0x050a.
const ArrayCfg nikonFl3Cfg
Nikon Flash Info binary array - configuration 3.
static std::ostream & print0x000a(std::ostream &os, const Value &value, const ExifData *)
Print digital zoom setting.
Definition: nikonmn.cpp:506
const ArrayDef * elDef() const
Return the array definition of this element.
Definition: tiffcomposite_int.hpp:1524
std::vector< T >::iterator iterator
Iterator type defined for convenience.
Definition: value.hpp:1324
const TagDetails minoltaISOSetting5D[]
Lookup table to translate Minolta Dynax 5D camera settings ISO settings values to readable labels.
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...
Definition: types.cpp:413
const char * label_
Description of the vocabulary string.
Definition: tags_int.hpp:209
std::string mimeType() const
Return the MIME type of the preview image, usually either "image/tiff" or "image/jpeg".
Definition: preview.cpp:1105
ExifData::const_iterator isoSpeed(const ExifData &ed)
Return the ISO speed used to shoot the image.
Definition: easyaccess.cpp:85
std::ostream & printExifUnit(std::ostream &os, const Value &value, const ExifData *metadata)
Print function for Exif units.
Definition: tags.cpp:2333
static void EXIV2API Decode(Uri &uri)
Decode the url components.
Definition: futils.cpp:357
const TagDetails casioFocusMode[]
Focus Mode, tag 0x0003.
@ string
IPTC string type.
Definition: types.hpp:130
void setOrigState()
Set the state to the original state as set in the constructor.
Definition: tiffvisitor.cpp:1154
const char * make_
Camera make for which these mapping functions apply.
Definition: tiffcomposite_int.hpp:393
virtual void populateFakeData()
Mark all the bNone blocks to bKnow. This avoids allocating memory for parts of the file that contain ...
Definition: basicio.cpp:1090
void setExifData(const ExifData &exifData)
Todo: Not supported yet, requires writeMetadata(). Calling this function will throw an Error(32).
Definition: rafimage.cpp:80
std::string mimeType_
Preview image mime type.
Definition: preview.hpp:56
OffsetId
Identifiers for supported offsets.
Definition: tiffimage_int.hpp:431
std::vector< T >::const_iterator const_iterator
Const iterator type defined for convenience.
Definition: value.hpp:1326
void readTiffEntry(TiffEntryBase *object)
Read a standard TIFF entry from the data buffer.
Definition: tiffvisitor.cpp:1448
EXV_DLLLOCAL BasicError(int code)
Constructor taking only an error code.
Definition: error.hpp:338
DataBuf readFile(const std::string &path)
Read file path into a DataBuf, which is returned.
Definition: basicio.cpp:2588
RafImage(BasicIo::AutoPtr io, bool create)
Constructor that can either open an existing RAF image or create a new image from scratch....
Definition: rafimage.cpp:52
std::ostream & print0xa300(std::ostream &os, const Value &value, const ExifData *metadata)
Print file source.
Definition: tags.cpp:2658
byte * start() const
Return a pointer to the start of the binary representation of the component.
Definition: tiffcomposite_int.hpp:264
Rational toRational(long n=0) const
Return the n-th component of the value converted to Rational. The return value is -1/1 if the value i...
Definition: iptc.cpp:205
ArrayDef elDefaultDef_
Default element.
Definition: tiffcomposite_int.hpp:1343
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....
Definition: exif.cpp:198
const TagDetails casio2AFMode[]
AFMode, tag 0x3009.
void(* CrwEncodeFct)(const Image &, const CrwMapping *, CiffHeader *)
Function pointer for functions to encode CRW entries from Exif tags.
Definition: crwimage_int.hpp:72
off_t st_size
Size.
Definition: basicio.cpp:128
virtual TiffSubIfd * doClone() const
Internal virtual copy constructor, implements clone().
Definition: tiffcomposite.cpp:322
NewMnFct2 newMnFct2_
Makernote create function (group)
Definition: makernote_int.hpp:84
void writeMetadata()
Todo: Write metadata back to the image. This method is not yet(?) implemented. Calling it will throw ...
Definition: gifimage.cpp:104
@ directory
Exiv2 type for a CIFF directory.
Definition: types.hpp:134
const TagDetails sonyCustomWBSettingA100[]
Lookup table to translate Sony A100 camera settings custom WB setting values to readable labels.
RecordInfo(uint16_t recordId, const char *name, const char *desc)
Constructor.
Definition: datasets.cpp:69
const TagDetails minoltaFlashFired[]
Lookup table to translate Minolta Std camera settings flash fired values to readable labels.
const TagDetailsBitmask nikonAfPointsInFocus[]
AfPointsInFocus.
uint32_t size_
Size of the data (not the version string)
Definition: makernote.cpp:1066
Stateless parser class for data in RW2 format. Images use this class to decode and encode RW2 data....
Definition: rw2image.hpp:125
virtual std::string tagName() const
Return the name of the tag (which is also the third part of the key)
Definition: properties.cpp:2473
std::string basename(const std::string &path, bool delsuffix)
Get the filename component from the path string. See basename(3). If the delsuffix parameter is true,...
Definition: utils.cpp:114
bool operator==(const std::string &key) const
Compare a TiffMnRegistry structure with a key being the make string from the image....
Definition: makernote.cpp:87
const TagDetails panasonicCameraOrientation[]
Camera orientation, tag 0x008f.
void listHandler(long size)
Interpret Riff List tag information, and save it in the respective XMP container.
virtual ~XmpKey()
Virtual destructor.
Definition: properties.cpp:2430
uint32_t size_
Size of the data.
Definition: makernote.cpp:1078
const TagDetails canonCsSRAWQuality[]
SRAWQuality, tag 0x002e.
int sectionId_
Section id.
Definition: tags.hpp:101
char to_hex(char code)
Convert an integer value to its hex character.
Definition: futils.cpp:69
PrintStructureOption
Options for printStructure.
Definition: image.hpp:77
int16_t getShort(const byte *buf, ByteOrder byteOrder)
Read a 2 byte signed short value from the data buffer.
Definition: types.cpp:262
bool isPgfType(BasicIo &iIo, bool advance)
Check if the file iIo is a PGF image.
Definition: pgfimage.cpp:306
float toFloat(long n=0) const
Return the n-th component of the value converted to float. The return value is -1 if the value is not...
Definition: iptc.cpp:200
@ kerDataAreaValueTooLarge
Entry::setDataArea: Value too large.
Definition: error.hpp:226
std::string QueryString
URL query string.
Definition: futils.hpp:181
virtual void doEncode(TiffEncoder &encoder, const Exifdatum *datum)
Implements encode().
Definition: tiffcomposite.cpp:975
int pixelWidth() const
Return the pixel width of the image.
Definition: cr2image.cpp:66
virtual ~AnyError()
Virtual destructor.
Definition: error.cpp:133
virtual void doDecode(Image &image, ByteOrder byteOrder) const =0
Implements decode()
ByteOrder byteOrder() const
Return the byte order for the makernote. Requires the image byte order to be set (setImageByteOrder()...
Definition: tiffcomposite.cpp:517
uint32_t doSize() const
Implements size(). Return the size of the sub-Ifd pointers.
Definition: tiffcomposite.cpp:1690
void extendedStreamProperties(uint64_t size)
Interpret Extended_Stream_Properties tag information, and save it in the respective XMP container.
const TagDetails exifCfaLayout[]
CFALayout, tag 0xc617.
void add(AutoPtr component)
Add a component to the composition.
Definition: crwimage.cpp:351
Internal Pimpl structure with private members and data of class ExifKey.
Definition: tags.cpp:2907
virtual long toLong(long n=0) const
Return the value as a UNIX calender time converted to long.
Definition: value.cpp:1022
virtual EXV_DLLLOCAL 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:382
StringValueBase(TypeId typeId)
Constructor for subclasses.
Definition: value.cpp:265
const TagDetails olympusPictureModeTone[]
PictureModeTone, tag 0x0526.
DataBuf copy() const
Return a copy of the preview image data. The caller owns this copy and DataBuf ensures that it will b...
Definition: preview.cpp:1090
std::ostream & print0x9207(std::ostream &os, const Value &value, const ExifData *metadata)
Print metering mode.
Definition: tags.cpp:2607
bool isPsdType(BasicIo &iIo, bool advance)
Check if the file iIo is a Photoshop image.
Definition: psdimage.cpp:694
FILE * fp_
File stream pointer.
Definition: basicio.cpp:112
const TagDetails nikonAfFineTuneAdj2[]
AfFineTuneAdj D300 (b)
static const TagInfo * tagListWt()
Return read-only list of built-in World time tags.
Definition: nikonmn.cpp:751
void writeMetadata()
Write metadata back to the image.
Definition: crwimage.cpp:138
const ArrayCfg canonPiCfg
Canon Picture Info binary array - configuration.
std::ostream & print0xa403(std::ostream &os, const Value &value, const ExifData *metadata)
Print white balance.
Definition: tags.cpp:2678
const ArrayCfg sony1MCsoCfg
Sony Minolta Camera Settings (old) binary array - configuration.
std::string extension() const
Return the file extension for the format of the preview image (".tif" or ".jpg").
Definition: preview.cpp:1110
const TagDetails sonyWhiteBalanceSettingA100[]
Lookup table to translate Sony A100 camera settings white balance setting values to readable labels.
long sizeAlloced_
Size of the allocated buffer.
Definition: basicio.cpp:1104
Value::AutoPtr getValue() const
Return an auto-pointer to a copy (clone) of the value. The caller owns this copy and the auto-poiner ...
Definition: xmp.cpp:262
ConvertFct key2ToKey1_
Conversion from second to first key.
Definition: convert.cpp:113
bool stringTo< bool >(const std::string &s, bool &ok)
Specialization of stringTo(const std::string& s, bool& ok) for bool.
Definition: types.cpp:556
const TagDetails minoltaSonySceneMode[]
Lookup table to translate Minolta/Sony scene mode values to readable labels.
const char * desc_
Section description.
Definition: tags_int.hpp:179
Class for extracting preview images from image metadata.
Definition: preview.hpp:174
std::string g_
Group name.
Definition: tags.hpp:79
static std::ostream & printPentaxResolution(std::ostream &os, const Value &value, const ExifData *)
Print Pentax resolution.
Definition: pentaxmn.cpp:1007
TypeId typeId() const
Return the type id of thi component.
Definition: crwimage_int.hpp:249
const TagDetails nikonMultiExposureMode[]
MultiExposureMode.
const TiffType ttSignedByte
Exif SBYTE type.
Definition: tiffcomposite_int.hpp:63
@ geKnownMakernote
Signal used by TiffReader to signal an unknown makernote.
Definition: tiffvisitor_int.hpp:82
static const char xmpId_[]
XMP packet identifier.
Definition: jpgimage.hpp:253
void setComment(const std::string &comment)
Not supported. Calling this function will throw an instance of Error(32).
Definition: tgaimage.cpp:71
A third MakerNote format used by Nikon cameras, e.g., E5400, SQ, D2H, D70.
Definition: nikonmn_int.hpp:112
const TagDetails sonyIntelligentAuto[]
Lookup table to translate Sony Intelligent Auto values to readable labels.
static bool isIrb(const byte *pPsData, long sizePsData)
Checks an IRB.
Definition: jpgimage.cpp:93
#define EXV_ERROR
Shorthand for a temp error log message object and return its ostringstream.
Definition: error.hpp:151
void setIptcData(const IptcData &iptcData)
Todo: Not supported yet, requires writeMetadata(). Calling this function will throw an Error(32).
Definition: rw2image.cpp:91
virtual void visitDirectory(TiffDirectory *object)=0
Operation to perform for a TIFF directory.
virtual long tell() const =0
Get the current IO position.
@ xmpSeq
XMP sequence type.
Definition: types.hpp:138
virtual int seek(long offset, Position pos)=0
Move the current IO position.
virtual void doAccept(TiffVisitor &visitor)
Implements accept().
Definition: tiffcomposite.cpp:905
uint32_t e_
Extended tag.
Definition: tiffcomposite_int.hpp:406
const TagDetails panasonicFlashWarning[]
Flash warning, tag 0x0062.
virtual TiffComponent * doClone() const =0
Internal virtual copy constructor, implements clone().
virtual uint32_t doSizeImage() const
Implements sizeImage(). Return the sum of the image sizes of all components plus that of the next-IFD...
Definition: tiffcomposite.cpp:1794
std::ostream & print0x920a(std::ostream &os, const Value &value, const ExifData *)
Print the actual focal length of the lens.
Definition: tags.cpp:2617
Internal Pimpl structure of class HttpIo.
Definition: basicio.cpp:1955
PrintMode
Enumerates print modes.
Definition: exiv2app.hpp:145
std::string toString() const
Return the value as a string.
Definition: iptc.cpp:185
virtual std::string mimeType() const =0
Return the MIME type of the image.
IPTC dataset and type information.
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 ...
Definition: pgfimage.cpp:296
Class for a log message, used by the library. Applications can set the log level and provide a custom...
Definition: error.hpp:77
static std::ostream & printCsLensType(std::ostream &os, const Value &value, const ExifData *metadata)
Camera lens type. For some values, the exact type can only be determined if metadata is provided.
Definition: canonmn.cpp:1637
PreviewId id_
Identifies type of preview image.
Definition: preview.hpp:70
virtual void visitSubIfd(TiffSubIfd *object)
Copy a TIFF sub-IFD if it is an image tag.
Definition: tiffvisitor.cpp:255
std::auto_ptr< DateValue > AutoPtr
Shortcut for a DateValue auto pointer.
Definition: value.hpp:1000
virtual void visitEntry(TiffEntry *object)
Encode a TIFF entry.
Definition: tiffvisitor.cpp:650
std::string toString(const T &arg)
Utility function to convert the argument of any type to a string.
Definition: types.hpp:471
long size() const
Return the exact size of all contained IPTC metadata.
Definition: iptc.cpp:281
MakerNote for Minolta cameras.
Definition: minoltamn_int.hpp:56
CmdId cmdId_
Commands identifier.
Definition: exiv2app.hpp:80
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.cpp:1190
const TagDetails minoltaAFMode5D[]
Lookup table to translate Minolta Dynax 5D camera settings focus mode values to readable labels.
virtual void visitSizeEntry(TiffSizeEntry *object)
Encode a TIFF size entry.
Definition: tiffvisitor.cpp:665
TiffComponent::AutoPtr newTiffBinaryArray1(uint16_t tag, IfdId group)
Function to create and initialize a new simple binary array entry.
Definition: tiffcomposite_int.hpp:1621
ErrorCode
Complete list of all Exiv2 error codes.
Definition: error.hpp:197
const char * label_
Description of the tag value.
Definition: tags_int.hpp:200
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:1750
virtual int read(const byte *buf, long len, ByteOrder byteOrder)=0
Read the value from a character buffer.
virtual void visitBinaryElement(TiffBinaryElement *object)
Copy an element of a binary array if it is an image tag.
Definition: tiffvisitor.cpp:275
static const uint16_t iptc_
Photoshop IPTC marker
Definition: jpgimage.hpp:69
void writeOffsets(BasicIo &io) const
Write the offsets to the IO instance io.
Definition: tiffimage.cpp:2503
Image::AutoPtr newPsdInstance(BasicIo::AutoPtr io, bool)
Create a new PsdImage instance and return an auto-pointer to it. Caller owns the returned object and ...
Definition: psdimage.cpp:684
Casio MakerNote implemented using the following references: Casio MakerNote Information by GVsoft,...
TIFF makernote factory for concrete TIFF makernotes.
Definition: makernote_int.hpp:90
static std::ostream & printMinoltaFocalLengthStd(std::ostream &os, const Value &value, const ExifData *)
Print Focal Length setting from standard Minolta Camera Settings makernote.
Definition: minoltamn.cpp:441
static void dataSetList(std::ostream &os)
Print a list of all dataSets to output stream.
Definition: datasets.cpp:581
uint32_t size() const
Return the size of the preview image in bytes.
Definition: preview.cpp:1100
@ lastTypeId
Last type id.
Definition: types.hpp:141
GoEvent
Events for the stop/go flag. See setGo().
Definition: tiffvisitor_int.hpp:78
const int png
PNG image type (see class PngImage)
Definition: pngimage.hpp:56
virtual void doEncode(TiffEncoder &encoder, const Exifdatum *datum)=0
Implements encode().
const TagDetails olympusPictureModeBWFilter[]
PictureModeBWFilter, tag 0x0525.
static void decodeTXTChunk(Image *pImage, const DataBuf &data, TxtChunkType type)
Decode PNG tEXt, zTXt, or iTXt chunk data from pImage passed by data buffer data and extract Comment,...
const TagDetails sonyFlashDefaultA100[]
Lookup table to translate Sony A100 camera settings flash default setup values to readable labels.
const char * errMsg(int code)
Return the error message for the error with code code.
Definition: error.cpp:206
int tzHour
Hours ahead or behind UTC.
Definition: value.hpp:1123
std::string value_
Stores the string value.
Definition: value.hpp:423
const TagDetails sonyCustomWBErrorA100[]
Lookup table to translate Sony A100 camera settings custom WB error values to readable labels.
static DataBuf setIptcIrb(const byte *pPsData, long sizePsData, const IptcData &iptcData)
Set the new IPTC IRB, keeps existing IRBs but removes the IPTC block if there is no new IPTC data to ...
Definition: jpgimage.cpp:221
TiffDirectory(uint16_t tag, IfdId group, bool hasNext=true)
Default constructor.
Definition: tiffcomposite_int.hpp:869
static const byte sof10_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:246
static std::ostream & printSi0x0015(std::ostream &os, const Value &value, const ExifData *)
Aperture.
Definition: canonmn.cpp:1770
static const byte sof7_
JPEG Start-Of-Frame marker.
Definition: jpgimage.hpp:244
A second MakerNote format used by Nikon cameras, including the E700, E800, E900, E900S,...
Definition: nikonmn_int.hpp:94
const XmpPropertyInfo * xmpPropertyInfo_
List of known properties.
Definition: properties.hpp:97
ExifMetadata::iterator iterator
ExifMetadata iterator type.
Definition: exif.hpp:441
static std::ostream & printPentaxTime(std::ostream &os, const Value &value, const ExifData *)
Print Pentax time.
Definition: pentaxmn.cpp:1029
bool ok() const
Check the ok status indicator. After a to<Type> conversion, this indicator shows whether the conversi...
Definition: value.hpp:200
Template for a Value of a basic type. This is used for unsigned and signed short, long and rationals.
Definition: value.hpp:1254
Helper class, has methods to deal with Photoshop "Information Resource Blocks" (IRBs).
Definition: jpgimage.hpp:64
long typeSize() const
The Exif typeSize doesn't make sense here. Return 0.
Definition: xmp.cpp:222
std::auto_ptr< DataValue > AutoPtr
Shortcut for a DataValue auto pointer.
Definition: value.hpp:268
IfdId parentGroup_
Parent group.
Definition: tiffimage_int.hpp:238
static std::ostream & printProperty(std::ostream &os, const std::string &key, const Value &value)
Interpret and print the value of an XMP property.
std::string mimeType() const
Return the MIME type of the image.
Definition: orfimage.cpp:61
virtual void visitBinaryArrayEnd(TiffBinaryArray *object)
Re-encrypt binary array if necessary.
Definition: tiffvisitor.cpp:772
const TagDetails olympusIpMultipleExposureMode[]
OlympusIp MultipleExposureMode, tag 0x101c.
An interface for simple binary IO.
Definition: basicio.hpp:71
static Image::AutoPtr create(int type, const std::string &path)
Create an Image subclass of the requested type by creating a new image file. If the file already exis...
Definition: image.cpp:512
uint16_t record() const
Return the record id.
Definition: datasets.cpp:660
virtual Rational toRational(long n=0) const
Returns number of seconds in the day in UTC converted to Rational.
Definition: value.cpp:1225
long count() const
Get the number of metadata entries.
Definition: iptc.hpp:267
This class models a TIFF sub-directory (sub-IFD). A sub-IFD is an entry with one or more values that ...
Definition: tiffcomposite_int.hpp:986
virtual int close()
Flush and unwritten data and close the file . It is safe to call close on an already closed instance.
Definition: basicio.cpp:1024
const ArrayCfg sony1Cs2Cfg
Sony1 Camera Settings 2 binary array - configuration.
@ xmpAlt
XMP alternative type.
Definition: types.hpp:136
int day
Day.
Definition: value.hpp:1017
const TiffType ttTiffFloat
TIFF FLOAT type.
Definition: tiffcomposite_int.hpp:68
virtual TiffImageEntry * doClone() const
Internal virtual copy constructor, implements clone().
Definition: tiffcomposite.cpp:307
TiffVisitor()
Default constructor. Initialises all stop/go flags to true.
Definition: tiffvisitor.cpp:86
XmpData xmpData_
XMP data container.
Definition: image.hpp:422
size_t mappedLength_
Size of the memory-mapped area.
Definition: basicio.cpp:120
virtual TiffComponent * doAddChild(TiffComponent::AutoPtr tiffComponent)
Implements addChild(). The default implementation does nothing.
Definition: tiffcomposite.cpp:821
std::ostream & printMinoltaSonyAFAreaMode(std::ostream &os, const Value &value, const ExifData *metadata)
Print Minolta/Sony AF Area Mode values to readable labels.
Definition: minoltamn.cpp:1994
static WriteMethod encode(BasicIo &io, const byte *pData, uint32_t size, ByteOrder byteOrder, const ExifData &exifData, const IptcData &iptcData, const XmpData &xmpData)
Encode metadata from the provided metadata to ORF format. See TiffParser::encode().
Definition: orfimage.cpp:159
static void unregisterNs(const std::string &ns)
Unregister a custom namespace ns.
virtual TiffComponent * doAddPath(uint16_t tag, TiffPath &tiffPath, TiffComponent *const pRoot, TiffComponent::AutoPtr object)
Implements addPath(). The default implementation does nothing.
Definition: tiffcomposite.cpp:697
Tiff IFD Makernote. This is a concrete class suitable for all IFD makernotes.
Definition: tiffcomposite_int.hpp:1151
int open(const std::string &mode)
Open the file using using the specified mode.
Definition: basicio.cpp:1001
void writeMetadata()
Todo: Write metadata back to the image. This method is not yet(?) implemented. Calling it will throw ...
Definition: bmpimage.cpp:124
Defines one tag in a binary array.
Definition: tiffcomposite_int.hpp:1317
TiffEntryBase(uint16_t tag, IfdId group, TiffType tiffType=ttUndefined)
Default constructor.
Definition: tiffcomposite.cpp:101
std::string Username
URL username.
Definition: futils.hpp:186
virtual std::string key() const
Return the key of the metadatum as a string. The key is of the form 'familyName.groupName....
Definition: properties.cpp:2458
const TagDetails exifNewSubfileType[]
NewSubfileType, TIFF tag 0x00fe - this is actually a bitmask.
std::string mimeType() const
Return the MIME type of the image.
const char * title_
Tag title.
Definition: tags.hpp:98
XmpValue & operator=(const XmpValue &rhs)
Assignment operator. Protected so that it can only be used by subclasses but not directly.
Definition: value.cpp:585
const TagDetails minoltaMeteringMode5D[]
Lookup table to translate Minolta Dynax 5D camera settings metering mode values to readable labels.
TiffComponent * newFujiMn(uint16_t tag, IfdId group, IfdId mnGroup, const byte *, uint32_t size, ByteOrder)
Function to create a Fujifilm makernote.
Definition: makernote.cpp:836
virtual void visitBinaryArray(TiffBinaryArray *object)
Copy a binary array if it is an image tag.
Definition: tiffvisitor.cpp:270
void contentDescription(uint64_t size)
Interpret Content_Description tag information, and save it in the respective XMP container.
std::ostream & print0xa001(std::ostream &os, const Value &value, const ExifData *metadata)
Print color space.
Definition: tags.cpp:2648
XMP property reference, implemented as a static class.
Definition: properties.hpp:102
static const TagInfo * tagListRi()
Return read-only list of built-in Olympus Raw Info tags.
Definition: olympusmn.cpp:1101
#define EXV_INFO
Shorthand for a temp info log message object and return its ostringstream.
Definition: error.hpp:147
Fujifilm MakerNote implemented according to the specification in Appendix 4: Makernote of Fujifilm of...
Structure for a mapping table for conversion of CIFF entries to image metadata and vice versa.
Definition: crwimage_int.hpp:553
virtual long write(const byte *data, long wcount)
Write data to the file. The file position is advanced by the number of bytes written.
Definition: basicio.cpp:620
bool operator==(uint32_t idx) const
Comparison with idx.
Definition: tiffcomposite_int.hpp:1319
void cnvToXmp()
Convert Exif tags or IPTC datasets to XMP properties according to the conversion table.
Definition: convert.cpp:454
void setComment(const std::string &comment)
Not supported. XMP sidecar files do not contain a comment. Calling this function will throw an instan...
Definition: xmpsidecar.cpp:75
static std::ostream & print0x0308(std::ostream &os, const Value &value, const ExifData *)
Print Olympus focus info AF Point.
Definition: olympusmn.cpp:1601
void syncExifWithXmp()
Copies metadata in appropriate direction.
Definition: convert.cpp:1219
const ArrayCfg nikonCb2Cfg
Nikon Color Balance binary array - configuration 2.
virtual void visitDirectory(TiffDirectory *object)
Find tag and group in a TIFF directory.
Definition: tiffvisitor.cpp:165
int year
Year.
Definition: value.hpp:1015
const TagDetails nikonAfPoint[]
AfPoint.
void cnvExifVersion(const char *from, const char *to)
Exif version to XMP conversion function.
Definition: convert.cpp:689
Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...
Definition: image.hpp:89
bool isJp2Type(BasicIo &iIo, bool advance)
Check if the file iIo is a JPEG-2000 image.
Definition: jp2image.cpp:634
IfdId mnGroup_
Group identifier.
Definition: makernote_int.hpp:82
void setExifData(const ExifData &exifData)
Todo: Not supported yet, requires writeMetadata(). Calling this function will throw an Error(32).
Definition: mrwimage.cpp:80
CiffEntry(uint16_t tag, uint16_t dir)
Constructor taking a tag and directory.
Definition: crwimage_int.hpp:323
DataLocId
Type to identify where the data is stored in a directory.
Definition: crwimage_int.hpp:80
void cnvXmpValue(const char *from, const char *to)
Simple XMP to Exif conversion function.
Definition: convert.cpp:782
IoWrapper(BasicIo &io, const byte *pHeader, long size, OffsetWriter *pow)
Definition: tiffcomposite.cpp:67
void decodeBlock()
Check for a valid tag and decode the block at the current IO position. Calls contentManagement() or s...
virtual void setStrips(const Value *pSize, const byte *pData, uint32_t sizeData, uint32_t baseOffset)=0
Set the data areas ("strips").
const TagDetails minoltaColorSpace7D[]
Lookup table to translate Minolta Dynax 7D camera settings color space values to readable labels.
DataBuf dataArea() const
Return a copy of the data area of the value. The caller owns this copy and DataBuf ensures that it wi...
Definition: exif.cpp:425
uint32_t baseOffset() const
Return the base offset for use with the makernote IFD entries relative to the start of the TIFF heade...
Definition: tiffcomposite.cpp:531
const TagDetails exifGPSSpeedRef[]
GPS speed reference, tag 0x000c.
std::ostream & printMinoltaSonyFlashExposureComp(std::ostream &os, const Value &value, const ExifData *)
Print Minolta/Sony FlashExposureComp values to readable labels.
Definition: minoltamn.cpp:2173
WriteMethod
Type to indicate write method used by TIFF parsers.
Definition: types.hpp:102
iterator end()
End of the metadata.
Definition: xmp.cpp:383
std::ostream & printMinoltaSonyWhiteBalanceStd(std::ostream &os, const Value &value, const ExifData *metadata)
Print Minolta/Sony White Balance Std values to readable labels.
Definition: minoltamn.cpp:2156
static std::ostream & printSi0x0016(std::ostream &os, const Value &value, const ExifData *)
Shutter speed.
Definition: canonmn.cpp:1787
Stateless parser class for Exif data. Images use this class to decode and encode binary Exif data.
Definition: exif.hpp:533
void copyIptcToXmp(const IptcData &iptcData, XmpData &xmpData, const char *iptcCharset)
Convert (copy) IPTC datasets to XMP properties.
Definition: convert.cpp:1314
virtual bool eof() const
Returns true if the IO position has reach the end, otherwise false.
Definition: basicio.cpp:1362
static int locatePreviewIrb(const byte *pPsData, long sizePsData, const byte **record, uint32_t *const sizeHdr, uint32_t *const sizeData)
Forwards to locatePreviewIrb() with psTag = preview_.
Definition: jpgimage.cpp:211
const TiffType ttAsciiString
Exif ASCII type.
Definition: tiffcomposite_int.hpp:59
const char * key1_
First metadata key.
Definition: convert.cpp:110
std::basic_string< charT > toBasicString(const T &arg)
Generalised toString function.
Definition: error.hpp:161
XmpArrayValue(TypeId typeId=xmpBag)
Constructor. typeId can be one of xmpBag, xmpSeq or xmpAlt.
Definition: value.cpp:754
std::ostream & print0xa405(std::ostream &os, const Value &value, const ExifData *)
Print 35mm equivalent focal length.
Definition: tags.cpp:2701
IfdId groupId(const std::string &groupName)
Return the group id for a group name.
Definition: tags.cpp:2155
const TagDetails panasonicFilmMode[]
FilmMode, tag 0x0042.
virtual void transfer(BasicIo &src)
Remove the contents of the file and then transfer data from the src BasicIo object into the empty fil...
Definition: basicio.cpp:650
bool isBmpType(BasicIo &iIo, bool advance)
Check if the file iIo is a Windows Bitmap image.
Definition: bmpimage.cpp:142
virtual bool eof() const
Returns true if the file position has reach the end, otherwise false.
Definition: basicio.cpp:1063
std::string mimeType_
MIME type.
Definition: image.hpp:68
virtual void doAccept(TiffVisitor &visitor)
Implements accept().
Definition: tiffcomposite.cpp:960
void setIdx(int idx)
Set the unique id of the entry in the image.
Definition: tiffcomposite_int.hpp:495
std::ostream & printExifVersion(std::ostream &os, const Value &value, const ExifData *)
Print any version packed in 4 Bytes format : major major minor minor.
Definition: tags.cpp:2743
static const char * familyName_
"Exif"
Definition: tags.cpp:2937
bool(* IsThisTypeFct)(BasicIo &iIo, bool advance)
Type for function pointer that checks image types.
Definition: image.hpp:449
ValueType< double > DoubleValue
Double value type.
Definition: value.hpp:1363
int pixelHeight() const
Return the pixel height of the image.
Definition: rw2image.cpp:75
void cnvXmpDate(const char *from, const char *to)
XMP to Exif date conversion function.
Definition: convert.cpp:841
const int srw
SRW image type (see class TiffImage)
Definition: tiffimage.hpp:56
const ArraySet nikonFlSet[]
Nikon Lens Data configurations and definitions.
GroupName(const std::string &groupName)
Constructor.
Exiv2::TypeId typeId_
Definition: exiv2app.hpp:71
void setIptcData(const IptcData &iptcData)
Not supported. CRW format does not contain IPTC metadata. Calling this function will throw an Error(3...
Definition: crwimage.cpp:113
static const TagInfo * tagListLd2()
Return read-only list of built-in Lens Data 2 tags.
Definition: nikonmn.cpp:1382
float toFloat(long n=0) const
Return the n-th component of the value converted to float. The return value is -1 if the value is not...
Definition: xmp.cpp:252
std::string mimeType() const
Return the MIME type of the image.
const TagDetails panasonicSweepPanoramaDirection[]
Sweep panorama direction, tag 0x0093.
XmpCategory
Category of an XMP property.
Definition: properties.hpp:59
static void setLevel(Level level)
Set the log level. Only log messages with a level greater or equal level are sent to the log message ...
Definition: error.hpp:116
Access and modify an Exif thumbnail image. This class implements manipulators to set and erase the th...
Definition: exif.hpp:305
const ArrayCfg canonPrCfg
Canon Processing Info binary array - configuration.
const TagDetails pentaxShootingMode[]
ShootingMode, tag 0x0001.
Internal classes to support CRW/CIFF format.
virtual ~ValueType()
Virtual destructor.
Definition: value.hpp:1553
Basic file utility functions required by Exiv2.
const TagDetails panasonicIntelligentExposure[]
Intelligent exposure, tag 0x005d.
const TiffType ttSignedShort
Exif SSHORT type.
Definition: tiffcomposite_int.hpp:65
const char * make_
Camera make.
Definition: makernote_int.hpp:81
virtual uint16_t tag() const
Return the tag number.
Definition: datasets.cpp:650
std::ostream & print0xa301(std::ostream &os, const Value &value, const ExifData *metadata)
Print scene type.
Definition: tags.cpp:2663
virtual int munmap()
Not support.
Definition: basicio.cpp:1896
std::string key() const
Return the key of the Iptcdatum. The key is of the form 'Iptc.recordName.datasetName'....
Definition: iptc.cpp:120
std::pair< byte *, long > p
Pointer to a byte array and its size.
Definition: types.hpp:178
std::list< Exifdatum > ExifMetadata
Container type to hold all metadata.
Definition: exif.hpp:424
const ArraySet nikonSiSet[]
Nikon Lens Data configurations and definitions.
const TagDetails panasonicIntelligentResolution[]
Intelligent resolution, tag 0x0070.
virtual int read(const byte *buf, long len, ByteOrder byteOrder=invalidByteOrder)
Read the value from a character buffer.
Definition: value.cpp:1067
static long typeSize(TypeId typeId)
Return the size in bytes of one element of this type.
Definition: types.cpp:122
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
Definition: jp2image.cpp:155
void cnvXmpValueToIptc(const char *from, const char *to)
XMP to IPTC dataset conversion function.
Definition: convert.cpp:1135
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...
Definition: version.cpp:89
const CryptFct notEncrypted
Constant for non-encrypted binary arrays.
Definition: tiffimage.cpp:574
virtual ExifData & exifData()
Returns an ExifData instance containing currently buffered Exif data.
Definition: image.cpp:186
virtual uint32_t doWriteData(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t &imageIdx) const
This class does not really implement writeData(), it only has write(). This method must not be called...
Definition: tiffcomposite.cpp:1542
virtual int idx() const
Return the unique id of the entry in the image.
Definition: tiffcomposite.cpp:349
const TagDetails minoltaAFPointsStd[]
Lookup table to translate Minolta Std camera settings AF points values to readable labels.
virtual void visitSubIfd(TiffSubIfd *object)
Read a TIFF sub-IFD from the data buffer.
Definition: tiffvisitor.cpp:1335
uint16_t tag() const
Return the tag (aka dataset) number.
Definition: iptc.cpp:155
virtual TiffComponent * doAddChild(TiffComponent::AutoPtr tiffComponent)
Implements addChild(). The default implementation does nothing.
Definition: tiffcomposite.cpp:814
const ArrayCfg sony1MCsA100Cfg
Sony Minolta A100 Camera Settings binary array - configuration.
HttpImpl(const HttpImpl &rhs)
Copy constructor.
TiffComponent::AutoPtr newTiffThumbData(uint16_t tag, IfdId group)
Function to create and initialize a new TIFF entry for a thumbnail (data)
Definition: tiffcomposite_int.hpp:1637
static std::ostream & print0x0007(std::ostream &os, const Value &value, const ExifData *)
Print autofocus mode.
Definition: nikonmn.cpp:287
DataBuf packIfdId(const ExifData &exifData, IfdId ifdId, ByteOrder byteOrder)
Pack the tag values of all ifdId tags in exifData into a data buffer. This function is used to pack C...
Definition: crwimage.cpp:1360
std::auto_ptr< Value > AutoPtr
Shortcut for a Value auto pointer.
Definition: value.hpp:66
A tupel consisting of extended Tag and group used as an item in TIFF paths.
Definition: tiffcomposite_int.hpp:92
This class models a TIFF directory (Ifd). It is a composite component of the TIFF tree.
Definition: tiffcomposite_int.hpp:863
uint16_t dir() const
Return the tag of the directory containing this component.
Definition: crwimage_int.hpp:221
Stateless parser class for data in TIFF format. Images use this class to decode and encode TIFF-based...
Definition: tiffimage_int.hpp:283
virtual uint32_t doWriteData(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t &imageIdx) const
Implements writeData(). Write the sub-IFDs to the ioWrapper. Return the number of bytes written.
Definition: tiffcomposite.cpp:1525
static int decode(XmpData &xmpData, const std::string &xmpPacket)
Decode XMP metadata from an XMP packet xmpPacket into xmpData. The format of the XMP packet must foll...
Definition: xmp.cpp:610
static std::ostream & print0x0009(std::ostream &os, const Value &value, const ExifData *)
Print metering mode.
Definition: sigmamn.cpp:163
void cnvXmpVersion(const char *from, const char *to)
XMP to Exif version conversion function.
Definition: convert.cpp:939
const TagDetails casio2Contrast[]
Contrast, tag 0x0020.
const TagDetails casioFlashMode[]
FlashMode, tag 0x0004.
bool isExifIfd(IfdId ifdId)
Return true if ifdId is an Exif IFD id.
Definition: tags.cpp:2187
const TagDetails casio2ColorFilter[]
Color Filter, tag 0x3017.
static const byte sos_
JPEG SOS marker.
Definition: jpgimage.hpp:232
ExifData::const_iterator saturation(const ExifData &ed)
Return the saturation level.
Definition: easyaccess.cpp:288
static ByteOrder decode(ExifData &exifData, IptcData &iptcData, XmpData &xmpData, const byte *pData, uint32_t size, uint32_t root, FindDecoderFct findDecoderFct, TiffHeaderBase *pHeader=0)
Decode TIFF metadata from a data buffer pData of length size into the provided metadata containers.
Definition: tiffimage.cpp:2079
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:1655
ExifData::const_iterator contrast(const ExifData &ed)
Return the contrast level.
Definition: easyaccess.cpp:332
const TiffType ttUnsignedShort
Exif SHORT type.
Definition: tiffcomposite_int.hpp:60
DataBuf(* CryptFct)(uint16_t, const byte *, uint32_t, TiffComponent *const)
Function pointer type for a crypt function used for binary arrays.
Definition: tiffcomposite_int.hpp:1314
const TagDetails sonyRecordDisplayA100[]
Lookup table to translate Sony A100 camera settings record display values to readable labels.
virtual DataBuf read(long rcount)
Read data from the memory block. Reading starts at the current IO position and the position is advanc...
Definition: basicio.cpp:1330
virtual long size() const
Return the size of the value in bytes.
Definition: value.cpp:219
ByteOrder byteOrder() const
Return the byte order.
Definition: tiffvisitor.cpp:1173
static const TagInfo * tagListLd1()
Return read-only list of built-in Lens Data 1 tags.
Definition: nikonmn.cpp:1357
const TagDetails pentaxOffOn[]
Generic for Off/On switches.
static uint32_t writeOffset(byte *buf, int32_t offset, TiffType tiffType, ByteOrder byteOrder)
Helper function to write an offset to a preallocated binary buffer.
Definition: tiffcomposite.cpp:1258
static const XmpNsInfo * lookupNsRegistry(const XmpNsInfo::Prefix &prefix)
Get the registered namespace for a specific prefix from the registry.
const TagDetails olympusCsQuality[]
OlympusCs Quality, tag 0x0603.
const TagDetails canonCsFlashActivity[]
FlashActivity, tag 0x001c.
const TagDetails sonyExposureProgram[]
Lookup table to translate Sony camera settings exposure program values to readable labels.
virtual std::string tagName() const
Return the name of the tag (which is also the third part of the key)
Definition: datasets.cpp:640
virtual uint32_t doWrite(IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &imageIdx)
Implements write(). Todo: Document it!
Definition: tiffcomposite.cpp:1386
SectionId sectionId_
Section id.
Definition: tags_int.hpp:177
virtual ~Image()
Virtual Destructor.
Definition: image.cpp:168
std::ostream & printUcs2(std::ostream &os, const Value &value, const ExifData *)
Print function converting from UCS-2LE to UTF-8.
Definition: tags.cpp:2317
friend EXIV2API bool isExvType(BasicIo &iIo, bool advance)
Check if the file iIo is an EXV file.
Definition: jpgimage.cpp:1090
std::string Protocol
URL protocol.
Definition: futils.hpp:183
static ByteOrder decode(ExifData &exifData, IptcData &iptcData, XmpData &xmpData, const byte *pData, uint32_t size)
Decode metadata from a buffer pData of length size with data in CR2 format to the provided metadata c...
Definition: cr2image.cpp:140
std::string string_from_unterminated(const char *data, size_t data_length)
Convert a (potentially not null terminated) array into a std::string.
Definition: helper_functions.cpp:33
const char * name_
Dataset name.
Definition: datasets.hpp:75
EXIV2API bool isQTimeType(BasicIo &iIo, bool advance)
Check if the file iIo is a Quick Time Video.
void setTarget(OffsetId id, uint32_t target)
Set the target for offset id, i.e., the address to which the offset points.
Definition: tiffimage.cpp:2497
Error class for exceptions, log message class.
virtual void setXmpData(const XmpData &xmpData)
Assign new XMP data. The new XMP data is not written to the image until the writeMetadata() method is...
Definition: image.cpp:261
virtual int open()
Memory IO is always open for reading and writing. This method therefore only resets the IO position t...
Definition: basicio.cpp:1313
ByteOrder byteOrder_
Byte order, invalidByteOrder to inherit.
Definition: tiffcomposite_int.hpp:1337
bool eof_
EOF indicator.
Definition: basicio.cpp:1106
static const char bimId_[]
Photoshop IRB marker (deprecated)
Definition: jpgimage.hpp:68
bool circularReference(const byte *start, IfdId group)
Check IFD directory pointer start for circular reference.
Definition: tiffvisitor.cpp:1226
const TagDetails exifSubjectDistanceRange[]
SubjectDistanceRange, tag 0xa40c.
Internal classes used in a TIFF composite structure.
virtual void visitDirectory(TiffDirectory *object)
Encode a TIFF directory.
Definition: tiffvisitor.cpp:670
std::vector< byte > Blob
Container for binary data.
Definition: types.hpp:145
MakerNote for Canon cameras.
Definition: canonmn_int.hpp:58
Internal Pimpl structure of class Xmpdatum.
Definition: xmp.cpp:127
A container for URL components. It also provides the method to parse a URL to get the protocol,...
Definition: futils.hpp:178
Class to access raw Olympus ORF images. Exif metadata is supported directly, IPTC is read from the Ex...
Definition: orfimage.hpp:57
virtual void visitImageEntry(TiffImageEntry *object)
Find tag and group in a TIFF image entry.
Definition: tiffvisitor.cpp:155
const TagDetailsBitmask nikonShootingModeD70[]
ShootingMode D70, tag 0x0089.
Define an RCS id string in every object file compiled from a source file that includes rcsid_int....
Class JpegImage to access JPEG images.
std::auto_ptr< AsciiValue > AutoPtr
Shortcut for a AsciiValue auto pointer.
Definition: value.hpp:469
const TagDetails sonyAspectRatio[]
Lookup table to translate Sony aspect ratio values to readable labels.
void writeMetadata()
Todo: Write metadata back to the image. This method is not yet implemented. Calling it will throw an ...
Definition: mrwimage.cpp:151
const TagDetails fujiFilmMode[]
FilmMode, tag 0x1401.
Encoding and decoding of IPTC data.
const int eps
EPS image type.
Definition: epsimage.hpp:57
TiffComponent::AutoPtr newTiffBinaryElement(uint16_t tag, IfdId group)
Function to create and initialize a new binary array element.
Definition: tiffcomposite.cpp:1894
Rational toRational(long n=0) const
Return the n-th component of the value converted to Rational. The return value is -1/1 if the value i...
Definition: exif.cpp:410
const ArrayDef nikonLdDef[]
Nikon Lens Data binary array - definition.
void setExifData(const ExifData &exifData)
Todo: Not supported yet(?). Calling this function will throw an instance of Error(32).
Definition: tgaimage.cpp:59
static uint16_t recordId(const std::string &recordName)
Return the Id number of a record.
Definition: datasets.cpp:567
bool isJpegType(BasicIo &iIo, bool advance)
Check if the file iIo is a JPEG image.
Definition: jpgimage.cpp:1038
virtual long toLong(long n=0) const
Returns number of seconds in the day in UTC.
Definition: value.cpp:1207
static std::ostream & printFlashFocalLength(std::ostream &os, const Value &value, const ExifData *)
Print flash focal length.
Definition: nikonmn.cpp:2541
int versionNumber()
Return the version of Exiv2 available at runtime as an integer.
Definition: version.cpp:64
std::istream & operator>>(std::istream &is, Rational &r)
Input operator for our fake rational.
Definition: types.cpp:188
PreviewImage & operator=(const PreviewImage &rhs)
Assignment operator.
Definition: preview.cpp:1059
A container for Exif data. This is a top-level class of the Exiv2 library. The container holds Exifda...
Definition: exif.hpp:438
EXIV2API bool isPngType(BasicIo &iIo, bool advance)
Check if the file iIo is a PNG image.
static const TagInfo * tagListFi()
Return read-only list of built-in Olympus Focus Info tags.
Definition: olympusmn.cpp:1028
virtual void visitIfdMakernoteEnd(TiffIfdMakernote *object)
Operation to perform after processing an IFD makernote.
Definition: tiffvisitor.cpp:117
static const TagInfo * tagListIi()
Return read-only list of built-in ISO info tags.
Definition: nikonmn.cpp:791
long toLong(long n=0) const
Return the n-th component of the value converted to long. The return value is -1 if the value is not ...
Definition: xmp.cpp:247
std::string mimeType() const
Return the MIME type of the image.
Definition: mrwimage.cpp:57
virtual TiffComponent * doAddPath(uint16_t tag, TiffPath &tiffPath, TiffComponent *const pRoot, TiffComponent::AutoPtr object)
Implements addPath(). The default implementation does nothing.
Definition: tiffcomposite.cpp:645
static const TagInfo * tagListLd3()
Return read-only list of built-in Lens Data 3 tags.
Definition: nikonmn.cpp:1407
IptcMetadata::const_iterator const_iterator
IptcMetadata const iterator type.
Definition: iptc.hpp:185
void version(bool verbose=false, std::ostream &os=std::cout) const
Print version information to an output stream.
Definition: exiv2.cpp:213
const ArrayCfg nikonSi3Cfg
Nikon Shot Info binary array - configuration 3 (D300a)
float fnumber(float apertureValue)
Calculate F number from an APEX aperture value.
Definition: tags.cpp:2785
static const TagInfo * tagListSi3()
Return read-only list of built-in Shot Info D300 (a) tags.
Definition: nikonmn.cpp:1165
Value::AutoPtr getValue() const
Return an auto-pointer to a copy (clone) of the value. The caller owns this copy and the auto-poiner ...
Definition: exif.cpp:415
const char * photoshop_
Photoshop string.
Definition: datasets.hpp:84
uint32_t root_
Tree root element, identifies a tree.
Definition: tiffimage_int.hpp:236