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

#include "common/DngOpcodes.h"

Collaboration diagram for rawspeed::DngOpcodes:
[legend]

Classes

class  DngOpcode
class  FixBadPixelsConstant
class  ROIOpcode
class  DummyROIOpcode
class  FixBadPixelsList
class  TrimBounds
class  PixelOpcode
class  LookupOpcode
class  TableMap
class  PolynomialMap
class  DeltaRowOrColBase
class  DeltaRowOrCol
class  OffsetPerRowOrCol
class  ScalePerRowOrCol

Public Member Functions

 DngOpcodes (const RawImage &ri, ByteStream bs)
 ~DngOpcodes ()
void applyOpCodes (const RawImage &ri) const

Private Types

using constructor_t

Static Private Member Functions

template<class Opcode>
static std::unique_ptr< DngOpcodeconstructor (const RawImage &ri, ByteStream &bs, iRectangle2D &integrated_subimg)
static Optional< std::pair< const char *, DngOpcodes::constructor_t > > Map (uint32_t code)

Private Attributes

std::vector< std::unique_ptr< DngOpcode > > opcodes

Detailed Description

Definition at line 36 of file DngOpcodes.h.

Member Typedef Documentation

◆ constructor_t

Initial value:
std::unique_ptr<DngOpcode> (*)(
const RawImage& ri, ByteStream& bs, iRectangle2D& integrated_subimg)

Definition at line 66 of file DngOpcodes.h.

Constructor & Destructor Documentation

◆ DngOpcodes()

rawspeed::DngOpcodes::DngOpcodes ( const RawImage & ri,
ByteStream bs )

Definition at line 672 of file DngOpcodes.cpp.

References assert(), rawspeed::big, rawspeed::ByteStream::getPosition(), rawspeed::ByteStream::getRemainSize(), rawspeed::ByteStream::getStream(), rawspeed::ByteStream::getU32(), Map(), opcodes, rawspeed::DataBuffer::setByteOrder(), rawspeed::ByteStream::setPosition(), rawspeed::ByteStream::skipBytes(), and ThrowRDE.

Referenced by rawspeed::DngOpcodes::FixBadPixelsConstant::FixBadPixelsConstant(), rawspeed::DngOpcodes::FixBadPixelsList::FixBadPixelsList(), and rawspeed::DngOpcodes::ROIOpcode::ROIOpcode().

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

◆ ~DngOpcodes()

rawspeed::DngOpcodes::~DngOpcodes ( )
default

Member Function Documentation

◆ applyOpCodes()

void rawspeed::DngOpcodes::applyOpCodes ( const RawImage & ri) const

Definition at line 736 of file DngOpcodes.cpp.

References opcodes.

Referenced by rawspeed::DngDecoder::handleMetadata(), and LLVMFuzzerTestOneInput().

Here is the caller graph for this function:

◆ constructor()

template<class Opcode>
std::unique_ptr< DngOpcodes::DngOpcode > rawspeed::DngOpcodes::constructor ( const RawImage & ri,
ByteStream & bs,
iRectangle2D & integrated_subimg )
staticprivate

Definition at line 745 of file DngOpcodes.cpp.

Referenced by Map().

Here is the caller graph for this function:

◆ Map()

Optional< std::pair< const char *, DngOpcodes::constructor_t > > rawspeed::DngOpcodes::Map ( uint32_t code)
staticprivate

Definition at line 753 of file DngOpcodes.cpp.

References constructor().

Referenced by DngOpcodes().

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

Member Data Documentation

◆ opcodes

std::vector<std::unique_ptr<DngOpcode> > rawspeed::DngOpcodes::opcodes
private

Definition at line 45 of file DngOpcodes.h.

Referenced by DngOpcodes(), and applyOpCodes().


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