5#include "exiv2lib_export.h"
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
Image(ImageType type, uint16_t supportedMetadata, BasicIo::UniquePtr io)
Constructor taking the image type, a bitmap of the supported metadata types and an auto-pointer that ...
Definition image.cpp:132
virtual BasicIo & io() const
Return a reference to the BasicIo instance being used for Io.
Definition image.cpp:680
std::unique_ptr< Image > UniquePtr
Image auto_ptr type.
Definition image.hpp:53
void readMetadata() override
Read all metadata supported by a specific image format from the image. Before this method is called,...
Definition riffvideo.cpp:367
RiffVideo(BasicIo::UniquePtr io)
Constructor for a Riff video. Since the constructor can not return a result, callers should check the...
Definition riffvideo.cpp:357
void writeMetadata() override
Write metadata back to the image.
Definition riffvideo.cpp:364
std::string mimeType() const override
Return the MIME type of the image.
Definition riffvideo.cpp:360
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