RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
rawspeed::RawDecoder Class Referenceabstract

#include "decoders/RawDecoder.h"

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

Classes

struct  RawSlice

Public Member Functions

 RawDecoder (Buffer file)
virtual ~RawDecoder ()=default
void checkSupport (const CameraMetaData *meta)
RawImage decodeRaw ()
void decodeMetaData (const CameraMetaData *meta)
virtual TiffIFDgetRootIFD ()

Public Attributes

RawImage mRaw = RawImage::create()
bool failOnUnknown {false}
bool interpolateBadPixels {true}
bool applyStage1DngOpcodes {true}
bool applyCrop {true}
bool uncorrectedRawValues {false}
bool fujiRotate {true}
struct { 
   bool   quadrantMultipliers = true 
iiq
bool noSamples = false

Protected Member Functions

virtual RawImage decodeRawInternal ()=0
virtual void decodeMetaDataInternal (const CameraMetaData *meta)=0
virtual void checkSupportInternal (const CameraMetaData *meta)=0
bool handleCameraSupport (const CameraMetaData *meta, const std::string &make, const std::string &model, const std::string &mode)
bool checkCameraSupported (const CameraMetaData *meta, const std::string &make, const std::string &model, const std::string &mode)
virtual void setMetaData (const CameraMetaData *meta, const std::string &make, const std::string &model, const std::string &mode, int iso_speed=0)
virtual iRectangle2D getDefaultCrop ()
void decodeUncompressed (const TiffIFD *rawIFD, BitOrder order) const
virtual int getDecoderVersion () const =0

Protected Attributes

Buffer mFile
Hints hints

Detailed Description

Definition at line 37 of file RawDecoder.h.

Constructor & Destructor Documentation

◆ RawDecoder()

rawspeed::RawDecoder::RawDecoder ( Buffer file)
explicit

Definition at line 54 of file RawDecoder.cpp.

References mFile.

Referenced by rawspeed::AbstractTiffDecoder::AbstractTiffDecoder(), rawspeed::CrwDecoder::CrwDecoder(), rawspeed::MrwDecoder::MrwDecoder(), and rawspeed::NakedDecoder::NakedDecoder().

Here is the caller graph for this function:

◆ ~RawDecoder()

virtual rawspeed::RawDecoder::~RawDecoder ( )
virtualdefault

Member Function Documentation

◆ checkCameraSupported()

bool rawspeed::RawDecoder::checkCameraSupported ( const CameraMetaData * meta,
const std::string & make,
const std::string & model,
const std::string & mode )
protected

Definition at line 204 of file RawDecoder.cpp.

References assert(), rawspeed::Camera::decoderVersion, rawspeed::CameraMetaData::getCamera(), getDecoderVersion(), handleCameraSupport(), rawspeed::Camera::hints, hints, mRaw, and ThrowRDE.

Referenced by rawspeed::AbstractTiffDecoder::checkCameraSupported(), rawspeed::CrwDecoder::checkSupportInternal(), rawspeed::MosDecoder::checkSupportInternal(), rawspeed::MrwDecoder::checkSupportInternal(), and rawspeed::NakedDecoder::checkSupportInternal().

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

◆ checkSupport()

void rawspeed::RawDecoder::checkSupport ( const CameraMetaData * meta)

Definition at line 354 of file RawDecoder.cpp.

References checkSupportInternal(), and ThrowRDE.

Here is the call graph for this function:

◆ checkSupportInternal()

virtual void rawspeed::RawDecoder::checkSupportInternal ( const CameraMetaData * meta)
protectedpure virtual

Implemented in rawspeed::AbstractTiffDecoder, rawspeed::Cr2Decoder, rawspeed::CrwDecoder, rawspeed::DngDecoder, rawspeed::IiqDecoder, rawspeed::MosDecoder, rawspeed::MrwDecoder, rawspeed::NakedDecoder, rawspeed::NefDecoder, rawspeed::RafDecoder, rawspeed::Rw2Decoder, and rawspeed::SrwDecoder.

Referenced by checkSupport().

Here is the caller graph for this function:

◆ decodeMetaData()

void rawspeed::RawDecoder::decodeMetaData ( const CameraMetaData * meta)

Definition at line 342 of file RawDecoder.cpp.

References decodeMetaDataInternal(), and ThrowRDE.

Here is the call graph for this function:

◆ decodeMetaDataInternal()

virtual void rawspeed::RawDecoder::decodeMetaDataInternal ( const CameraMetaData * meta)
protectedpure virtual

◆ decodeRaw()

rawspeed::RawImage rawspeed::RawDecoder::decodeRaw ( )

Definition at line 320 of file RawDecoder.cpp.

References rawspeed::MSan::CheckMemIsInitialized(), decodeRawInternal(), rawspeed::RawImageData::fixBadPixels(), rawspeed::RawImageData::getByteDataAsUncroppedArray2DRef(), hints, interpolateBadPixels, rawspeed::RawImageData::metadata, rawspeed::ImageMetaData::pixelAspectRatio, and ThrowRDE.

Here is the call graph for this function:

◆ decodeRawInternal()

◆ decodeUncompressed()

void rawspeed::RawDecoder::decodeUncompressed ( const TiffIFD * rawIFD,
BitOrder order ) const
protected

Definition at line 56 of file RawDecoder.cpp.

References assert(), rawspeed::BITSPERSAMPLE, rawspeed::RawDecoder::RawSlice::count, rawspeed::TiffEntry::count, rawspeed::TiffIFD::getEntry(), rawspeed::TiffEntry::getU32(), rawspeed::RawDecoder::RawSlice::h, rawspeed::IMAGELENGTH, rawspeed::IMAGEWIDTH, rawspeed::implicit_cast(), rawspeed::little, mFile, mRaw, rawspeed::RawDecoder::RawSlice::offset, rawspeed::roundUpDivisionSafe(), rawspeed::ROWSPERSTRIP, s, rawspeed::STRIPBYTECOUNTS, rawspeed::STRIPOFFSETS, and ThrowRDE.

Referenced by rawspeed::PefDecoder::decodeRawInternal(), and rawspeed::SrwDecoder::decodeRawInternal().

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

◆ getDecoderVersion()

virtual int rawspeed::RawDecoder::getDecoderVersion ( ) const
nodiscardprotectedpure virtual

◆ getDefaultCrop()

rawspeed::iRectangle2D rawspeed::RawDecoder::getDefaultCrop ( )
protectedvirtual

Reimplemented in rawspeed::RafDecoder, and rawspeed::Rw2Decoder.

Definition at line 316 of file RawDecoder.cpp.

References mRaw.

Referenced by setMetaData().

Here is the caller graph for this function:

◆ getRootIFD()

virtual TiffIFD * rawspeed::RawDecoder::getRootIFD ( )
inlinevirtual

Reimplemented in rawspeed::AbstractTiffDecoder.

Definition at line 69 of file RawDecoder.h.

◆ handleCameraSupport()

bool rawspeed::RawDecoder::handleCameraSupport ( const CameraMetaData * meta,
const std::string & make,
const std::string & model,
const std::string & mode )
protected

Definition at line 146 of file RawDecoder.cpp.

References failOnUnknown, rawspeed::CameraMetaData::getCamera(), noSamples, rawspeed::Camera::supportStatus, ThrowRDE, rawspeed::Camera::UnknownCamera, rawspeed::WARNING, and rawspeed::writeLog().

Referenced by checkCameraSupported(), and setMetaData().

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

◆ setMetaData()

void rawspeed::RawDecoder::setMetaData ( const CameraMetaData * meta,
const std::string & make,
const std::string & model,
const std::string & mode,
int iso_speed = 0 )
protectedvirtual

Member Data Documentation

◆ applyCrop

bool rawspeed::RawDecoder::applyCrop {true}

◆ applyStage1DngOpcodes

bool rawspeed::RawDecoder::applyStage1DngOpcodes {true}

Definition at line 93 of file RawDecoder.h.

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

◆ failOnUnknown

bool rawspeed::RawDecoder::failOnUnknown {false}

Definition at line 85 of file RawDecoder.h.

Referenced by rawspeed::DngDecoder::checkSupportInternal(), and handleCameraSupport().

◆ fujiRotate

bool rawspeed::RawDecoder::fujiRotate {true}

Definition at line 105 of file RawDecoder.h.

Referenced by rawspeed::RafDecoder::applyCorrections().

◆ hints

◆ [struct]

struct { ... } rawspeed::RawDecoder::iiq

◆ interpolateBadPixels

bool rawspeed::RawDecoder::interpolateBadPixels {true}

Definition at line 89 of file RawDecoder.h.

Referenced by decodeRaw().

◆ mFile

Buffer rawspeed::RawDecoder::mFile
protected

◆ mRaw

RawImage rawspeed::RawDecoder::mRaw = RawImage::create()

Definition at line 74 of file RawDecoder.h.

Referenced by rawspeed::RafDecoder::applyCorrections(), checkCameraSupported(), rawspeed::IiqDecoder::checkSupportInternal(), rawspeed::RafDecoder::checkSupportInternal(), rawspeed::IiqDecoder::correctBadColumn(), rawspeed::IiqDecoder::CorrectQuadrantMultipliersCombined(), rawspeed::IiqDecoder::correctSensorDefects(), rawspeed::ArwDecoder::DecodeARW2(), rawspeed::DngDecoder::decodeBlackLevels(), rawspeed::Cr2Decoder::decodeCanonColorData(), rawspeed::NefDecoder::DecodeD100Uncompressed(), rawspeed::DngDecoder::decodeData(), rawspeed::ArwDecoder::DecodeLJpeg(), rawspeed::DngDecoder::decodeMaskedAreas(), rawspeed::ArwDecoder::decodeMetaDataInternal(), rawspeed::Cr2Decoder::decodeMetaDataInternal(), rawspeed::CrwDecoder::decodeMetaDataInternal(), rawspeed::DngDecoder::decodeMetaDataInternal(), rawspeed::ErfDecoder::decodeMetaDataInternal(), rawspeed::IiqDecoder::decodeMetaDataInternal(), rawspeed::KdcDecoder::decodeMetaDataInternal(), rawspeed::MosDecoder::decodeMetaDataInternal(), rawspeed::MrwDecoder::decodeMetaDataInternal(), rawspeed::NefDecoder::decodeMetaDataInternal(), rawspeed::OrfDecoder::decodeMetaDataInternal(), rawspeed::PefDecoder::decodeMetaDataInternal(), rawspeed::RafDecoder::decodeMetaDataInternal(), rawspeed::Rw2Decoder::decodeMetaDataInternal(), rawspeed::SrwDecoder::decodeMetaDataInternal(), rawspeed::ThreefrDecoder::decodeMetaDataInternal(), rawspeed::Cr2Decoder::decodeNewFormat(), rawspeed::NefDecoder::DecodeNikonSNef(), rawspeed::Cr2Decoder::decodeOldFormat(), rawspeed::ArwDecoder::decodeRawInternal(), rawspeed::CrwDecoder::decodeRawInternal(), rawspeed::DcrDecoder::decodeRawInternal(), rawspeed::DcsDecoder::decodeRawInternal(), rawspeed::DngDecoder::decodeRawInternal(), rawspeed::ErfDecoder::decodeRawInternal(), rawspeed::IiqDecoder::decodeRawInternal(), rawspeed::KdcDecoder::decodeRawInternal(), rawspeed::MefDecoder::decodeRawInternal(), rawspeed::MosDecoder::decodeRawInternal(), rawspeed::MrwDecoder::decodeRawInternal(), rawspeed::NakedDecoder::decodeRawInternal(), rawspeed::NefDecoder::decodeRawInternal(), rawspeed::OrfDecoder::decodeRawInternal(), rawspeed::PefDecoder::decodeRawInternal(), rawspeed::RafDecoder::decodeRawInternal(), rawspeed::Rw2Decoder::decodeRawInternal(), rawspeed::SrwDecoder::decodeRawInternal(), rawspeed::StiDecoder::decodeRawInternal(), rawspeed::ThreefrDecoder::decodeRawInternal(), rawspeed::Rw2Decoder::decodeRawV8(), rawspeed::NefDecoder::DecodeSNefUncompressed(), rawspeed::ArwDecoder::decodeSRF(), rawspeed::ArwDecoder::decodeTransitionalArw(), rawspeed::ArwDecoder::DecodeUncompressed(), rawspeed::NefDecoder::DecodeUncompressed(), rawspeed::StiDecoder::DecodeUncompressed(), rawspeed::ThreefrDecoder::DecodeUncompressed(), rawspeed::OrfDecoder::decodeUncompressed(), decodeUncompressed(), rawspeed::OrfDecoder::decodeUncompressedInterleaved(), getDefaultCrop(), rawspeed::Cr2Decoder::getHue(), rawspeed::DngDecoder::getTilingDescription(), rawspeed::ArwDecoder::GetWB(), rawspeed::Rw2Decoder::guessMode(), rawspeed::IiqDecoder::handleBadPixel(), rawspeed::DngDecoder::handleMetadata(), rawspeed::ArwDecoder::ParseA100WB(), rawspeed::DngDecoder::parseACTIVEAREA(), rawspeed::DngDecoder::parseCFA(), rawspeed::OrfDecoder::parseCFA(), rawspeed::Rw2Decoder::parseCFA(), rawspeed::DngDecoder::parseColorMatrix(), rawspeed::Cr2Decoder::parseWhiteBalance(), rawspeed::DngDecoder::parseWhiteBalance(), rawspeed::NefDecoder::parseWhiteBalance(), rawspeed::IiqDecoder::PhaseOneFlatField(), rawspeed::SimpleTiffDecoder::prepareForRawDecoding(), rawspeed::NefDecoder::readCoolpixSplitRaw(), rawspeed::DngDecoder::setBlack(), setMetaData(), and rawspeed::Cr2Decoder::sRawInterpolate().

◆ noSamples

bool rawspeed::RawDecoder::noSamples = false

Definition at line 117 of file RawDecoder.h.

Referenced by handleCameraSupport().

◆ quadrantMultipliers

bool rawspeed::RawDecoder::quadrantMultipliers = true

Definition at line 109 of file RawDecoder.h.

◆ uncorrectedRawValues


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