Created by the British Broadcasting Corporation.
#include <arith_codec.h>


Public Member Functions | |
| ArithCodecBase (ByteIO *p_byteio, size_t number_of_contexts) | |
| Constructor. More... | |
| virtual | ~ArithCodecBase () |
| Destructor. More... | |
Protected Member Functions | |
| void | InitEncoder () |
| Initialises the Encoder. More... | |
| void | EncodeSymbol (const bool symbol, const int context_num) |
| encodes a symbol and writes to output More... | |
| void | EncodeUInt (const unsigned int value, const int bin1, const int max_bin) |
| void | EncodeSInt (const int value, const int bin1, const int max_bin) |
| void | FlushEncoder () |
| flushes the output of the encoder. More... | |
| int | ByteCount () const |
| void | InitDecoder (int num_bytes) |
| Initialise the Decoder. More... | |
| bool | DecodeSymbol (int context_num) |
| Decodes a symbol given a context number. More... | |
| unsigned int | DecodeUInt (const int bin1, const int max_bin) |
| int | DecodeSInt (const int bin1, const int max_bin) |
Protected Attributes | |
| std::vector< Context > | m_context_list |
| List of contexts. More... | |
Private Member Functions | |
| ArithCodecBase (const ArithCodecBase &cpy) | |
| private, bodyless copy constructor: class should not be copied More... | |
| ArithCodecBase & | operator= (const ArithCodecBase &rhs) |
| private, bodyless copy operator=: class should not be assigned More... | |
| void | ReadAllData (int num_bytes) |
| Read all the data in. More... | |
| bool | InputBit () |
| Read in a bit of data. More... | |
Private Attributes | |
| unsigned int | m_scount |
| unsigned int | m_low_code |
| Start of the current code range. More... | |
| unsigned int | m_range |
| Length of the current code range. More... | |
| ByteIO * | m_byteio |
| Input/output stream of Dirac-format bytes. More... | |
| int | m_underflow |
| Number of underflow bits. More... | |
| char * | m_decode_data_ptr |
| A pointer to the data for reading in. More... | |
| char * | m_data_ptr |
| A point to the byte currently being read. More... | |
| int | m_input_bits_left |
| The index of the bit of the byte being read. More... | |
| unsigned int | m_code |
| The present input code. More... | |
| dirac::ArithCodecBase::ArithCodecBase | ( | ByteIO * | p_byteio, |
| size_t | number_of_contexts | ||
| ) |
Creates an ArithCodec object to decode input based on a set of parameters.
| p_byteio | input/output for encoded bits |
| number_of_contexts | the number of contexts used |
|
virtual |
Destructor is virtual as this class is abstract.
|
private |
|
protected |
|
inlineprotected |
References DecodeSymbol(), and DecodeUInt().
|
inlineprotected |
References dirac::Context::GetScaledProb0(), InputBit(), m_code, m_context_list, m_low_code, m_range, and dirac::Context::Update().
Referenced by DecodeSInt(), and DecodeUInt().
|
inlineprotected |
References DecodeSymbol().
Referenced by DecodeSInt().
|
inlineprotected |
References EncodeSymbol(), and EncodeUInt().
|
inlineprotected |
References dirac::Context::GetScaledProb0(), m_byteio, m_context_list, m_low_code, m_range, m_underflow, dirac::Context::Update(), and dirac::ByteIO::WriteBit().
Referenced by EncodeSInt(), and EncodeUInt().
|
inlineprotected |
References EncodeSymbol().
Referenced by EncodeSInt().
|
protected |
|
protected |
|
protected |
|
inlineprivate |
References m_data_ptr, and m_input_bits_left.
Referenced by DecodeSymbol().
|
private |
|
private |
|
private |
Referenced by EncodeSymbol().
|
private |
Referenced by DecodeSymbol().
|
protected |
Referenced by DecodeSymbol(), and EncodeSymbol().
|
private |
Referenced by InputBit().
|
private |
|
private |
Referenced by InputBit().
|
private |
Referenced by DecodeSymbol(), and EncodeSymbol().
|
private |
Referenced by DecodeSymbol(), and EncodeSymbol().
|
private |
|
private |
Referenced by EncodeSymbol().
© 2004 British Broadcasting Corporation.
Dirac code licensed under the Mozilla Public License (MPL) Version 1.1.
HTML documentation generated by Dimitri van Heesch's
excellent Doxygen tool.