 |
Exiv2
|
Go to the documentation of this file.
33 #ifndef PNGCHUNK_INT_HPP_
34 #define PNGCHUNK_INT_HPP_
147 static void parseChunkContent(
Image* pImage,
181 static void zlibUncompress(
const byte* compressedText,
182 unsigned int compressedTextSize,
200 const char* profileType);
208 #endif // #ifndef PNGCHUNK_INT_HPP_
Encoding and decoding of Exif data.
TxtChunkType
Text Chunk types.
Definition: pngchunk_int.hpp:68
Type definitions for Exiv2 and related functionality.
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:432
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:219
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.
Stateless parser class for data in PNG chunk format. Images use this class to decode and encode PNG-b...
Definition: pngchunk_int.hpp:63
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:251
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
Class to access PNG images. Exif and IPTC metadata are supported directly.
Definition: pngimage.hpp:58
Port of D's enforce() to C++ & Exiv2.
MetadataId
An identifier for each type of metadata.
Definition: types.hpp:119
EXIV2API void append(Exiv2::Blob &blob, const byte *buf, uint32_t len)
Append len bytes pointed to by buf to blob.
Definition: image.cpp:984
MetadataId
Metadata identifiers.
Definition: exiv2app.hpp:75
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
A collection of helper functions.
Utility class containing a character array. All it does is to take care of memory allocation and dele...
Definition: types.hpp:204
EXIV2API int32_t getLong(const byte *buf, ByteOrder byteOrder)
Read a 4 byte signed long value from the data buffer.
Definition: types.cpp:328
Class PngChunk to parse PNG chunk data implemented using the following references: PNG iTXt chunk st...
Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of ...
Definition: asfvideo.hpp:36
EXIV2API long ul2Data(byte *buf, uint32_t l, ByteOrder byteOrder)
Convert an unsigned long to data, write the data to the buffer, return number of bytes written.
Definition: types.cpp:408
Overflow checks for integers.
#define EXV_WARNING
Shorthand for a temp warning log message object and return its ostringstream.
Definition: error.hpp:148
ByteOrder
Type to express the byte order (little or big endian)
Definition: types.hpp:113
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...
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...
T add(T summand_1, T summand_2)
Safe addition, throws an exception on overflow.
Definition: safe_op.hpp:295
BasicError< char > Error
Error class used for exceptions (std::string based)
Definition: error.hpp:323
IPTC string type.
Definition: types.hpp:147
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,...
Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...
Definition: image.hpp:81
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:723
Error class for exceptions, log message class.
std::vector< byte > Blob
Container for binary data.
Definition: types.hpp:162
Class JpegImage to access JPEG images.
Encoding and decoding of IPTC data.