|
RawSpeed
fast raw decoding library
|
#include "codes/PrefixCodeTreeDecoder.h"
Public Types | |
| using | Tag = CodeTag |
| using | Base = AbstractPrefixCodeDecoder<CodeTag> |
| using | Traits = typename Base::Traits |
| using | Parent = typename Base::Parent |
| using | CodeSymbol = typename Base::CodeSymbol |
Public Member Functions | |
| void | setup (bool fullDecode_, bool fixDNGBug16_) |
| template<typename BIT_STREAM> | |
| Traits::CodeValueTy | decodeCodeValue (BIT_STREAM &bs) const |
| template<typename BIT_STREAM> | |
| int | decodeDifference (BIT_STREAM &bs) const |
| template<typename BIT_STREAM, bool FULL_DECODE> | |
| int | decode (BIT_STREAM &bs) const |
| template<typename BIT_STREAM, bool FULL_DECODE> | |
| int | processSymbol (BIT_STREAM &bs, CodeSymbol symbol, typename Traits::CodeValueTy codeValue) const |
| void | verifyCodeValuesAsDiffLengths () const |
| bool RAWSPEED_READONLY | isFullDecode () const |
| bool RAWSPEED_READONLY | handleDNGBug16 () const |
| bool | operator== (const AbstractPrefixCodeTranscoder &other) const |
Static Public Member Functions | |
| static int RAWSPEED_READNONE | extend (uint32_t diff, uint32_t len) |
Public Attributes | |
| PrefixCode< CodeTag > | code |
Protected Member Functions | |
| template<typename BIT_STREAM> | |
| std::pair< typename Base::CodeSymbol, int > | finishReadingPartialSymbol (BIT_STREAM &bs, typename Base::CodeSymbol initialPartial) const |
| template<typename BIT_STREAM> | |
| std::pair< typename Base::CodeSymbol, int > | readSymbol (BIT_STREAM &bs) const |
| size_t RAWSPEED_READONLY | maxCodeLength () const |
| size_t RAWSPEED_READONLY | __attribute__ ((pure)) maxCodePlusDiffLength() const |
Private Attributes | |
| BinaryPrefixTree< CodeTag > | tree |
| bool | fullDecode = true |
| bool | fixDNGBug16 = false |
Definition at line 37 of file PrefixCodeTreeDecoder.h.
| using rawspeed::PrefixCodeTreeDecoder< CodeTag >::Base = AbstractPrefixCodeDecoder<CodeTag> |
Definition at line 40 of file PrefixCodeTreeDecoder.h.
|
inherited |
Definition at line 38 of file AbstractPrefixCodeDecoder.h.
|
inherited |
Definition at line 37 of file AbstractPrefixCodeDecoder.h.
| using rawspeed::PrefixCodeTreeDecoder< CodeTag >::Tag = CodeTag |
Definition at line 39 of file PrefixCodeTreeDecoder.h.
| using rawspeed::PrefixCodeTreeDecoder< CodeTag >::Traits = typename Base::Traits |
Definition at line 41 of file PrefixCodeTreeDecoder.h.
|
inlinenodiscardprotectedinherited |
Definition at line 65 of file AbstractPrefixCodeTranscoder.h.
References code, and maxCodeLength().
|
inline |
Definition at line 153 of file PrefixCodeTreeDecoder.h.
References invariant, rawspeed::AbstractPrefixCodeTranscoder< CodeTag >::isFullDecode(), rawspeed::AbstractPrefixCodeDecoder< CodeTag >::processSymbol(), and readSymbol().
Referenced by decodeCodeValue(), and decodeDifference().
|
inline |
Definition at line 132 of file PrefixCodeTreeDecoder.h.
References decode(), invariant, and rawspeed::AbstractPrefixCodeTranscoder< CodeTag >::isFullDecode().
|
inline |
Definition at line 140 of file PrefixCodeTreeDecoder.h.
References decode(), invariant, and rawspeed::AbstractPrefixCodeTranscoder< CodeTag >::isFullDecode().
|
inlinestaticinherited |
Definition at line 70 of file AbstractPrefixCodeDecoder.h.
References invariant.
Referenced by rawspeed::CrwDecompressor::decodeBlock(), rawspeed::PanasonicV8Decompressor::InternalDecoder::decodeNextDiffValue(), rawspeed::KodakDecompressor::decodeSegment(), rawspeed::HasselbladDecompressor::getBits(), rawspeed::SonyArw1Decompressor::getDiff(), processSymbol(), rawspeed::SamsungV1Decompressor::samsungDiff(), rawspeed::PrefixCodeLUTDecoder< CodeTag, PrefixCodeLookupDecoder< CodeTag > >::setup(), and rawspeed_test::anonymous_namespace{HuffmanCodeTest.cpp}::TEST_P().
|
inlineprotected |
Definition at line 51 of file PrefixCodeTreeDecoder.h.
References invariant, ThrowRDE, and tree.
Referenced by readSymbol().
|
inlinenodiscardinherited |
Definition at line 90 of file AbstractPrefixCodeTranscoder.h.
References fixDNGBug16.
Referenced by rawspeed::PrefixCodeVectorEncoder< CodeTag >::encodeDifference(), rawspeed::AbstractPrefixCodeDecoder< CodeTag >::processSymbol(), and rawspeed::PrefixCodeLUTDecoder< CodeTag, PrefixCodeLookupDecoder< CodeTag > >::setup().
|
inlinenodiscardinherited |
Definition at line 87 of file AbstractPrefixCodeTranscoder.h.
References fullDecode.
Referenced by rawspeed::PrefixCodeLUTDecoder< CodeTag, PrefixCodeLookupDecoder< CodeTag > >::__attribute__(), rawspeed::PrefixCodeLUTDecoder< CodeTag, PrefixCodeLookupDecoder< CodeTag > >::__attribute__(), rawspeed::PrefixCodeLUTDecoder< CodeTag, PrefixCodeLookupDecoder< CodeTag > >::__attribute__(), rawspeed::PrefixCodeLookupDecoder< CodeTag >::decode(), rawspeed::PrefixCodeTreeDecoder< CodeTag >::decode(), rawspeed::PrefixCodeVectorDecoder< CodeTag >::decode(), rawspeed::PrefixCodeLookupDecoder< CodeTag >::decodeCodeValue(), rawspeed::PrefixCodeTreeDecoder< CodeTag >::decodeCodeValue(), rawspeed::PrefixCodeVectorDecoder< CodeTag >::decodeCodeValue(), rawspeed::PrefixCodeLookupDecoder< CodeTag >::decodeDifference(), rawspeed::PrefixCodeTreeDecoder< CodeTag >::decodeDifference(), rawspeed::PrefixCodeVectorDecoder< CodeTag >::decodeDifference(), rawspeed::PrefixCodeVectorEncoder< CodeTag >::encode(), rawspeed::PrefixCodeVectorEncoder< CodeTag >::encodeCodeValue(), rawspeed::PrefixCodeVectorEncoder< CodeTag >::encodeDifference(), and rawspeed::PrefixCodeLUTDecoder< CodeTag, PrefixCodeLookupDecoder< CodeTag > >::setup().
|
inlinenodiscardprotectedinherited |
Definition at line 61 of file AbstractPrefixCodeTranscoder.h.
References code.
Referenced by __attribute__(), rawspeed::PrefixCodeLookupDecoder< CodeTag >::finishReadingPartialSymbol(), rawspeed::PrefixCodeVectorDecoder< CodeTag >::finishReadingPartialSymbol(), and rawspeed::PrefixCodeLookupDecoder< CodeTag >::setup().
|
inlineinherited |
Definition at line 94 of file AbstractPrefixCodeTranscoder.h.
References AbstractPrefixCodeTranscoder(), and code.
|
inlineinherited |
Definition at line 44 of file AbstractPrefixCodeDecoder.h.
References extend(), rawspeed::AbstractPrefixCodeTranscoder< CodeTag >::handleDNGBug16(), and invariant.
Referenced by rawspeed::PrefixCodeLUTDecoder< CodeTag, PrefixCodeLookupDecoder< CodeTag > >::__attribute__(), rawspeed::PrefixCodeLookupDecoder< CodeTag >::decode(), rawspeed::PrefixCodeTreeDecoder< CodeTag >::decode(), and rawspeed::PrefixCodeVectorDecoder< CodeTag >::decode().
|
inlineprotected |
Definition at line 108 of file PrefixCodeTreeDecoder.h.
References finishReadingPartialSymbol().
Referenced by decode().
|
inline |
Definition at line 122 of file PrefixCodeTreeDecoder.h.
References assert(), rawspeed::AbstractPrefixCodeTranscoder< CodeTag >::code, rawspeed::AbstractPrefixCodeTranscoder< CodeTag >::setup(), and tree.
|
inlineinherited |
|
inherited |
Definition at line 45 of file AbstractPrefixCodeTranscoder.h.
Referenced by AbstractPrefixCodeTranscoder(), __attribute__(), rawspeed::PrefixCodeVectorEncoder< CodeTag >::encodeCodeValueImpl(), rawspeed::PrefixCodeLookupDecoder< CodeTag >::finishReadingPartialSymbol(), rawspeed::PrefixCodeVectorDecoder< CodeTag >::finishReadingPartialSymbol(), rawspeed::PrefixCodeVectorEncoder< CodeTag >::getCodeIndexOfCodeValue(), maxCodeLength(), operator==(), rawspeed::PrefixCodeLookupDecoder< CodeTag >::setup(), rawspeed::PrefixCodeLUTDecoder< CodeTag, PrefixCodeLookupDecoder< CodeTag > >::setup(), rawspeed::PrefixCodeTreeDecoder< CodeTag >::setup(), rawspeed::PrefixCodeVectorDecoder< CodeTag >::setup(), and verifyCodeValuesAsDiffLengths().
|
privateinherited |
Definition at line 37 of file AbstractPrefixCodeTranscoder.h.
Referenced by handleDNGBug16().
|
privateinherited |
Definition at line 36 of file AbstractPrefixCodeTranscoder.h.
Referenced by isFullDecode(), and setup().
|
private |
Definition at line 46 of file PrefixCodeTreeDecoder.h.
Referenced by finishReadingPartialSymbol(), and setup().