RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
rawspeed::Cr2Decompressor< PrefixCodeDecoder > Class Template Referencefinal

#include "decompressors/Cr2Decompressor.h"

Collaboration diagram for rawspeed::Cr2Decompressor< PrefixCodeDecoder >:
[legend]

Classes

struct  PerComponentRecipe

Public Member Functions

 Cr2Decompressor (RawImage mRaw, std::tuple< int, int, int > format, iPoint2D frame, Cr2SliceWidths slicing, std::vector< PerComponentRecipe > rec, Array1DRef< const uint8_t > input)
ByteStream::size_type decompress () const
template<typename PrefixCodeDecoder>
iterator_range< Cr2SliceIteratorgetSlices () const

Private Member Functions

template<int N_COMP, size_t... I>
std::array< std::reference_wrapper< const PrefixCodeDecoder >, N_COMP > getPrefixCodeDecodersImpl (std::index_sequence< I... >) const
template<int N_COMP>
std::array< std::reference_wrapper< const PrefixCodeDecoder >, N_COMP > getPrefixCodeDecoders () const
template<int N_COMP>
std::array< uint16_t, N_COMP > getInitialPreds () const
template<int N_COMP, int X_S_F, int Y_S_F>
__attribute__((noinline)) ByteStream iterator_range< Cr2SliceIteratorgetSlices () const
iterator_range< Cr2OutputTileIteratorgetAllOutputTiles () const
iterator_range< Cr2OutputTileIteratorgetOutputTiles () const
iterator_range< Cr2VerticalOutputStripIteratorgetVerticalOutputStrips () const

Private Attributes

const RawImage mRaw
const std::tuple< int, int, int > format
iPoint2D dim
iPoint2D frame
Cr2SliceWidths slicing
const std::vector< PerComponentReciperec
const Array1DRef< const uint8_t > input

Detailed Description

template<typename PrefixCodeDecoder>
class rawspeed::Cr2Decompressor< PrefixCodeDecoder >

Definition at line 126 of file Cr2Decompressor.h.

Constructor & Destructor Documentation

◆ Cr2Decompressor()

template<typename PrefixCodeDecoder>
rawspeed::Cr2Decompressor< PrefixCodeDecoder >::Cr2Decompressor ( RawImage mRaw,
std::tuple< int, int, int > format,
iPoint2D frame,
Cr2SliceWidths slicing,
std::vector< PerComponentRecipe > rec,
Array1DRef< const uint8_t > input )

Definition at line 280 of file Cr2DecompressorImpl.h.

References dim, format, frame, getAllOutputTiles(), input, mRaw, rec, slicing, ThrowRDE, and rawspeed::UINT16.

Here is the call graph for this function:

Member Function Documentation

◆ decompress()

template<typename PrefixCodeDecoder>
ByteStream::size_type rawspeed::Cr2Decompressor< PrefixCodeDecoder >::decompress ( ) const
nodiscard

Definition at line 471 of file Cr2DecompressorImpl.h.

References format.

◆ getAllOutputTiles()

template<typename PrefixCodeDecoder>
iterator_range< Cr2OutputTileIterator > rawspeed::Cr2Decompressor< PrefixCodeDecoder >::getAllOutputTiles ( ) const
nodiscardprivate

Definition at line 216 of file Cr2DecompressorImpl.h.

References dim, and getSlices().

Referenced by Cr2Decompressor(), and getOutputTiles().

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

◆ getInitialPreds()

template<typename PrefixCodeDecoder>
template<int N_COMP>
std::array< uint16_t, N_COMP > rawspeed::Cr2Decompressor< PrefixCodeDecoder >::getInitialPreds ( ) const
nodiscardprivate

Definition at line 384 of file Cr2DecompressorImpl.h.

References rec.

◆ getOutputTiles()

template<typename PrefixCodeDecoder>
iterator_range< Cr2OutputTileIterator > rawspeed::Cr2Decompressor< PrefixCodeDecoder >::getOutputTiles ( ) const
nodiscardprivate

Definition at line 224 of file Cr2DecompressorImpl.h.

References assert(), dim, getAllOutputTiles(), and invariant.

Referenced by getVerticalOutputStrips().

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

◆ getPrefixCodeDecoders()

template<typename PrefixCodeDecoder>
template<int N_COMP>
std::array< std::reference_wrapper< const PrefixCodeDecoder >, N_COMP > rawspeed::Cr2Decompressor< PrefixCodeDecoder >::getPrefixCodeDecoders ( ) const
nodiscardprivate

Definition at line 377 of file Cr2DecompressorImpl.h.

References getPrefixCodeDecodersImpl().

Here is the call graph for this function:

◆ getPrefixCodeDecodersImpl()

template<typename PrefixCodeDecoder>
template<int N_COMP, size_t... I>
std::array< std::reference_wrapper< const PrefixCodeDecoder >, N_COMP > rawspeed::Cr2Decompressor< PrefixCodeDecoder >::getPrefixCodeDecodersImpl ( std::index_sequence< I... > ) const
nodiscardprivate

Definition at line 368 of file Cr2DecompressorImpl.h.

References rec.

Referenced by getPrefixCodeDecoders().

Here is the caller graph for this function:

◆ getSlices() [1/2]

template<typename PrefixCodeDecoder>
template<int N_COMP, int X_S_F, int Y_S_F>
__attribute__((noinline)) ByteStream iterator_range< Cr2SliceIterator > rawspeed::Cr2Decompressor< PrefixCodeDecoder >::getSlices ( ) const
nodiscardprivate

References format, frame, input, mRaw, rec, and slicing.

Referenced by getAllOutputTiles().

Here is the caller graph for this function:

◆ getSlices() [2/2]

template<typename PrefixCodeDecoder>
template<typename PrefixCodeDecoder>
iterator_range< Cr2SliceIterator > rawspeed::Cr2Decompressor< PrefixCodeDecoder >::getSlices ( ) const

Definition at line 209 of file Cr2DecompressorImpl.h.

References frame, and slicing.

◆ getVerticalOutputStrips()

template<typename PrefixCodeDecoder>
iterator_range< Cr2VerticalOutputStripIterator > rawspeed::Cr2Decompressor< PrefixCodeDecoder >::getVerticalOutputStrips ( ) const
nodiscardprivate

Definition at line 238 of file Cr2DecompressorImpl.h.

References getOutputTiles().

Here is the call graph for this function:

Member Data Documentation

◆ dim

Definition at line 136 of file Cr2Decompressor.h.

Referenced by Cr2Decompressor(), getAllOutputTiles(), and getOutputTiles().

◆ format

template<typename PrefixCodeDecoder>
const std::tuple<int , int , int > rawspeed::Cr2Decompressor< PrefixCodeDecoder >::format
private

Definition at line 135 of file Cr2Decompressor.h.

Referenced by Cr2Decompressor(), decompress(), and getSlices().

◆ frame

Definition at line 137 of file Cr2Decompressor.h.

Referenced by Cr2Decompressor(), and getSlices().

◆ input

template<typename PrefixCodeDecoder>
const Array1DRef<const uint8_t> rawspeed::Cr2Decompressor< PrefixCodeDecoder >::input
private

Definition at line 142 of file Cr2Decompressor.h.

Referenced by Cr2Decompressor(), and getSlices().

◆ mRaw

template<typename PrefixCodeDecoder>
const RawImage rawspeed::Cr2Decompressor< PrefixCodeDecoder >::mRaw
private

Definition at line 134 of file Cr2Decompressor.h.

Referenced by Cr2Decompressor(), and getSlices().

◆ rec

template<typename PrefixCodeDecoder>
const std::vector<PerComponentRecipe> rawspeed::Cr2Decompressor< PrefixCodeDecoder >::rec
private

◆ slicing

Definition at line 138 of file Cr2Decompressor.h.

Referenced by Cr2Decompressor(), and getSlices().


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