|
RawSpeed
fast raw decoding library
|
#include "codes/PrefixCodeVectorEncoder.h"
Public Types | |
| using | Tag = CodeTag |
| using | Base = AbstractPrefixCodeEncoder<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_VACUUMER> | |
| void | encodeCodeValue (BIT_VACUUMER &bv, typename Traits::CodeValueTy codeValue) const |
| template<typename BIT_VACUUMER> | |
| void | encodeDifference (BIT_VACUUMER &bv, int value) const |
| template<typename BIT_VACUUMER, bool FULL_DECODE> | |
| void | encode (BIT_VACUUMER &bv, int value) 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 std::pair< uint32_t, uint8_t > RAWSPEED_READNONE | reduce (int32_t extendedDiff) |
Public Attributes | |
| PrefixCode< CodeTag > | code |
Protected Member Functions | |
| size_t RAWSPEED_READONLY | maxCodeLength () const |
| size_t RAWSPEED_READONLY | __attribute__ ((pure)) maxCodePlusDiffLength() const |
Private Member Functions | |
| template<typename BIT_VACUUMER> | |
| void | encodeCodeValueImpl (BIT_VACUUMER &bv, int codeIndex) const |
| int | getCodeIndexOfCodeValue (const typename Traits::CodeValueTy value) const |
Private Attributes | |
| bool | fullDecode = true |
| bool | fixDNGBug16 = false |
Definition at line 30 of file PrefixCodeVectorEncoder.h.
| using rawspeed::PrefixCodeVectorEncoder< CodeTag >::Base = AbstractPrefixCodeEncoder<CodeTag> |
Definition at line 33 of file PrefixCodeVectorEncoder.h.
|
inherited |
Definition at line 38 of file AbstractPrefixCodeEncoder.h.
|
inherited |
Definition at line 37 of file AbstractPrefixCodeEncoder.h.
| using rawspeed::PrefixCodeVectorEncoder< CodeTag >::Tag = CodeTag |
Definition at line 32 of file PrefixCodeVectorEncoder.h.
| using rawspeed::PrefixCodeVectorEncoder< CodeTag >::Traits = typename Base::Traits |
Definition at line 34 of file PrefixCodeVectorEncoder.h.
|
inlinenodiscardprotectedinherited |
Definition at line 65 of file AbstractPrefixCodeTranscoder.h.
References code, and maxCodeLength().
|
inline |
Definition at line 93 of file PrefixCodeVectorEncoder.h.
References encodeCodeValue(), encodeDifference(), rawspeed::implicit_cast(), invariant, and rawspeed::AbstractPrefixCodeTranscoder< CodeTag >::isFullDecode().
|
inline |
Definition at line 69 of file PrefixCodeVectorEncoder.h.
References encodeCodeValueImpl(), getCodeIndexOfCodeValue(), invariant, and rawspeed::AbstractPrefixCodeTranscoder< CodeTag >::isFullDecode().
Referenced by encode().
|
inlineprivate |
Definition at line 40 of file PrefixCodeVectorEncoder.h.
References rawspeed::AbstractPrefixCodeTranscoder< CodeTag >::code, rawspeed::implicit_cast(), and invariant.
Referenced by encodeCodeValue(), and encodeDifference().
|
inline |
Definition at line 80 of file PrefixCodeVectorEncoder.h.
References encodeCodeValueImpl(), getCodeIndexOfCodeValue(), rawspeed::AbstractPrefixCodeTranscoder< CodeTag >::handleDNGBug16(), invariant, rawspeed::AbstractPrefixCodeTranscoder< CodeTag >::isFullDecode(), and rawspeed::AbstractPrefixCodeEncoder< CodeTag >::reduce().
Referenced by encode().
|
inlinenodiscardprivate |
Definition at line 52 of file PrefixCodeVectorEncoder.h.
References rawspeed::AbstractPrefixCodeTranscoder< CodeTag >::code, and rawspeed::implicit_cast().
Referenced by encodeCodeValue(), and encodeDifference().
|
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.
|
inlinestaticinherited |
Definition at line 48 of file AbstractPrefixCodeEncoder.h.
References rawspeed::extractLowBitsSafe(), rawspeed::numActiveBits(), and rawspeed::numSignificantBits().
Referenced by rawspeed::PrefixCodeVectorEncoder< CodeTag >::encodeDifference().
|
inline |
Definition at line 64 of file PrefixCodeVectorEncoder.h.
References rawspeed::AbstractPrefixCodeEncoder< CodeTag >::setup().
Referenced by rawspeed::anonymous_namespace{PrefixCodeEncoder.cpp}::workloop().
|
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().