 |
Exiv2
|
24 #include "exiv2lib_export.h"
34 EXIV2API
bool enableBMFF(
bool enable =
true);
37 #ifdef EXV_ENABLE_BMFF
42 Iloc(uint32_t ID = 0, uint32_t start = 0, uint32_t length = 0) : ID_(ID), start_(start), length_(length){};
64 class EXIV2API BmffImage :
public Image
94 void parseTiff(uint32_t root_tag, uint64_t length);
95 void parseTiff(uint32_t root_tag, uint64_t length,uint64_t start);
105 void parseXmp(uint64_t length,uint64_t start);
121 void parseCr3Preview(DataBuf &data,
125 uint32_t width_offset,
126 uint32_t height_offset,
127 uint32_t size_offset,
128 uint32_t relative_position);
133 void readMetadata() ;
134 void writeMetadata() ;
135 void setComment(
const std::string&
comment) ;
141 std::string mimeType() const ;
142 int pixelWidth() const;
143 int pixelHeight() const;
159 const
long pbox_end,
int depth);
160 std::
string indent(
int i)
162 return std::string(2*i,
' ');
166 std::set<uint64_t> visits_;
167 uint64_t visits_max_;
171 std::map<uint32_t, Iloc> ilocs_;
178 std::string toAscii(
long n);
179 std::string boxName(uint32_t box);
180 bool superBox(uint32_t box);
181 bool fullBox(uint32_t box);
199 EXIV2API
bool isBmffType(BasicIo& iIo,
bool advance);
201 #endif // EXV_ENABLE_BMFF
const int xmp
XMP sidecar files (see class XmpSidecar)
Definition: xmpsidecar.hpp:38
byte * pData_
Pointer to the buffer, 0 if none has been allocated.
Definition: types.hpp:258
std::string indent(int32_t d)
indent output for kpsRecursive in printStructure() .
Definition: image_int.cpp:106
const uint32_t cmt4
Special tag: root IFD of CR3 images.
Definition: tiffcomposite_int.hpp:80
const uint32_t cmt3
Special tag: root IFD of CR3 images.
Definition: tiffcomposite_int.hpp:79
ExifMetadata::const_iterator const_iterator
ExifMetadata const iterator type.
Definition: exif.hpp:439
@ comment
Exiv2 type for the Exif user comment.
Definition: types.hpp:139
EXIV2API std::string strError()
Return a system error message and the error code (errno). See strerror(3).
Definition: futils.cpp:316
const uint32_t cmt2
Special tag: root IFD of CR3 images.
Definition: tiffcomposite_int.hpp:78
static DecoderFct findDecoder(const std::string &make, uint32_t extendedTag, IfdId group)
Find the decoder function for a key.
Definition: tiffimage_int.cpp:1640
std::string stringFormat(const char *format,...)
format a string in the pattern of sprintf .
Definition: image_int.cpp:32
EXIV2API int16_t getShort(const byte *buf, ByteOrder byteOrder)
Read a 2 byte signed short value from the data buffer.
Definition: types.cpp:313
EXIV2API uint64_t getULongLong(const byte *buf, ByteOrder byteOrder)
Read a 8 byte unsigned long value from the data buffer.
Definition: types.cpp:290
Utility class containing a character array. All it does is to take care of memory allocation and dele...
Definition: types.hpp:193
Concrete keys for Exif metadata and access to Exif tag reference data.
Definition: tags.hpp:140
EXIV2API int32_t getLong(const byte *buf, ByteOrder byteOrder)
Read a 4 byte signed long value from the data buffer.
Definition: types.cpp:323
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:1000
Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of ...
Definition: asfvideo.hpp:36
ByteOrder
Type to express the byte order (little or big endian)
Definition: types.hpp:102
std::auto_ptr< Image > AutoPtr
Image auto_ptr type.
Definition: image.hpp:81
const uint32_t root
Special tag: root IFD.
Definition: tiffcomposite_int.hpp:73
std::auto_ptr< BasicIo > AutoPtr
BasicIo auto_ptr type.
Definition: basicio.hpp:58
BasicError< char > Error
Error class used for exceptions (std::string based)
Definition: error.hpp:324
const EXIV2API char * version()
Return the version of Exiv2 as "C" string eg "0.27.0.2".
Definition: version.cpp:103
PrintStructureOption
Options for printStructure.
Definition: image.hpp:64
std::string toString(const T &arg)
Utility function to convert the argument of any type to a string.
Definition: types.hpp:510
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:887
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_int.cpp:1717
Error class for exceptions, log message class.