MCPcopy Create free account
hub / github.com/Exiv2/exiv2 / encode

Method encode

src/cr2image.cpp:106–125  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

104}
105
106WriteMethod Cr2Parser::encode(BasicIo& io, const byte* pData, size_t size, ByteOrder byteOrder, ExifData& exifData,
107 IptcData& iptcData, XmpData& xmpData) {
108 // Delete IFDs which do not occur in TIFF images
109 static constexpr auto filteredIfds = std::array{
110 IfdId::panaRawId,
111 };
112 for (auto&& filteredIfd : filteredIfds) {
113#ifdef EXIV2_DEBUG_MESSAGES
114 std::cerr << "Warning: Exif IFD " << filteredIfd << " not encoded\n";
115#endif
116 exifData.erase(std::remove_if(exifData.begin(), exifData.end(), Internal::FindExifdatum(filteredIfd)),
117 exifData.end());
118 }
119
120 auto header = Internal::Cr2Header(byteOrder);
121 Internal::OffsetWriter offsetWriter;
122 offsetWriter.setOrigin(Internal::OffsetWriter::cr2RawIfdOffset, Internal::Cr2Header::offset2addr(), byteOrder);
123 return Internal::TiffParserWorker::encode(io, pData, size, exifData, iptcData, xmpData, Internal::Tag::root,
124 Internal::TiffMapping::findEncoder, &header, &offsetWriter);
125}
126
127// *************************************************************************
128// free functions

Callers

nothing calls this directly

Calls 7

FindExifdatumClass · 0.85
Cr2HeaderClass · 0.85
encodeFunction · 0.85
setOriginMethod · 0.80
eraseMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected