|
RawSpeed
fast raw decoding library
|
#include "decompressors/CrwDecompressor.h"
Public Member Functions | |
| CrwDecompressor (RawImage img, uint32_t dec_table_, Array1DRef< const uint8_t > input, Optional< Array1DRef< const uint8_t > > lowbitInput) | |
| void | decompress () |
Private Types | |
| using | crw_hts = std::array<PrefixCodeDecoder<>, 2> |
Static Private Member Functions | |
| static PrefixCodeDecoder | makeDecoder (const uint8_t *ncpl, const uint8_t *values) |
| static crw_hts | initHuffTables (uint32_t table) |
| static void | decodeBlock (std::array< int16_t, 64 > *diffBuf, const crw_hts &mHuff, BitStreamerJPEG &bs) |
Private Attributes | |
| RawImage | mRaw |
| crw_hts | mHuff |
| Array1DRef< const uint8_t > | input |
| Optional< Array1DRef< const uint8_t > > | lowbitInput |
Definition at line 36 of file CrwDecompressor.h.
|
private |
Definition at line 37 of file CrwDecompressor.h.
| rawspeed::CrwDecompressor::CrwDecompressor | ( | RawImage | img, |
| uint32_t | dec_table_, | ||
| Array1DRef< const uint8_t > | input, | ||
| Optional< Array1DRef< const uint8_t > > | lowbitInput ) |
Definition at line 46 of file CrwDecompressor.cpp.
References initHuffTables(), input, invariant, lowbitInput, mHuff, mRaw, ThrowRDE, and rawspeed::UINT16.
|
inlinestaticprivate |
Definition at line 167 of file CrwDecompressor.cpp.
References rawspeed::AbstractPrefixCodeDecoder< CodeTag >::extend(), rawspeed::BitStreamer< Tag >::fill(), rawspeed::BitStreamer< Tag >::getBitsNoFill(), rawspeed::implicit_cast(), invariant, and mHuff.
Referenced by decompress().
| void rawspeed::CrwDecompressor::decompress | ( | ) |
Definition at line 210 of file CrwDecompressor.cpp.
References decodeBlock(), rawspeed::Array2DRef< T >::height(), rawspeed::implicit_cast(), input, invariant, rawspeed::isIntN(), lowbitInput, mHuff, mRaw, ThrowRDE, rawspeed::val, and rawspeed::Array2DRef< T >::width().
Referenced by rawspeed::CrwDecoder::decodeRawInternal(), and LLVMFuzzerTestOneInput().
|
staticprivate |
Definition at line 87 of file CrwDecompressor.cpp.
References makeDecoder(), mHuff, and ThrowRDE.
Referenced by CrwDecompressor().
|
staticprivate |
Definition at line 74 of file CrwDecompressor.cpp.
References invariant, rawspeed::HuffmanCode< CodeTag >::setCodeValues(), rawspeed::HuffmanCode< CodeTag >::setNCodesPerLength(), and rawspeed::PrefixCodeLUTDecoder< CodeTag, BackendPrefixCodeDecoder >::setup().
Referenced by initHuffTables().
|
private |
Definition at line 42 of file CrwDecompressor.h.
Referenced by CrwDecompressor(), and decompress().
|
private |
Definition at line 43 of file CrwDecompressor.h.
Referenced by CrwDecompressor(), and decompress().
|
private |
Definition at line 40 of file CrwDecompressor.h.
Referenced by CrwDecompressor(), decodeBlock(), decompress(), and initHuffTables().
|
private |
Definition at line 39 of file CrwDecompressor.h.
Referenced by CrwDecompressor(), and decompress().