 |
Exiv2
|
24 #include "exiv2lib_export.h"
73 std::string mimeType()
const;
74 const char* printAudioEncoding(uint64_t i);
97 void junkHandler(
long size);
103 void streamHandler(
long size);
109 void streamFormatHandler(
long size);
115 void aviHeaderTagsHandler(
long size);
121 void listHandler(
long size);
127 void streamDataTagHandler(
long size);
132 void infoTagsHandler();
137 void nikonTagsHandler();
142 void odmlTagsHandler();
165 void fillAspectRatio(
long width = 1,
long height = 1);
172 void fillDuration(
double frame_rate,
long frame_count);
185 const static int RIFF_TAG_SIZE;
186 const static char* RIFF_CHUNK_HEADER_ICCP;
187 const static char* RIFF_CHUNK_HEADER_EXIF;
188 const static char* RIFF_CHUNK_HEADER_XMP;
190 bool continueTraversing_;
213 #endif // RIFFVIDEO_HPP
Helper structure for lookup tables for translations of numeric tag values to human readable labels.
Definition: tags_int.hpp:225
void odmlTagsHandler()
Interpret OpenDML tag information, and save it in the respective XMP container.
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
Encoding and decoding of Exif data.
Class to access RIFF video files.
Definition: riffvideo.hpp:45
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 streamHandler(long size)
Interpret Stream tag information, and save it in the respective XMP container.
bool empty() const
Return true if there is no IPTC metadata.
Definition: iptc.hpp:255
void infoTagsHandler()
Interpret INFO tag information, and save it in the respective XMP container.
void writeMetadata()
Write metadata back to the image.
Slice< T > makeSlice(T &cont, size_t begin, size_t end)
Return a new slice with the given bounds.
Definition: slice.hpp:665
void printStructure(std::ostream &out, PrintStructureOption option, int depth)
Print out the structure of image file.
const EXIV2API char * exvGettext(const char *str)
Translate a string using the gettext framework. This wrapper hides all the implementation details fro...
Definition: types.cpp:571
RiffVideo(BasicIo::AutoPtr io)
Constructor for a Riff video. Since the constructor can not return a result, callers should check the...
void skipListData()
Skips Particular Blocks of Metadata List.
EXIV2API std::string strError()
Return a system error message and the error code (errno). See strerror(3).
Definition: futils.cpp:316
Helper structure for lookup tables for translations of controlled vocabulary strings to their descrip...
Definition: tags_int.hpp:246
Value type suitable for simple XMP properties and XMP nodes of complex types which are not parsed int...
Definition: value.hpp:715
ExifData exifData_
Exif data container.
Definition: image.hpp:485
void junkHandler(long size)
Interpret Junk tag information, and save it in the respective XMP container.
void decodeBlock()
Check for a valid tag and decode the block at the current IO position. Calls tagDecoder() or skips to...
Concrete keys for XMP metadata.
Definition: properties.hpp:230
binaryToStringHelper< T > binaryToString(const Slice< T > sl)
format binary data for display in Image::printStructure()
Definition: image_int.hpp:118
void dateTimeOriginal(long size, int i=0)
Interprets DateTimeOriginal tag or stream name tag information, and save it in the respective XMP con...
EXIV2LIB_DEPRECATED_EXPORT Image::AutoPtr newRiffInstance(BasicIo::AutoPtr io, bool create)
Create a new RiffVideo instance and return an auto-pointer to it. Caller owns the returned object and...
virtual void clearMetadata()
Erase all buffered metadata. Metadata is not removed from the actual image until the writeMetadata() ...
Definition: image.cpp:570
void streamFormatHandler(long size)
Interpret Stream Format tag information, and save it in the respective XMP container.
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
void printTiffStructure(BasicIo &io, std::ostream &out, PrintStructureOption option, int depth, size_t offset=0)
Print out the structure of image file.
Definition: image.cpp:552
Utility class containing a character array. All it does is to take care of memory allocation and dele...
Definition: types.hpp:193
long size_
The current size of the buffer.
Definition: types.hpp:260
EXIV2API int32_t getLong(const byte *buf, ByteOrder byteOrder)
Read a 4 byte signed long value from the data buffer.
Definition: types.cpp:323
const char * label_
Translation of the tag value.
Definition: tags_int.hpp:227
const T * find(T(&src)[N], const K &key)
Find an element that matches key in the array src.
Definition: types.hpp:497
EXIV2LIB_DEPRECATED_EXPORT bool isRiffType(BasicIo &iIo, bool advance)
Check if the file iIo is a Riff Video.
Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of ...
Definition: asfvideo.hpp:36
bool empty() const
Return true if there is no XMP metadata.
Definition: xmp.cpp:528
virtual BasicIo & io() const
Return a reference to the BasicIo instance being used for Io.
Definition: image.cpp:752
virtual std::string path() const =0
Return the path to the IO resource. Often used to form comprehensive error messages where only a Basi...
void fillAspectRatio(long width=1, long height=1)
Calculates Aspect Ratio of a video, and stores it in the respective XMP container.
void readMetadata()
Read all metadata supported by a specific image format from the image. Before this method is called,...
#define EXV_WARNING
Shorthand for a temp warning log message object and return its ostringstream.
Definition: error.hpp:148
EXIV2API uint16_t getUShort(const byte *buf, ByteOrder byteOrder)
Read a 2 byte unsigned short value from the data buffer.
Definition: types.cpp:273
BasicIo::AutoPtr io_
Image data IO pointer.
Definition: image.hpp:484
ByteOrder
Type to express the byte order (little or big endian)
Definition: types.hpp:102
Contains internal objects which are not published and are not part of the libexiv2 API.
Definition: slice.hpp:31
void aviHeaderTagsHandler(long size)
Interpret Riff Header tag information, and save it in the respective XMP container.
std::auto_ptr< Image > AutoPtr
Image auto_ptr type.
Definition: image.hpp:81
double returnSampleRate(Exiv2::DataBuf &buf, long divisor=1)
Calculates Sample Rate of a particular stream.
void nikonTagsHandler()
Interpret Nikon Tags related to Video information, and save it in the respective XMP container.
void streamDataTagHandler(long size)
Interpret Riff Stream Data tag information, and save it in the respective XMP container.
const int riff
Treating riff as an image type>
Definition: riffvideo.hpp:39
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
void fillDuration(double frame_rate, long frame_count)
Calculates Duration of a video, and stores it in the respective XMP container.
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:485
const char * label_
Description of the vocabulary string.
Definition: tags_int.hpp:248
PrintStructureOption
Options for printStructure.
Definition: image.hpp:64
EXIV2API ExifData::const_iterator meteringMode(const ExifData &ed)
Return the metering mode setting.
Definition: easyaccess.cpp:426
#define EXV_ERROR
Shorthand for a temp error log message object and return its ostringstream.
Definition: error.hpp:150
std::string toString(const T &arg)
Utility function to convert the argument of any type to a string.
Definition: types.hpp:510
An interface for simple binary IO.
Definition: basicio.hpp:55
XmpData xmpData_
XMP data container.
Definition: image.hpp:487
std::string mimeType() const
Return the MIME type of the image.
virtual XmpData & xmpData()
Returns an XmpData instance containing currently buffered XMP data.
Definition: image.cpp:590
Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...
Definition: image.hpp:78
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
virtual IptcData & iptcData()
Returns an IptcData instance containing currently buffered IPTC data.
Definition: image.cpp:585
EXIV2API uint32_t getULong(const byte *buf, ByteOrder byteOrder)
Read a 4 byte unsigned long value from the data buffer.
Definition: types.cpp:278
Error class for exceptions, log message class.
EXIV2API ExifData::const_iterator dateTimeOriginal(const ExifData &ed)
Return the date and time when the original image data was generated.
Definition: easyaccess.cpp:186