|
RawSpeed
fast raw decoding library
|
#include "tiff/TiffIFD.h"
Public Member Functions | |
| TiffRootIFD (TiffIFD *parent_, NORangesSet< Buffer > *ifds, DataBuffer data, uint32_t offset) | |
| TiffID | getID () const |
| uint32_t | getNextIFD () const |
| std::vector< const TiffIFD * > | getIFDsWithTag (TiffTag tag) const |
| const TiffIFD * | getIFDWithTag (TiffTag tag, uint32_t index=0) const |
| TiffEntry * | getEntry (TiffTag tag) const |
| TiffEntry *RAWSPEED_READONLY | getEntryRecursive (TiffTag tag) const |
| bool RAWSPEED_READONLY | hasEntry (TiffTag tag) const |
| bool | hasEntryRecursive (TiffTag tag) const |
| const std::vector< TiffIFDOwner > & | getSubIFDs () const |
Public Attributes | |
| const DataBuffer | rootBuffer |
Private Member Functions | |
| void | anchor () const override |
| void | recursivelyIncrementSubIFDCount () |
| void | checkSubIFDs (int headroom) const |
| void | recursivelyCheckSubIFDs (int headroom) const |
| void | add (TiffIFDOwner subIFD) |
| void | add (TiffEntryOwner entry) |
| TiffRootIFDOwner | parseMakerNote (NORangesSet< Buffer > *ifds, const TiffEntry *t) |
| void | parseIFDEntry (NORangesSet< Buffer > *ifds, ByteStream &bs) |
Private Attributes | |
| uint32_t | nextIFD = 0 |
| TiffIFD *const | parent |
| std::vector< TiffIFDOwner > | subIFDs |
| int | subIFDCount = 0 |
| int | subIFDCountRecursive = 0 |
| std::map< TiffTag, TiffEntryOwner > | entries |
|
inline |
Definition at line 144 of file TiffIFD.h.
References rawspeed::TiffIFD::TiffIFD(), and rootBuffer.
|
privateinherited |
Definition at line 308 of file TiffIFD.cpp.
References entries.
|
privateinherited |
Definition at line 299 of file TiffIFD.cpp.
References assert(), and subIFDs.
Referenced by parseIFDEntry().
|
overrideprivatevirtual |
Reimplemented from rawspeed::TiffIFD.
Definition at line 320 of file TiffIFD.cpp.
|
privateinherited |
Definition at line 269 of file TiffIFD.cpp.
References assert(), rawspeed::TiffIFD::Limits::RecursiveSubIFDCount, rawspeed::TiffIFD::Limits::SubIFDCount, subIFDCount, subIFDCountRecursive, and ThrowTPE.
Definition at line 313 of file TiffIFD.cpp.
References entries, ThrowTPE, and TiffEntry.
Referenced by rawspeed::anonymous_namespace{Rw2Decoder.cpp}::DecompressorV8Params::DecompressorV8Params(), rawspeed::DngDecoder::decodeBlackLevels(), rawspeed::ArwDecoder::decodeCurve(), rawspeed::DngDecoder::decodeData(), rawspeed::ArwDecoder::DecodeLJpeg(), rawspeed::DngDecoder::decodeMaskedAreas(), rawspeed::OrfDecoder::decodeMetaDataInternal(), rawspeed::Rw2Decoder::decodeMetaDataInternal(), rawspeed::Cr2Decoder::decodeNewFormat(), rawspeed::ArwDecoder::decodeRawInternal(), rawspeed::DngDecoder::decodeRawInternal(), rawspeed::MosDecoder::decodeRawInternal(), rawspeed::Rw2Decoder::decodeRawInternal(), rawspeed::Rw2Decoder::decodeRawV8(), rawspeed::ArwDecoder::decodeSRF(), rawspeed::ArwDecoder::decodeTransitionalArw(), rawspeed::ArwDecoder::DecodeUncompressed(), rawspeed::StiDecoder::DecodeUncompressed(), rawspeed::ThreefrDecoder::DecodeUncompressed(), rawspeed::RawDecoder::decodeUncompressed(), rawspeed::OrfDecoder::getBitsPerPixel(), rawspeed::anonymous_namespace{Rw2Decoder.cpp}::getPanasonicTiffVector(), rawspeed::DngDecoder::getTilingDescription(), rawspeed::ArwDecoder::GetWB(), rawspeed::DngDecoder::handleMetadata(), rawspeed::NefDecoder::NEFIsUncompressed(), rawspeed::NefDecoder::NEFIsUncompressedRGB(), rawspeed::DngDecoder::parseACTIVEAREA(), and rawspeed::DngDecoder::parseCFA().
|
nodiscardinherited |
Definition at line 246 of file TiffIFD.cpp.
References entries, subIFDs, and TiffEntry.
Referenced by rawspeed::KdcDecoder::decodeMetaDataInternal(), rawspeed::Cr2Decoder::decodeNewFormat(), rawspeed::DcrDecoder::decodeRawInternal(), rawspeed::KdcDecoder::decodeRawInternal(), rawspeed::PefDecoder::decodeRawInternal(), rawspeed::TiffRootIFD::getID(), rawspeed::ArwDecoder::GetWB(), hasEntryRecursive(), and rawspeed::MosDecoder::isAppropriateDecoder().
|
nodiscard |
Definition at line 325 of file TiffIFD.cpp.
References rawspeed::TiffIFD::getEntryRecursive(), rawspeed::MAKE, rawspeed::MODEL, ThrowTPE, and rawspeed::trimSpaces().
Referenced by rawspeed::ArwDecoder::isAppropriateDecoder(), rawspeed::Cr2Decoder::isAppropriateDecoder(), rawspeed::DcrDecoder::isAppropriateDecoder(), rawspeed::DcsDecoder::isAppropriateDecoder(), rawspeed::ErfDecoder::isAppropriateDecoder(), rawspeed::IiqDecoder::isAppropriateDecoder(), rawspeed::KdcDecoder::isAppropriateDecoder(), rawspeed::MefDecoder::isAppropriateDecoder(), rawspeed::MosDecoder::isAppropriateDecoder(), rawspeed::NefDecoder::isAppropriateDecoder(), rawspeed::OrfDecoder::isAppropriateDecoder(), rawspeed::PefDecoder::isAppropriateDecoder(), rawspeed::RafDecoder::isAppropriateDecoder(), rawspeed::Rw2Decoder::isAppropriateDecoder(), rawspeed::SrwDecoder::isAppropriateDecoder(), rawspeed::StiDecoder::isAppropriateDecoder(), and rawspeed::ThreefrDecoder::isAppropriateDecoder().
|
nodiscardinherited |
Definition at line 226 of file TiffIFD.cpp.
References entries, and subIFDs.
Referenced by getIFDWithTag().
|
nodiscardinherited |
Definition at line 238 of file TiffIFD.cpp.
References TiffIFD(), getIFDsWithTag(), and ThrowTPE.
|
inlinenodiscardinherited |
|
inlinenodiscardinherited |
|
inlinenodiscardinherited |
Definition at line 119 of file TiffIFD.h.
References entries.
Referenced by rawspeed::DngDecoder::decodeBlackLevels(), rawspeed::DngDecoder::decodeData(), rawspeed::OrfDecoder::decodeMetaDataInternal(), rawspeed::Rw2Decoder::decodeMetaDataInternal(), rawspeed::DngDecoder::decodeRawInternal(), rawspeed::Rw2Decoder::decodeRawInternal(), rawspeed::OrfDecoder::getBitsPerPixel(), rawspeed::Rw2Decoder::getDefaultCrop(), rawspeed::DngDecoder::getTilingDescription(), rawspeed::ArwDecoder::GetWB(), rawspeed::DngDecoder::handleMetadata(), rawspeed::DngDecoder::parseACTIVEAREA(), rawspeed::DngDecoder::parseCFA(), and rawspeed::DngDecoder::setBlack().
|
inlinenodiscardinherited |
Definition at line 122 of file TiffIFD.h.
References getEntryRecursive().
Referenced by rawspeed::KdcDecoder::decodeMetaDataInternal(), and rawspeed::DngDecoder::isAppropriateDecoder().
|
privateinherited |
Definition at line 53 of file TiffIFD.cpp.
References add(), assert(), rawspeed::DNGPRIVATEDATA, rawspeed::EXIFIFDPOINTER, rawspeed::FUJI_RAW_IFD, rawspeed::ByteStream::getPosition(), rawspeed::MAKERNOTE, rawspeed::MAKERNOTE_ALT, parseMakerNote(), rawspeed::ByteStream::setPosition(), and rawspeed::SUBIFDS.
Referenced by TiffIFD().
|
privateinherited |
Definition at line 142 of file TiffIFD.cpp.
References TiffIFD(), assert(), rawspeed::big, rawspeed::TiffEntry::getData(), rawspeed::ByteStream::getPosition(), rawspeed::ByteStream::getRemainSize(), rawspeed::TiffEntry::getString(), rawspeed::ByteStream::getSubStream(), rawspeed::getTiffByteOrder(), rawspeed::ByteStream::hasPatternAt(), rawspeed::ByteStream::hasPrefix(), rawspeed::little, rawspeed::MAKE, rawspeed::DataBuffer::setByteOrder(), rawspeed::ByteStream::skipBytes(), rawspeed::ByteStream::skipPrefix(), TiffEntry, and rawspeed::trimSpaces().
Referenced by parseIFDEntry().
|
privateinherited |
Definition at line 283 of file TiffIFD.cpp.
References TiffIFD(), assert(), rawspeed::TiffIFD::Limits::Depth, and ThrowTPE.
Referenced by TiffIFD().
|
privateinherited |
Definition at line 258 of file TiffIFD.cpp.
References TiffIFD(), and parent.
Referenced by TiffIFD().
|
privateinherited |
Definition at line 59 of file TiffIFD.h.
Referenced by add(), getEntry(), getEntryRecursive(), getIFDsWithTag(), and hasEntry().
|
privateinherited |
Definition at line 50 of file TiffIFD.h.
Referenced by TiffIFD(), and getNextIFD().
|
privateinherited |
Definition at line 52 of file TiffIFD.h.
Referenced by TiffIFD(), and recursivelyIncrementSubIFDCount().
| const DataBuffer rawspeed::TiffRootIFD::rootBuffer |
Definition at line 142 of file TiffIFD.h.
Referenced by TiffRootIFD(), and rawspeed::TiffEntry::getRootIfdData().
|
privateinherited |
Definition at line 56 of file TiffIFD.h.
Referenced by checkSubIFDs().
|
privateinherited |
Definition at line 57 of file TiffIFD.h.
Referenced by checkSubIFDs().
|
privateinherited |
Definition at line 54 of file TiffIFD.h.
Referenced by add(), getEntryRecursive(), getIFDsWithTag(), and getSubIFDs().