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

#include "decompressors/PanasonicV8Decompressor.h"

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

Classes

struct  DecoderLUTEntry
struct  DecompressorParams
struct  DecompressorParamsBuilder
class  InternalDecoder
 Utility class for Panasonic V8 entropy decoding. More...

Public Types

using Bayer2x2 = std::array<uint16_t, 4>
 Four values, one for each component of the sensor's color filter array.

Public Member Functions

 PanasonicV8Decompressor (RawImage outputImg, DecompressorParams mParams_)
void decompress () const
 Run the decompressor on the provided raw image.

Private Member Functions

void decompressStrip (Array2DRef< uint16_t > out, InternalDecoder decoder) const

Private Attributes

RawImage mRawOutput
const DecompressorParams mParams

Detailed Description

Decompressor for Panasonic's RW2 version 8 format.

V8 is similar to lossless JPEG compression from the JPEG 92 spec and DNG Each raw file is broken up into a number of separate strips, each of which was separately encoded, and which can be decoded independently. For each strip, an initial predicted value is provided. The strip's data buffer is then decoded using the decoding table provided in metadata. Each value decoded from the strip is a difference between the predicted value and actual value, allowing the actual value to be reconstructed.

Definition at line 48 of file PanasonicV8Decompressor.h.

Member Typedef Documentation

◆ Bayer2x2

Four values, one for each component of the sensor's color filter array.

Definition at line 54 of file PanasonicV8Decompressor.h.

Constructor & Destructor Documentation

◆ PanasonicV8Decompressor()

rawspeed::PanasonicV8Decompressor::PanasonicV8Decompressor ( RawImage outputImg,
DecompressorParams mParams_ )

Definition at line 342 of file PanasonicV8Decompressor.cpp.

References mParams, mRawOutput, ThrowRDE, and rawspeed::UINT16.

Member Function Documentation

◆ decompress()

void rawspeed::PanasonicV8Decompressor::decompress ( ) const

Run the decompressor on the provided raw image.

Definition at line 366 of file PanasonicV8Decompressor.cpp.

References rawspeed::CroppedArray2DRef(), decompressStrip(), mParams, mRawOutput, and rawspeed_get_number_of_processor_cores().

Referenced by rawspeed::Rw2Decoder::decodeRawV8().

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

◆ decompressStrip()

void rawspeed::PanasonicV8Decompressor::decompressStrip ( Array2DRef< uint16_t > out,
InternalDecoder decoder ) const
private

Thread safe function for decompressing a single data-stripstrip within a Rw2V8 raw image.

Definition at line 401 of file PanasonicV8Decompressor.cpp.

References rawspeed::Array2DRef(), rawspeed::PanasonicV8Decompressor::InternalDecoder::decodeNextDiffValue(), rawspeed::Array2DRef< T >::height(), invariant, mParams, rawspeed::TiledArray2DRef(), 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

◆ mParams

const DecompressorParams rawspeed::PanasonicV8Decompressor::mParams
private

Definition at line 134 of file PanasonicV8Decompressor.h.

Referenced by PanasonicV8Decompressor(), decompress(), and decompressStrip().

◆ mRawOutput

RawImage rawspeed::PanasonicV8Decompressor::mRawOutput
mutableprivate

Definition at line 50 of file PanasonicV8Decompressor.h.

Referenced by PanasonicV8Decompressor(), and decompress().


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