Dirac - A Video Codec

Created by the British Broadcasting Corporation.


dirac::ArithCodecBase Class Reference

#include <arith_codec.h>

Inheritance diagram for dirac::ArithCodecBase:

dirac::ArithCodec< T > dirac::ArithCodec< dirac::MvData > dirac::ArithCodec< dirac::PicArray > dirac::BandCodec dirac::MvDataCodec dirac::IntraDCBandCodec dirac::LFBandCodec List of all members.

Public Member Functions

Protected Member Functions

Protected Attributes

Private Member Functions

Private Attributes

Static 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_byteio input/output for encoded bits
number_of_contexts the 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]

bool dirac::ArithCodecBase::DecodeSymbol ( int  context_num  )  [inline, protected]

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

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

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]

void dirac::ArithCodecBase::FlushEncoder (  )  [protected]

virtual void dirac::ArithCodecBase::InitContexts (  )  [protected, pure virtual]

Implemented in dirac::BandCodec, and dirac::MvDataCodec.

void dirac::ArithCodecBase::InitDecoder ( int  num_bytes  )  [protected]

void dirac::ArithCodecBase::InitEncoder (  )  [protected]

bool dirac::ArithCodecBase::InputBit (  )  [inline, private]

ArithCodecBase& dirac::ArithCodecBase::operator= ( const ArithCodecBase rhs  )  [private]

void dirac::ArithCodecBase::OutputBits (  )  [inline, private]

void dirac::ArithCodecBase::ReadAllData ( int  num_bytes  )  [private]

virtual void dirac::ArithCodecBase::ResetAll (  )  [protected, pure virtual]

Implemented in dirac::BandCodec, and dirac::MvDataCodec.

void dirac::ArithCodecBase::ShiftBitIn (  )  [inline, private]

void dirac::ArithCodecBase::ShiftBitOut (  )  [inline, private]


Member Data Documentation

const unsigned int dirac::ArithCodecBase::CODE_2ND_MSB = 0x4000 [static, private]

const unsigned int dirac::ArithCodecBase::CODE_MAX = 0xFFFF [static, private]

const unsigned int dirac::ArithCodecBase::CODE_MSB = 0x8000 [static, private]

ByteIO* dirac::ArithCodecBase::m_byteio [private]

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

std::vector<Context> dirac::ArithCodecBase::m_context_list [protected]

char* dirac::ArithCodecBase::m_data_ptr [private]

char* dirac::ArithCodecBase::m_decode_data_ptr [private]

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

int dirac::ArithCodecBase::m_input_bits_left [private]

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

int dirac::ArithCodecBase::m_underflow [private]


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.