5#include "exiv2lib_export.h"
36 void readMetadata()
override;
37 void writeMetadata()
override;
42 [[nodiscard]] std::string
mimeType()
const override;
53 [[nodiscard]] uint64_t getSize()
const {
57 [[nodiscard]]
const std::string& getId()
const {
69 static bool equal(
const std::string& str1,
const std::string& str2);
79 void readStreamHeader();
85 void readStreamFormat(uint64_t size_);
91 void readStreamData(uint64_t size_)
const;
97 void StreamName(uint64_t size_)
const;
102 void readInfoListChunk(uint64_t size_);
109 void readMoviList(uint64_t size_)
const;
115 void readVPRPChunk(uint64_t size_)
const;
120 void readIndexChunk(uint64_t size_)
const;
125 void readDataChunk(uint64_t size_)
const;
130 void readJunk(uint64_t size_)
const;
132 static std::string getStreamType(uint32_t stream);
138 void fillDuration(
double frame_rate,
size_t frame_count);
145 void fillAspectRatio(
size_t width,
size_t height);
147 static constexpr auto CHUNK_HEADER_ICCP =
"ICCP";
148 static constexpr auto CHUNK_HEADER_EXIF =
"EXIF";
149 static constexpr auto CHUNK_HEADER_XMP =
"XMP ";
152 static constexpr auto CHUNK_ID_MOVI =
"MOVI";
153 static constexpr auto CHUNK_ID_DATA =
"DATA";
154 static constexpr auto CHUNK_ID_HDRL =
"HDRL";
155 static constexpr auto CHUNK_ID_STRL =
"STRL";
156 static constexpr auto CHUNK_ID_LIST =
"LIST";
157 static constexpr auto CHUNK_ID_JUNK =
"JUNK";
158 static constexpr auto CHUNK_ID_AVIH =
"AVIH";
159 static constexpr auto CHUNK_ID_STRH =
"STRH";
160 static constexpr auto CHUNK_ID_STRF =
"STRF";
161 static constexpr auto CHUNK_ID_FMT =
"FMT ";
162 static constexpr auto CHUNK_ID_STRN =
"STRN";
163 static constexpr auto CHUNK_ID_STRD =
"STRD";
164 static constexpr auto CHUNK_ID_IDIT =
"IDIT";
165 static constexpr auto CHUNK_ID_INFO =
"INFO";
166 static constexpr auto CHUNK_ID_NCDT =
"NCDT";
167 static constexpr auto CHUNK_ID_ODML =
"ODML";
168 static constexpr auto CHUNK_ID_VPRP =
"VPRP";
169 static constexpr auto CHUNK_ID_IDX1 =
"IDX1";
183EXIV2API
bool isRiffType(BasicIo& iIo,
bool advance);
std::unique_ptr< BasicIo > UniquePtr
BasicIo auto_ptr type.
Definition basicio.hpp:38
Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...
Definition image.hpp:50
std::unique_ptr< Image > UniquePtr
Image auto_ptr type.
Definition image.hpp:53
Class to access RIFF video files.
Definition riffvideo.hpp:16
Encoding and decoding of Exif data.
Class CrwImage to access Canon CRW images. References: The Canon RAW (CRW) File Format by Phil Harv...
Definition asfvideo.hpp:15
EXIV2API bool isRiffType(BasicIo &iIo, bool advance)
Check if the file iIo is a Riff Video.
Definition riffvideo.cpp:760
List of TIFF compression to MIME type mappings.
Definition tiffimage.cpp:47