RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
rawspeed::TiffEntryWithData Class Referencefinal

#include "tiff/TiffEntry.h"

Inheritance diagram for rawspeed::TiffEntryWithData:
[legend]
Collaboration diagram for rawspeed::TiffEntryWithData:
[legend]

Public Member Functions

 TiffEntryWithData (TiffIFD *parent, TiffTag tag, TiffDataType type, uint32_t count, Buffer mirror)
bool RAWSPEED_READONLY isFloat () const
bool RAWSPEED_READONLY isRational () const
bool RAWSPEED_READONLY isSRational () const
bool RAWSPEED_READONLY isInt () const
bool RAWSPEED_READONLY isString () const
uint8_t getByte (uint32_t index=0) const
uint32_t getU32 (uint32_t index=0) const
int32_t getI32 (uint32_t index=0) const
uint16_t getU16 (uint32_t index=0) const
int16_t getI16 (uint32_t index=0) const
NotARational< uint32_tgetRational (uint32_t index=0) const
NotARational< int32_tgetSRational (uint32_t index=0) const
float getFloat (uint32_t index=0) const
std::string getString () const
std::vector< uint16_tgetU16Array (uint32_t count_) const
std::vector< uint32_tgetU32Array (uint32_t count_) const
std::vector< floatgetFloatArray (uint32_t count_) const
std::vector< NotARational< uint32_t > > getRationalArray (uint32_t count_) const
std::vector< NotARational< int32_t > > getSRationalArray (uint32_t count_) const
ByteStream getData () const
DataBuffer getRootIfdData () const

Public Attributes

TiffTag tag
TiffDataType type
uint32_t count

Protected Member Functions

void setData (ByteStream data_)

Static Protected Attributes

static const std::array< uint32_t, 14 > datashifts

Private Member Functions

void anchor () const override
template<typename T, T(TiffEntry::*)(uint32_t index) const getter>
std::vector< TgetArray (uint32_t count_) const

Private Attributes

const std::vector< uint8_t > data
TiffIFDparent

Detailed Description

Definition at line 137 of file TiffEntry.h.

Constructor & Destructor Documentation

◆ TiffEntryWithData()

rawspeed::TiffEntryWithData::TiffEntryWithData ( TiffIFD * parent,
TiffTag tag,
TiffDataType type,
uint32_t count,
Buffer mirror )

Definition at line 118 of file TiffEntry.cpp.

References rawspeed::TiffEntry::TiffEntry(), rawspeed::TiffEntry::count, data, rawspeed::implicit_cast(), rawspeed::little, rawspeed::TiffEntry::setData(), and rawspeed::TiffEntry::TiffIFD.

Here is the call graph for this function:

Member Function Documentation

◆ anchor()

void rawspeed::TiffEntryWithData::anchor ( ) const
overrideprivatevirtual

Reimplemented from rawspeed::TiffEntry.

Definition at line 52 of file TiffEntry.cpp.

◆ getArray()

template<typename T, T(TiffEntry::*)(uint32_t index) const getter>
std::vector< T > rawspeed::TiffEntry::getArray ( uint32_t count_) const
inlinenodiscardprivateinherited

Definition at line 71 of file TiffEntry.h.

Referenced by getFloatArray(), getRationalArray(), getSRationalArray(), getU16Array(), and getU32Array().

Here is the caller graph for this function:

◆ getByte()

uint8_t rawspeed::TiffEntry::getByte ( uint32_t index = 0) const
nodiscardinherited

Definition at line 179 of file TiffEntry.cpp.

References rawspeed::BYTE, data, tag, ThrowTPE, type, and rawspeed::UNDEFINED.

Referenced by rawspeed::KdcDecoder::decodeMetaDataInternal(), rawspeed::RafDecoder::decodeRawInternal(), rawspeed::DngDecoder::parseCFA(), rawspeed::OrfDecoder::parseCFA(), and rawspeed::NefDecoder::parseWhiteBalance().

Here is the caller graph for this function:

◆ getData()

ByteStream rawspeed::TiffEntry::getData ( ) const
inlinenodiscardinherited

◆ getFloat()

◆ getFloatArray()

std::vector< float > rawspeed::TiffEntry::getFloatArray ( uint32_t count_) const
inlinenodiscardinherited

Definition at line 115 of file TiffEntry.h.

References getArray().

Here is the call graph for this function:

◆ getI16()

int16_t rawspeed::TiffEntry::getI16 ( uint32_t index = 0) const
nodiscardinherited

Definition at line 195 of file TiffEntry.cpp.

References data, rawspeed::SSHORT, tag, ThrowTPE, type, and rawspeed::UNDEFINED.

Referenced by getI32().

Here is the caller graph for this function:

◆ getI32()

int32_t rawspeed::TiffEntry::getI32 ( uint32_t index = 0) const
nodiscardinherited

Definition at line 224 of file TiffEntry.cpp.

References data, getI16(), rawspeed::SLONG, rawspeed::SRATIONAL, rawspeed::SSHORT, tag, ThrowTPE, type, and rawspeed::UNDEFINED.

Referenced by getFloat(), and getSRational().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getRational()

NotARational< uint32_t > rawspeed::TiffEntry::getRational ( uint32_t index = 0) const
nodiscardinherited

Definition at line 235 of file TiffEntry.cpp.

References getU32(), isRational(), rawspeed::RATIONAL, ThrowTPE, and type.

Referenced by getFloat(), and getRationalArray().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getRationalArray()

std::vector< NotARational< uint32_t > > rawspeed::TiffEntry::getRationalArray ( uint32_t count_) const
inlinenodiscardinherited

Definition at line 120 of file TiffEntry.h.

References getArray(), and getRational().

Referenced by rawspeed::DngDecoder::handleMetadata().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getRootIfdData()

DataBuffer rawspeed::TiffEntry::getRootIfdData ( ) const
nodiscardinherited

Definition at line 308 of file TiffEntry.cpp.

References assert(), parent, rawspeed::TiffRootIFD::rootBuffer, ThrowTPE, and TiffIFD.

Referenced by rawspeed::KdcDecoder::decodeMetaDataInternal(), rawspeed::OrfDecoder::decodeMetaDataInternal(), rawspeed::DcrDecoder::decodeRawInternal(), rawspeed::KdcDecoder::decodeRawInternal(), rawspeed::RafDecoder::decodeRawInternal(), rawspeed::OrfDecoder::getBitsPerPixel(), rawspeed::ArwDecoder::GetWB(), and rawspeed::OrfDecoder::handleSlices().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getSRational()

NotARational< int32_t > rawspeed::TiffEntry::getSRational ( uint32_t index = 0) const
nodiscardinherited

Definition at line 249 of file TiffEntry.cpp.

References getI32(), isSRational(), rawspeed::SRATIONAL, ThrowTPE, and type.

Referenced by getFloat(), and getSRationalArray().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getSRationalArray()

std::vector< NotARational< int32_t > > rawspeed::TiffEntry::getSRationalArray ( uint32_t count_) const
inlinenodiscardinherited

Definition at line 125 of file TiffEntry.h.

References getArray(), and getSRational().

Referenced by rawspeed::DngDecoder::parseColorMatrix().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getString()

std::string rawspeed::TiffEntry::getString ( ) const
nodiscardinherited

Definition at line 296 of file TiffEntry.cpp.

References rawspeed::ASCII, rawspeed::Buffer::begin(), rawspeed::BYTE, data, rawspeed::Buffer::end(), ThrowTPE, and type.

Referenced by rawspeed::MosDecoder::isAppropriateDecoder(), and rawspeed::TiffIFD::parseMakerNote().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getU16()

◆ getU16Array()

std::vector< uint16_t > rawspeed::TiffEntry::getU16Array ( uint32_t count_) const
inlinenodiscardinherited

Definition at line 107 of file TiffEntry.h.

References getArray().

Referenced by rawspeed::DcrDecoder::decodeRawInternal(), rawspeed::DcsDecoder::decodeRawInternal(), and rawspeed::DngDecoder::handleMetadata().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getU32()

uint32_t rawspeed::TiffEntry::getU32 ( uint32_t index = 0) const
nodiscardinherited

Definition at line 203 of file TiffEntry.cpp.

References rawspeed::BYTE, data, getU16(), rawspeed::LONG, rawspeed::OFFSET, rawspeed::RATIONAL, rawspeed::SHORT, tag, ThrowTPE, type, and rawspeed::UNDEFINED.

Referenced by rawspeed::DngDecoder::decodeBlackLevels(), rawspeed::DngDecoder::decodeData(), rawspeed::ArwDecoder::DecodeLJpeg(), rawspeed::KdcDecoder::decodeMetaDataInternal(), rawspeed::OrfDecoder::decodeMetaDataInternal(), rawspeed::PefDecoder::decodeMetaDataInternal(), rawspeed::RafDecoder::decodeMetaDataInternal(), rawspeed::Cr2Decoder::decodeNewFormat(), rawspeed::ArwDecoder::decodeRawInternal(), rawspeed::DcrDecoder::decodeRawInternal(), rawspeed::DngDecoder::decodeRawInternal(), rawspeed::KdcDecoder::decodeRawInternal(), rawspeed::MosDecoder::decodeRawInternal(), rawspeed::NefDecoder::decodeRawInternal(), rawspeed::PefDecoder::decodeRawInternal(), rawspeed::RafDecoder::decodeRawInternal(), rawspeed::Rw2Decoder::decodeRawInternal(), rawspeed::SrwDecoder::decodeRawInternal(), rawspeed::ArwDecoder::decodeSRF(), rawspeed::ArwDecoder::decodeTransitionalArw(), rawspeed::ArwDecoder::DecodeUncompressed(), rawspeed::NefDecoder::DecodeUncompressed(), rawspeed::StiDecoder::DecodeUncompressed(), rawspeed::ThreefrDecoder::DecodeUncompressed(), rawspeed::RawDecoder::decodeUncompressed(), rawspeed::OrfDecoder::getBitsPerPixel(), getFloat(), rawspeed::AbstractTiffDecoder::getIFDWithLargestImage(), getRational(), rawspeed::DngDecoder::getTilingDescription(), rawspeed::ArwDecoder::GetWB(), rawspeed::OrfDecoder::handleSlices(), rawspeed::Cr2Decoder::isSubSampled(), rawspeed::NefDecoder::NEFIsUncompressed(), rawspeed::NefDecoder::NEFIsUncompressedRGB(), rawspeed::DngDecoder::parseCFA(), and rawspeed::Cr2Decoder::parseWhiteBalance().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getU32Array()

std::vector< uint32_t > rawspeed::TiffEntry::getU32Array ( uint32_t count_) const
inlinenodiscardinherited

Definition at line 111 of file TiffEntry.h.

References getArray().

Referenced by rawspeed::DngDecoder::decodeMaskedAreas(), and rawspeed::DngDecoder::parseACTIVEAREA().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isFloat()

bool RAWSPEED_READONLY rawspeed::TiffEntry::isFloat ( ) const
nodiscardinherited

Definition at line 138 of file TiffEntry.cpp.

References rawspeed::DOUBLE, rawspeed::FLOAT, rawspeed::LONG, rawspeed::RATIONAL, rawspeed::SHORT, rawspeed::SLONG, rawspeed::SRATIONAL, rawspeed::SSHORT, and type.

Referenced by getFloat().

Here is the caller graph for this function:

◆ isInt()

bool RAWSPEED_READONLY rawspeed::TiffEntry::isInt ( ) const
nodiscardinherited

Definition at line 129 of file TiffEntry.cpp.

References rawspeed::BYTE, rawspeed::LONG, rawspeed::SHORT, and type.

Referenced by rawspeed::DngDecoder::decodeData().

Here is the caller graph for this function:

◆ isRational()

bool RAWSPEED_READONLY rawspeed::TiffEntry::isRational ( ) const
nodiscardinherited

Definition at line 155 of file TiffEntry.cpp.

References rawspeed::LONG, rawspeed::RATIONAL, rawspeed::SHORT, and type.

Referenced by getRational().

Here is the caller graph for this function:

◆ isSRational()

bool RAWSPEED_READONLY rawspeed::TiffEntry::isSRational ( ) const
nodiscardinherited

Definition at line 167 of file TiffEntry.cpp.

References rawspeed::SLONG, rawspeed::SRATIONAL, rawspeed::SSHORT, and type.

Referenced by getSRational().

Here is the caller graph for this function:

◆ isString()

bool RAWSPEED_READONLY rawspeed::TiffEntry::isString ( ) const
nodiscardinherited

Definition at line 134 of file TiffEntry.cpp.

References rawspeed::ASCII, and type.

◆ setData()

void rawspeed::TiffEntry::setData ( ByteStream data_)
protectedinherited

Definition at line 116 of file TiffEntry.cpp.

References data.

Referenced by rawspeed::TiffEntryWithData::TiffEntryWithData().

Here is the caller graph for this function:

Member Data Documentation

◆ count

uint32_t rawspeed::TiffEntry::count
inherited

Definition at line 84 of file TiffEntry.h.

Referenced by TiffEntry(), TiffEntry(), rawspeed::TiffEntryWithData::TiffEntryWithData(), rawspeed::DngDecoder::decodeBlackLevels(), rawspeed::DngDecoder::decodeData(), rawspeed::ArwDecoder::DecodeLJpeg(), rawspeed::DngDecoder::decodeMaskedAreas(), rawspeed::ErfDecoder::decodeMetaDataInternal(), rawspeed::KdcDecoder::decodeMetaDataInternal(), rawspeed::NefDecoder::decodeMetaDataInternal(), rawspeed::OrfDecoder::decodeMetaDataInternal(), rawspeed::PefDecoder::decodeMetaDataInternal(), rawspeed::RafDecoder::decodeMetaDataInternal(), rawspeed::SrwDecoder::decodeMetaDataInternal(), rawspeed::ThreefrDecoder::decodeMetaDataInternal(), rawspeed::NefDecoder::DecodeNikonSNef(), rawspeed::ArwDecoder::decodeRawInternal(), rawspeed::DcrDecoder::decodeRawInternal(), rawspeed::DcsDecoder::decodeRawInternal(), rawspeed::NefDecoder::decodeRawInternal(), rawspeed::PefDecoder::decodeRawInternal(), rawspeed::RafDecoder::decodeRawInternal(), rawspeed::Rw2Decoder::decodeRawInternal(), rawspeed::SrwDecoder::decodeRawInternal(), rawspeed::NefDecoder::DecodeUncompressed(), rawspeed::RawDecoder::decodeUncompressed(), rawspeed::anonymous_namespace{Cr2Decoder.cpp}::deduceColorDataFormat(), rawspeed::AbstractTiffDecoder::getIFDWithLargestImage(), rawspeed::Cr2Decoder::getSubSampling(), rawspeed::DngDecoder::getTilingDescription(), rawspeed::ArwDecoder::GetWB(), rawspeed::DngDecoder::handleMetadata(), rawspeed::OrfDecoder::handleSlices(), rawspeed::DngDecoder::parseACTIVEAREA(), rawspeed::DngDecoder::parseCFA(), rawspeed::OrfDecoder::parseCFA(), rawspeed::Rw2Decoder::parseCFA(), rawspeed::DngDecoder::parseColorMatrix(), rawspeed::Cr2Decoder::parseWhiteBalance(), rawspeed::DngDecoder::parseWhiteBalance(), and rawspeed::NefDecoder::parseWhiteBalance().

◆ data

const std::vector<uint8_t> rawspeed::TiffEntryWithData::data
private

Definition at line 138 of file TiffEntry.h.

Referenced by TiffEntryWithData().

◆ datashifts

const std::array< uint32_t, 14 > rawspeed::TiffEntry::datashifts
staticprotectedinherited
Initial value:
= {0, 0, 0, 1, 2, 3, 0,
0, 1, 2, 3, 2, 3, 2}

Definition at line 134 of file TiffEntry.h.

Referenced by TiffEntry(), and TiffEntry().

◆ parent

TiffIFD* rawspeed::TiffEntry::parent
privateinherited

Definition at line 63 of file TiffEntry.h.

Referenced by TiffEntry(), TiffEntry(), and getRootIfdData().

◆ tag

TiffTag rawspeed::TiffEntry::tag
inherited

Definition at line 82 of file TiffEntry.h.

Referenced by TiffEntry(), TiffEntry(), getByte(), getFloat(), getI16(), getI32(), getU16(), and getU32().

◆ type


The documentation for this class was generated from the following files: