|
RawSpeed
fast raw decoding library
|
#include "codes/HuffmanCode.h"
Public Types | |
| using | Parent = AbstractPrefixCode<CodeTag> |
| using | CodeSymbol = typename AbstractPrefixCode<CodeTag>::CodeSymbol |
| using | Traits = typename AbstractPrefixCode<CodeTag>::Traits |
| using | CodeValueTy = typename Traits::CodeValueTy |
Public Member Functions | |
| HuffmanCode ()=default | |
| std::vector< CodeSymbol > | generateCodeSymbols () const |
| bool | operator== (const HuffmanCode &other) const |
| uint32_t | setNCodesPerLength (Buffer data) |
| void | setCodeValues (Array1DRef< const typename Traits::CodeValueTy > data) |
| operator PrefixCode< CodeTag > () | |
Public Attributes | |
| std::vector< CodeValueTy > | codeValues |
Protected Member Functions | |
| size_t RAWSPEED_READONLY | maxCodeLength () const |
| unsigned int RAWSPEED_READONLY | maxCodesCount () const |
Protected Attributes | |
| std::vector< unsigned int > | nCodesPerLength |
Definition at line 42 of file HuffmanCode.h.
| using rawspeed::HuffmanCode< CodeTag >::CodeSymbol = typename AbstractPrefixCode<CodeTag>::CodeSymbol |
Definition at line 45 of file HuffmanCode.h.
|
inherited |
Definition at line 141 of file AbstractPrefixCode.h.
| using rawspeed::HuffmanCode< CodeTag >::Parent = AbstractPrefixCode<CodeTag> |
Definition at line 44 of file HuffmanCode.h.
| using rawspeed::HuffmanCode< CodeTag >::Traits = typename AbstractPrefixCode<CodeTag>::Traits |
Definition at line 46 of file HuffmanCode.h.
|
default |
|
inlinenodiscard |
Definition at line 66 of file HuffmanCode.h.
References assert(), rawspeed::AbstractPrefixCode< CodeTag >::codeValues, maxCodeLength(), maxCodesCount(), and nCodesPerLength.
Referenced by rawspeed::HuffmanCode< BaselineCodeTag >::operator PrefixCode< BaselineCodeTag >(), and rawspeed_test::anonymous_namespace{HuffmanCodeTest.cpp}::TEST_P().
|
inlinenodiscardprotected |
Definition at line 51 of file HuffmanCode.h.
References nCodesPerLength.
Referenced by generateCodeSymbols().
|
inlinenodiscardprotected |
Definition at line 61 of file HuffmanCode.h.
References nCodesPerLength.
Referenced by generateCodeSymbols(), setCodeValues(), and setNCodesPerLength().
|
inlineexplicit |
Definition at line 168 of file HuffmanCode.h.
|
inline |
Definition at line 94 of file HuffmanCode.h.
References HuffmanCode(), rawspeed::AbstractPrefixCode< CodeTag >::codeValues, and nCodesPerLength.
|
inline |
Definition at line 151 of file HuffmanCode.h.
References assert(), rawspeed::Array1DRef< T >::begin(), rawspeed::AbstractPrefixCode< CodeTag >::codeValues, rawspeed::Array1DRef< T >::end(), invariant, maxCodesCount(), rawspeed::Array1DRef< T >::size(), and ThrowRDE.
Referenced by createHuffmanCode(), rawspeed::CrwDecompressor::makeDecoder(), rawspeed::AbstractLJpegDecoder::parseDHT(), rawspeed::PentaxDecompressor::SetupPrefixCodeDecoder_Legacy(), rawspeed::PentaxDecompressor::SetupPrefixCodeDecoder_Modern(), rawspeed_test::anonymous_namespace{HuffmanCodeTest.cpp}::TEST(), and rawspeed_test::anonymous_namespace{HuffmanCodeTest.cpp}::TEST_P().
|
inline |
Definition at line 99 of file HuffmanCode.h.
References assert(), rawspeed::Buffer::begin(), rawspeed::Buffer::end(), rawspeed::Buffer::getSize(), invariant, maxCodesCount(), nCodesPerLength, and ThrowRDE.
Referenced by createHuffmanCode(), rawspeed::CrwDecompressor::makeDecoder(), rawspeed::AbstractLJpegDecoder::parseDHT(), rawspeed::PentaxDecompressor::SetupPrefixCodeDecoder_Legacy(), rawspeed::PentaxDecompressor::SetupPrefixCodeDecoder_Modern(), rawspeed_test::anonymous_namespace{HuffmanCodeTest.cpp}::TEST(), rawspeed_test::anonymous_namespace{HuffmanCodeTest.cpp}::TEST(), rawspeed_test::anonymous_namespace{HuffmanCodeTest.cpp}::TEST(), and rawspeed_test::anonymous_namespace{HuffmanCodeTest.cpp}::TEST_P().
|
inherited |
|
protected |
Definition at line 59 of file HuffmanCode.h.
Referenced by generateCodeSymbols(), maxCodeLength(), maxCodesCount(), operator==(), and setNCodesPerLength().