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

#include "decoders/CrwDecoder.h"

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

Public Member Functions

 CrwDecoder (std::unique_ptr< const CiffIFD > rootIFD, Buffer file)
RawImage decodeRawInternal () override
void checkSupportInternal (const CameraMetaData *meta) override
void decodeMetaDataInternal (const CameraMetaData *meta) override
void checkSupport (const CameraMetaData *meta)
RawImage decodeRaw ()
void decodeMetaData (const CameraMetaData *meta)
virtual TiffIFDgetRootIFD ()

Static Public Member Functions

static bool isCRW (Buffer input)

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

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

Protected Attributes

Buffer mFile
Hints hints

Private Member Functions

int getDecoderVersion () const override

Static Private Member Functions

static float canonEv (int64_t in)

Private Attributes

std::unique_ptr< const CiffIFDmRootIFD

Detailed Description

Definition at line 35 of file CrwDecoder.h.

Constructor & Destructor Documentation

◆ CrwDecoder()

rawspeed::CrwDecoder::CrwDecoder ( std::unique_ptr< const CiffIFD > rootIFD,
Buffer file )

Definition at line 68 of file CrwDecoder.cpp.

References rawspeed::RawDecoder::RawDecoder(), and mRootIFD.

Here is the call graph for this function:

Member Function Documentation

◆ canonEv()

float RAWSPEED_READNONE rawspeed::CrwDecoder::canonEv ( int64_t in)
staticprivate

Definition at line 140 of file CrwDecoder.cpp.

References rawspeed::implicit_cast(), and rawspeed::val.

Referenced by decodeMetaDataInternal().

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

◆ checkCameraSupported()

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

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)
inherited

Definition at line 354 of file RawDecoder.cpp.

References checkSupportInternal(), and ThrowRDE.

Here is the call graph for this function:

◆ checkSupportInternal()

void rawspeed::CrwDecoder::checkSupportInternal ( const CameraMetaData * meta)
overridevirtual

Implements rawspeed::RawDecoder.

Definition at line 125 of file CrwDecoder.cpp.

References rawspeed::RawDecoder::checkCameraSupported(), rawspeed::MAKEMODEL, mRootIFD, and ThrowRDE.

Here is the call graph for this function:

◆ decodeMetaData()

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

Definition at line 342 of file RawDecoder.cpp.

References decodeMetaDataInternal(), and ThrowRDE.

Here is the call graph for this function:

◆ decodeMetaDataInternal()

void rawspeed::CrwDecoder::decodeMetaDataInternal ( const CameraMetaData * meta)
overridevirtual

◆ decodeRaw()

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

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
protectedinherited

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()

int rawspeed::CrwDecoder::getDecoderVersion ( ) const
inlinenodiscardoverrideprivatevirtual

Implements rawspeed::RawDecoder.

Definition at line 46 of file CrwDecoder.h.

◆ getDefaultCrop()

rawspeed::iRectangle2D rawspeed::RawDecoder::getDefaultCrop ( )
protectedvirtualinherited

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 ( )
inlinevirtualinherited

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 )
protectedinherited

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:

◆ isCRW()

bool rawspeed::CrwDecoder::isCRW ( Buffer input)
static

Definition at line 60 of file CrwDecoder.cpp.

References rawspeed::Buffer::begin(), and rawspeed::Buffer::getSubView().

Referenced by rawspeed::CiffParser::parseData().

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 )
protectedvirtualinherited

Member Data Documentation

◆ applyCrop

bool rawspeed::RawDecoder::applyCrop {true}
inherited

◆ applyStage1DngOpcodes

bool rawspeed::RawDecoder::applyStage1DngOpcodes {true}
inherited

Definition at line 93 of file RawDecoder.h.

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

◆ failOnUnknown

bool rawspeed::RawDecoder::failOnUnknown {false}
inherited

Definition at line 85 of file RawDecoder.h.

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

◆ fujiRotate

bool rawspeed::RawDecoder::fujiRotate {true}
inherited

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}
inherited

Definition at line 89 of file RawDecoder.h.

Referenced by decodeRaw().

◆ mFile

Buffer rawspeed::RawDecoder::mFile
protectedinherited

◆ mRaw

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

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().

◆ mRootIFD

std::unique_ptr<const CiffIFD> rawspeed::CrwDecoder::mRootIFD
private

◆ noSamples

bool rawspeed::RawDecoder::noSamples = false
inherited

Definition at line 117 of file RawDecoder.h.

Referenced by handleCameraSupport().

◆ quadrantMultipliers

bool rawspeed::RawDecoder::quadrantMultipliers = true
inherited

Definition at line 109 of file RawDecoder.h.

◆ uncorrectedRawValues


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