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

#include "decompressors/SamsungV0Decompressor.h"

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

Public Member Functions

 SamsungV0Decompressor (const RawImage &image, ByteStream bso, ByteStream bsr)
void decompress () const

Protected Attributes

RawImage mRaw

Private Member Functions

void computeStripes (ByteStream bso, ByteStream bsr)
void decompressStrip (int row, ByteStream bs) const

Static Private Member Functions

static int32_t calcAdj (BitStreamerMSB32 &bits, int b)

Private Attributes

std::vector< ByteStreamstripes

Detailed Description

Definition at line 34 of file SamsungV0Decompressor.h.

Constructor & Destructor Documentation

◆ SamsungV0Decompressor()

rawspeed::SamsungV0Decompressor::SamsungV0Decompressor ( const RawImage & image,
ByteStream bso,
ByteStream bsr )

Definition at line 44 of file SamsungV0Decompressor.cpp.

References rawspeed::AbstractSamsungDecompressor::AbstractSamsungDecompressor(), computeStripes(), rawspeed::AbstractSamsungDecompressor::mRaw, rawspeed::ByteStream::peekStream(), ThrowRDE, and rawspeed::UINT16.

Here is the call graph for this function:

Member Function Documentation

◆ calcAdj()

int32_t rawspeed::SamsungV0Decompressor::calcAdj ( BitStreamerMSB32 & bits,
int b )
staticprivate

Definition at line 104 of file SamsungV0Decompressor.cpp.

References rawspeed::BitStreamer< Tag >::getBits(), and rawspeed::signExtend().

Referenced by decompressStrip().

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

◆ computeStripes()

void rawspeed::SamsungV0Decompressor::computeStripes ( ByteStream bso,
ByteStream bsr )
private

Definition at line 61 of file SamsungV0Decompressor.cpp.

References assert(), rawspeed::Buffer::getSize(), rawspeed::ByteStream::getStream(), rawspeed::ByteStream::getU32(), invariant, rawspeed::AbstractSamsungDecompressor::mRaw, rawspeed::ByteStream::skipBytes(), stripes, ThrowRDE, and y.

Referenced by SamsungV0Decompressor().

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

◆ decompress()

void rawspeed::SamsungV0Decompressor::decompress ( ) const

Definition at line 92 of file SamsungV0Decompressor.cpp.

References decompressStrip(), rawspeed::Array2DRef< T >::height(), rawspeed::AbstractSamsungDecompressor::mRaw, stripes, and rawspeed::Array2DRef< T >::width().

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

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

◆ decompressStrip()

void rawspeed::SamsungV0Decompressor::decompressStrip ( int row,
ByteStream bs ) const
private

Definition at line 110 of file SamsungV0Decompressor.cpp.

References assert(), calcAdj(), rawspeed::BitStreamer< Tag >::fill(), rawspeed::Buffer::getAsArray1DRef(), rawspeed::BitStreamer< Tag >::getBits(), rawspeed::BitStreamer< Tag >::getBitsNoFill(), rawspeed::implicit_cast(), invariant, rawspeed::AbstractSamsungDecompressor::mRaw, rawspeed::ByteStream::peekRemainingBuffer(), ThrowRDE, and rawspeed::Array2DRef< T >::width().

Referenced by decompress().

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

Member Data Documentation

◆ mRaw

◆ stripes

std::vector<ByteStream> rawspeed::SamsungV0Decompressor::stripes
private

Definition at line 35 of file SamsungV0Decompressor.h.

Referenced by computeStripes(), and decompress().


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