Dirac - A Video Codec

Created by the British Broadcasting Corporation.


Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes

dirac::ArithCodecBase Class Reference

#include <arith_codec.h>

Inheritance diagram for dirac::ArithCodecBase:
Inheritance graph
[legend]
Collaboration diagram for dirac::ArithCodecBase:
Collaboration graph
[legend]

List of all members.

Public Member Functions

Protected Member Functions

Protected Attributes

Private Member Functions

Private Attributes


Constructor & Destructor Documentation

dirac::ArithCodecBase::ArithCodecBase ( ByteIO p_byteio,
size_t  number_of_contexts 
)

Creates an ArithCodec object to decode input based on a set of parameters.

Parameters:
p_byteioinput/output for encoded bits
number_of_contextsthe number of contexts used
virtual dirac::ArithCodecBase::~ArithCodecBase ( ) [virtual]

Destructor is virtual as this class is abstract.

dirac::ArithCodecBase::ArithCodecBase ( const ArithCodecBase cpy) [private]

Member Function Documentation

int dirac::ArithCodecBase::ByteCount ( ) const [protected]
int dirac::ArithCodecBase::DecodeSInt ( const int  bin1,
const int  max_bin 
) [inline, protected]

References DecodeSymbol(), and DecodeUInt().

bool dirac::ArithCodecBase::DecodeSymbol ( int  context_num) [inline, protected]
unsigned int dirac::ArithCodecBase::DecodeUInt ( const int  bin1,
const int  max_bin 
) [inline, protected]

References DecodeSymbol().

Referenced by DecodeSInt().

void dirac::ArithCodecBase::EncodeSInt ( const int  value,
const int  bin1,
const int  max_bin 
) [inline, protected]

References EncodeSymbol(), and EncodeUInt().

void dirac::ArithCodecBase::EncodeSymbol ( const bool  symbol,
const int  context_num 
) [inline, protected]
void dirac::ArithCodecBase::EncodeUInt ( const unsigned int  value,
const int  bin1,
const int  max_bin 
) [inline, protected]

References EncodeSymbol().

Referenced by EncodeSInt().

void dirac::ArithCodecBase::FlushEncoder ( ) [protected]
void dirac::ArithCodecBase::InitDecoder ( int  num_bytes) [protected]
void dirac::ArithCodecBase::InitEncoder ( ) [protected]
bool dirac::ArithCodecBase::InputBit ( ) [inline, private]

References m_data_ptr, and m_input_bits_left.

Referenced by DecodeSymbol().

ArithCodecBase& dirac::ArithCodecBase::operator= ( const ArithCodecBase rhs) [private]
void dirac::ArithCodecBase::ReadAllData ( int  num_bytes) [private]

Member Data Documentation

Referenced by EncodeSymbol().

unsigned int dirac::ArithCodecBase::m_code [private]

Referenced by DecodeSymbol().

Referenced by DecodeSymbol(), and EncodeSymbol().

Referenced by InputBit().

Referenced by InputBit().

unsigned int dirac::ArithCodecBase::m_low_code [private]

Referenced by DecodeSymbol(), and EncodeSymbol().

unsigned int dirac::ArithCodecBase::m_range [private]

Referenced by DecodeSymbol(), and EncodeSymbol().

unsigned int dirac::ArithCodecBase::m_scount [private]

Referenced by EncodeSymbol().


The documentation for this class was generated from the following file:

© 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.