Dirac - A Video Codec

Created by the British Broadcasting Corporation.


dirac::BandCodec Class Reference

A general class for coding and decoding wavelet subband data. More...

#include <band_codec.h>

Inheritance diagram for dirac::BandCodec:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

Protected Member Functions

Protected Attributes

Private Member Functions


Detailed Description

A general class for coding and decoding wavelet subband data, deriving from the abstract ArithCodec class.


Constructor & Destructor Documentation

dirac::BandCodec::BandCodec BasicOutputManager bits_out,
size_t  number_of_contexts,
const SubbandList band_list,
int  band_num
 

Creates a BandCodec object to encode subband data

Parameters:
bits_out the output for the encoded bits
number_of_contexts the number of contexts used in the encoding process
band_list the set of all the subbands
band_num the number of the subband being coded

dirac::BandCodec::BandCodec BitInputManager bits_in,
size_t  number_of_contexts,
const SubbandList band_list,
int  band_num
 

Creates a BandCodec object to decode subband data.

Parameters:
bits_in the input for the encoded bits
number_of_contexts the number of contexts used in the decoding process
band_list the set of all the subbands
band_num the number of the subband being decoded

dirac::BandCodec::BandCodec const BandCodec cpy  )  [private]
 


Member Function Documentation

int dirac::BandCodec::ChooseContext const int  bin_number  )  const [private]
 

int dirac::BandCodec::ChooseSignContext const PicArray data,
const int  xpos,
const int  ypos
const [private]
 

virtual void dirac::BandCodec::CodeCoeffBlock const CodeBlock code_block,
PicArray in_data
[private, virtual]
 

Reimplemented in dirac::LFBandCodec, and dirac::IntraDCBandCodec.

void dirac::BandCodec::CodeVal PicArray in_data,
const int  xpos,
const int  ypos,
const ValueType  val
[protected]
 

virtual void dirac::BandCodec::DecodeCoeffBlock const CodeBlock code_block,
PicArray out_data
[private, virtual]
 

Reimplemented in dirac::LFBandCodec, and dirac::IntraDCBandCodec.

void dirac::BandCodec::DecodeVal PicArray out_data,
const int  xpos,
const int  ypos
[protected]
 

virtual void dirac::BandCodec::DoWorkCode PicArray in_data  )  [private, virtual]
 

Implements dirac::ArithCodec< PicArray >.

Reimplemented in dirac::LFBandCodec, and dirac::IntraDCBandCodec.

virtual void dirac::BandCodec::DoWorkDecode PicArray out_data  )  [private, virtual]
 

Implements dirac::ArithCodec< PicArray >.

Reimplemented in dirac::LFBandCodec, and dirac::IntraDCBandCodec.

void dirac::BandCodec::InitContexts  )  [virtual]
 

Implements dirac::ArithCodec< PicArray >.

BandCodec& dirac::BandCodec::operator= const BandCodec rhs  )  [private]
 

void dirac::BandCodec::ResetAll  )  [private, virtual]
 

Implements dirac::ArithCodec< PicArray >.

void dirac::BandCodec::SetToVal const CodeBlock code_block,
PicArray pic_data,
const ValueType  val
[protected]
 


Member Data Documentation

int dirac::BandCodec::m_bnum [protected]
 

int dirac::BandCodec::m_coeff_count [protected]
 

ValueType dirac::BandCodec::m_cut_off_point [protected]
 

ValueType dirac::BandCodec::m_nhood_sum [protected]
 

const Subband dirac::BandCodec::m_node [protected]
 

ValueType dirac::BandCodec::m_offset [protected]
 

bool dirac::BandCodec::m_parent_notzero [protected]
 

Subband dirac::BandCodec::m_pnode [protected]
 

int dirac::BandCodec::m_pxl [protected]
 

int dirac::BandCodec::m_pxp [protected]
 

int dirac::BandCodec::m_pxpos [protected]
 

int dirac::BandCodec::m_pyl [protected]
 

int dirac::BandCodec::m_pyp [protected]
 

int dirac::BandCodec::m_pypos [protected]
 

int dirac::BandCodec::m_qf [protected]
 

int dirac::BandCodec::m_qfinv [protected]
 

int dirac::BandCodec::m_reset_coeff_num [protected]
 

int dirac::BandCodec::m_vol [protected]
 


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.