Dirac - A Video Codec

Created by the British Broadcasting Corporation.


dirac::GenericBandCodec< EntropyCodec > Class Template Reference

A template class for coding and decoding wavelet subband data.

#include <band_codec.h>

Inheritance diagram for dirac::GenericBandCodec< EntropyCodec >:

Inheritance graph
[legend]
Collaboration diagram for dirac::GenericBandCodec< EntropyCodec >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

Protected Member Functions

Protected Attributes

Private Member Functions

template<typename EntropyCodec>
class dirac::GenericBandCodec< EntropyCodec >


Constructor & Destructor Documentation

template<typename EntropyCodec>
GenericBandCodec::GenericBandCodec SubbandByteIO subband_byteio,
size_t  number_of_contexts,
const SubbandList band_list,
int  band_num,
const bool  is_intra
 

Creates a BandCodec object to encode subband data

Parameters:
subband_byteio input/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
is_intra Flag indicating whether the band comes from an intra picture

template<typename EntropyCodec>
dirac::GenericBandCodec< EntropyCodec >::GenericBandCodec const GenericBandCodec< EntropyCodec > &  cpy  )  [private]
 


Member Function Documentation

template<typename EntropyCodec>
int GenericBandCodec::ChooseFollowContext const int  bin_number  )  const [inline, protected]
 

template<typename EntropyCodec>
int GenericBandCodec::ChooseInfoContext  )  const [inline, protected]
 

template<typename EntropyCodec>
int GenericBandCodec::ChooseSignContext const CoeffArray data,
const int  xpos,
const int  ypos
const [inline, protected]
 

template<typename EntropyCodec>
void GenericBandCodec::ClearBlock const CodeBlock code_block,
CoeffArray coeff_data
[protected, virtual]
 

Reimplemented in dirac::GenericIntraDCBandCodec< EntropyCodec >, dirac::GenericIntraDCBandCodec< ArithCodec< CoeffArray > >, and dirac::GenericIntraDCBandCodec< ArithCodecToVLCAdapter >.

template<typename EntropyCodec>
void GenericBandCodec::CodeCoeff CoeffArray in_data,
const int  xpos,
const int  ypos
[protected, virtual]
 

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

template<typename EntropyCodec>
void GenericBandCodec::CodeCoeffBlock const CodeBlock code_block,
CoeffArray in_data
[protected, virtual]
 

template<typename EntropyCodec>
void GenericBandCodec::CodeQuantIndexOffset const int  offset  )  [protected]
 

template<typename EntropyCodec>
void GenericBandCodec::CodeVal CoeffArray in_data,
const int  xpos,
const int  ypos,
const CoeffType  val
[inline, protected]
 

template<typename EntropyCodec>
void GenericBandCodec::DecodeCoeff CoeffArray in_data,
const int  xpos,
const int  ypos
[protected, virtual]
 

Reimplemented in dirac::IntraDCBandCodec.

template<typename EntropyCodec>
void GenericBandCodec::DecodeCoeffBlock const CodeBlock code_block,
CoeffArray out_data
[protected, virtual]
 

Reimplemented in dirac::GenericIntraDCBandCodec< EntropyCodec >, dirac::GenericIntraDCBandCodec< ArithCodec< CoeffArray > >, and dirac::GenericIntraDCBandCodec< ArithCodecToVLCAdapter >.

template<typename EntropyCodec>
int GenericBandCodec::DecodeQuantIndexOffset  )  [protected]
 

template<typename EntropyCodec>
void GenericBandCodec::DecodeVal CoeffArray out_data,
const int  xpos,
const int  ypos
[inline, protected]
 

template<typename EntropyCodec>
void GenericBandCodec::DoWorkCode CoeffArray in_data  )  [protected, virtual]
 

Reimplemented in dirac::IntraDCBandCodec.

template<typename EntropyCodec>
void GenericBandCodec::DoWorkDecode CoeffArray out_data  )  [protected, virtual]
 

Reimplemented in dirac::IntraDCBandCodec.

template<typename EntropyCodec>
GenericBandCodec& dirac::GenericBandCodec< EntropyCodec >::operator= const GenericBandCodec< EntropyCodec > &  rhs  )  [private]
 

template<typename EntropyCodec>
void GenericBandCodec::SetToVal const CodeBlock code_block,
CoeffArray coeff_data,
const CoeffType  val
[inline, protected]
 


Member Data Documentation

template<typename EntropyCodec>
int dirac::GenericBandCodec< EntropyCodec >::m_bnum [protected]
 

template<typename EntropyCodec>
bool dirac::GenericBandCodec< EntropyCodec >::m_is_intra [protected]
 

template<typename EntropyCodec>
int dirac::GenericBandCodec< EntropyCodec >::m_last_qf_idx [protected]
 

template<typename EntropyCodec>
bool dirac::GenericBandCodec< EntropyCodec >::m_nhood_nonzero [protected]
 

template<typename EntropyCodec>
const Subband dirac::GenericBandCodec< EntropyCodec >::m_node [protected]
 

template<typename EntropyCodec>
CoeffType dirac::GenericBandCodec< EntropyCodec >::m_offset [protected]
 

template<typename EntropyCodec>
bool dirac::GenericBandCodec< EntropyCodec >::m_parent_notzero [protected]
 

template<typename EntropyCodec>
Subband dirac::GenericBandCodec< EntropyCodec >::m_pnode [protected]
 

template<typename EntropyCodec>
int dirac::GenericBandCodec< EntropyCodec >::m_pxpos [protected]
 

template<typename EntropyCodec>
int dirac::GenericBandCodec< EntropyCodec >::m_pypos [protected]
 

template<typename EntropyCodec>
int dirac::GenericBandCodec< EntropyCodec >::m_qf [protected]
 


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

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