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

#include "decoders/MosDecoder.h"

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

Public Member Functions

 MosDecoder (TiffRootIFDOwner &&rootIFD, Buffer file)
RawImage decodeRawInternal () override
void checkSupportInternal (const CameraMetaData *meta) override
void decodeMetaDataInternal (const CameraMetaData *meta) override
TiffIFDgetRootIFD () final
bool checkCameraSupported (const CameraMetaData *meta, const TiffID &id, const std::string &mode)
void setMetaData (const CameraMetaData *meta, const TiffID &id, const std::string &mode, int iso_speed)
void setMetaData (const CameraMetaData *meta, const std::string &mode, int iso_speed)
virtual void setMetaData (const CameraMetaData *meta, const std::string &make, const std::string &model, const std::string &mode, int iso_speed=0)
const TiffIFDgetIFDWithLargestImage (TiffTag filter=TiffTag::IMAGEWIDTH) const
void checkSupport (const CameraMetaData *meta)
RawImage decodeRaw ()
void decodeMetaData (const CameraMetaData *meta)

Static Public Member Functions

static bool isAppropriateDecoder (const TiffRootIFD *rootIFD, Buffer file)

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 checkCameraSupported (const CameraMetaData *meta, const std::string &make, const std::string &model, const std::string &mode)
bool handleCameraSupport (const CameraMetaData *meta, const std::string &make, const std::string &model, const std::string &mode)
virtual iRectangle2D getDefaultCrop ()
void decodeUncompressed (const TiffIFD *rawIFD, BitOrder order) const

Protected Attributes

TiffRootIFDOwner mRootIFD
Buffer mFile
Hints hints

Private Member Functions

int getDecoderVersion () const override
virtual void anchor () const

Static Private Member Functions

static std::string getXMPTag (std::string_view xmp, std::string_view tag)

Private Attributes

std::string make
std::string model

Detailed Description

Definition at line 35 of file MosDecoder.h.

Constructor & Destructor Documentation

◆ MosDecoder()

rawspeed::MosDecoder::MosDecoder ( TiffRootIFDOwner && rootIFD,
Buffer file )

Definition at line 76 of file MosDecoder.cpp.

References rawspeed::AbstractTiffDecoder::AbstractTiffDecoder(), rawspeed::MAKE, and rawspeed::AbstractTiffDecoder::mRootIFD.

Here is the call graph for this function:

Member Function Documentation

◆ anchor()

void rawspeed::AbstractTiffDecoder::anchor ( ) const
privatevirtualinherited

Reimplemented in rawspeed::SimpleTiffDecoder.

Definition at line 31 of file AbstractTiffDecoder.cpp.

◆ checkCameraSupported() [1/2]

bool rawspeed::AbstractTiffDecoder::checkCameraSupported ( const CameraMetaData * meta,
const TiffID & id,
const std::string & mode )
inlineinherited

Definition at line 48 of file AbstractTiffDecoder.h.

References rawspeed::RawDecoder::checkCameraSupported().

Referenced by checkSupportInternal(), rawspeed::Cr2Decoder::checkSupportInternal(), rawspeed::DngDecoder::checkSupportInternal(), rawspeed::IiqDecoder::checkSupportInternal(), rawspeed::NefDecoder::checkSupportInternal(), rawspeed::RafDecoder::checkSupportInternal(), rawspeed::Rw2Decoder::checkSupportInternal(), rawspeed::SrwDecoder::checkSupportInternal(), and rawspeed::Rw2Decoder::decodeMetaDataInternal().

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

◆ checkCameraSupported() [2/2]

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::MosDecoder::checkSupportInternal ( const CameraMetaData * meta)
overridevirtual

Reimplemented from rawspeed::AbstractTiffDecoder.

Definition at line 149 of file MosDecoder.cpp.

References rawspeed::RawDecoder::checkCameraSupported(), make, and model.

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::MosDecoder::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::MosDecoder::getDecoderVersion ( ) const
inlinenodiscardoverrideprivatevirtual

Implements rawspeed::RawDecoder.

Definition at line 45 of file MosDecoder.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:

◆ getIFDWithLargestImage()

const TiffIFD * rawspeed::AbstractTiffDecoder::getIFDWithLargestImage ( TiffTag filter = TiffTag::IMAGEWIDTH) const
nodiscardinherited

Definition at line 37 of file AbstractTiffDecoder.cpp.

References rawspeed::TiffEntry::count, rawspeed::TiffEntry::getU32(), rawspeed::IMAGEWIDTH, mRootIFD, and ThrowRDE.

Referenced by rawspeed::NefDecoder::DecodeSNefUncompressed(), rawspeed::NefDecoder::DecodeUncompressed(), rawspeed::NefDecoder::getBitPerSample(), rawspeed::NefDecoder::getMode(), and rawspeed::SimpleTiffDecoder::prepareForRawDecoding().

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

◆ getRootIFD()

TiffIFD * rawspeed::AbstractTiffDecoder::getRootIFD ( )
inlinefinalvirtualinherited

Reimplemented from rawspeed::RawDecoder.

Definition at line 46 of file AbstractTiffDecoder.h.

References mRootIFD.

Referenced by rawspeed::PefDecoder::decodeRawInternal().

Here is the caller graph for this function:

◆ getXMPTag()

std::string rawspeed::MosDecoder::getXMPTag ( std::string_view xmp,
std::string_view tag )
staticprivate

Definition at line 94 of file MosDecoder.cpp.

References rawspeed::implicit_cast(), and ThrowRDE.

Here is the call graph for this function:

◆ 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:

◆ isAppropriateDecoder()

bool rawspeed::MosDecoder::isAppropriateDecoder ( const TiffRootIFD * rootIFD,
Buffer file )
static

Definition at line 55 of file MosDecoder.cpp.

References rawspeed::TiffIFD::getEntryRecursive(), rawspeed::TiffRootIFD::getID(), rawspeed::TiffEntry::getString(), rawspeed::IiqDecoder::isAppropriateDecoder(), make, rawspeed::SOFTWARE, and rawspeed::trimSpaces().

Here is the call graph for this function:

◆ setMetaData() [1/3]

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

Reimplemented from rawspeed::RawDecoder.

Definition at line 141 of file RawDecoder.cpp.

◆ setMetaData() [2/3]

void rawspeed::AbstractTiffDecoder::setMetaData ( const CameraMetaData * meta,
const std::string & mode,
int iso_speed )
inlineinherited

Definition at line 60 of file AbstractTiffDecoder.h.

References mRootIFD, and setMetaData().

Here is the call graph for this function:

◆ setMetaData() [3/3]

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

◆ make

std::string rawspeed::MosDecoder::make
private

Definition at line 46 of file MosDecoder.h.

Referenced by checkSupportInternal(), decodeMetaDataInternal(), and isAppropriateDecoder().

◆ mFile

Buffer rawspeed::RawDecoder::mFile
protectedinherited

◆ model

std::string rawspeed::MosDecoder::model
private

Definition at line 47 of file MosDecoder.h.

Referenced by checkSupportInternal(), and decodeMetaDataInternal().

◆ 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

TiffRootIFDOwner rawspeed::AbstractTiffDecoder::mRootIFD
protectedinherited

Definition at line 40 of file AbstractTiffDecoder.h.

Referenced by AbstractTiffDecoder(), rawspeed::DngDecoder::DngDecoder(), rawspeed::MosDecoder::MosDecoder(), checkSupportInternal(), rawspeed::Cr2Decoder::checkSupportInternal(), rawspeed::DngDecoder::checkSupportInternal(), rawspeed::IiqDecoder::checkSupportInternal(), rawspeed::NefDecoder::checkSupportInternal(), rawspeed::RafDecoder::checkSupportInternal(), rawspeed::Rw2Decoder::checkSupportInternal(), rawspeed::SrwDecoder::checkSupportInternal(), rawspeed::Cr2Decoder::decodeCanonColorData(), rawspeed::NefDecoder::DecodeD100Uncompressed(), rawspeed::DngDecoder::decodeData(), rawspeed::ArwDecoder::decodeMetaDataInternal(), rawspeed::Cr2Decoder::decodeMetaDataInternal(), rawspeed::DngDecoder::decodeMetaDataInternal(), rawspeed::ErfDecoder::decodeMetaDataInternal(), rawspeed::KdcDecoder::decodeMetaDataInternal(), rawspeed::MosDecoder::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::Cr2Decoder::decodeRawInternal(), rawspeed::DcrDecoder::decodeRawInternal(), rawspeed::DcsDecoder::decodeRawInternal(), rawspeed::DngDecoder::decodeRawInternal(), rawspeed::KdcDecoder::decodeRawInternal(), rawspeed::MosDecoder::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::ArwDecoder::decodeSRF(), rawspeed::ArwDecoder::decodeTransitionalArw(), rawspeed::NefDecoder::DecodeUncompressed(), rawspeed::OrfDecoder::getBitsPerPixel(), rawspeed::RafDecoder::getDefaultCrop(), rawspeed::NefDecoder::getExtendedMode(), rawspeed::Cr2Decoder::getHue(), getIFDWithLargestImage(), rawspeed::KdcDecoder::getInputBuffer(), rawspeed::SrwDecoder::getMode(), rawspeed::Rw2Decoder::getRaw(), getRootIFD(), rawspeed::Cr2Decoder::getSubSampling(), rawspeed::ArwDecoder::GetWB(), rawspeed::OrfDecoder::handleSlices(), rawspeed::RafDecoder::isCompressed(), rawspeed::Cr2Decoder::isSubSampled(), rawspeed::ArwDecoder::ParseA100WB(), rawspeed::OrfDecoder::parseCFA(), rawspeed::Rw2Decoder::parseCFA(), rawspeed::DngDecoder::parseColorMatrix(), rawspeed::Cr2Decoder::parseWhiteBalance(), rawspeed::DngDecoder::parseWhiteBalance(), rawspeed::NefDecoder::parseWhiteBalance(), setMetaData(), and rawspeed::Cr2Decoder::sRawInterpolate().

◆ 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: