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

#include "parsers/TiffParser.h"

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

Public Types

using checker_t = bool (*)(const TiffRootIFD* root, Buffer data)
using constructor_t

Public Member Functions

 TiffParser (Buffer file)
std::unique_ptr< RawDecodergetDecoder (const CameraMetaData *meta=nullptr) override

Static Public Member Functions

static TiffRootIFDOwner parse (TiffIFD *parent, Buffer data)
static std::unique_ptr< RawDecodermakeDecoder (TiffRootIFDOwner root, Buffer data)
template<class Decoder>
static std::unique_ptr< RawDecoderconstructor (TiffRootIFDOwner &&root, Buffer data)

Static Public Attributes

static const std::array< std::pair< checker_t, constructor_t >, 17 > Map

Protected Attributes

Buffer mInput

Detailed Description

Definition at line 37 of file TiffParser.h.

Member Typedef Documentation

◆ checker_t

using rawspeed::TiffParser::checker_t = bool (*)(const TiffRootIFD* root, Buffer data)

Definition at line 55 of file TiffParser.h.

◆ constructor_t

Initial value:
std::unique_ptr<RawDecoder> (*)(TiffRootIFDOwner&& root,
Buffer data)
std::unique_ptr< TiffRootIFD > TiffRootIFDOwner
Definition TiffIFD.h:46

Definition at line 56 of file TiffParser.h.

Constructor & Destructor Documentation

◆ TiffParser()

rawspeed::TiffParser::TiffParser ( Buffer file)
explicit

Definition at line 60 of file TiffParser.cpp.

References rawspeed::RawParser::RawParser().

Here is the call graph for this function:

Member Function Documentation

◆ constructor()

template<class Decoder>
std::unique_ptr< RawDecoder > rawspeed::TiffParser::constructor ( TiffRootIFDOwner && root,
Buffer data )
static

Definition at line 125 of file TiffParser.cpp.

◆ getDecoder()

std::unique_ptr< RawDecoder > rawspeed::TiffParser::getDecoder ( const CameraMetaData * meta = nullptr)
overridevirtual

Reimplemented from rawspeed::RawParser.

Definition at line 62 of file TiffParser.cpp.

References makeDecoder(), rawspeed::RawParser::mInput, and parse().

Here is the call graph for this function:

◆ makeDecoder()

std::unique_ptr< RawDecoder > rawspeed::TiffParser::makeDecoder ( TiffRootIFDOwner root,
Buffer data )
static

Definition at line 101 of file TiffParser.cpp.

References assert(), Map, and ThrowTPE.

Referenced by getDecoder().

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

◆ parse()

TiffRootIFDOwner rawspeed::TiffParser::parse ( TiffIFD * parent,
Buffer data )
static

Definition at line 66 of file TiffParser.cpp.

References assert(), rawspeed::getTiffByteOrder(), rawspeed::ByteStream::getU16(), rawspeed::ByteStream::getU32(), rawspeed::DataBuffer::setByteOrder(), rawspeed::ByteStream::skipBytes(), ThrowTPE, and rawspeed::unknown.

Referenced by getDecoder(), LLVMFuzzerTestOneInput(), rawspeed::FiffParser::parseData(), and rawspeed::MrwDecoder::parseHeader().

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

Member Data Documentation

◆ Map

◆ mInput


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