Dirac - A Video Codec

Created by the British Broadcasting Corporation.


Public Member Functions | Private Member Functions | Private Attributes | List of all members
dirac::PredModeCodec Class Reference

Codes and decodes the prediction modes. More...

#include <mv_codec.h>

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

Public Member Functions

 PredModeCodec (ByteIO *p_byteio, size_t number_of_contexts, const int num_refs)
 Constructor. More...
 
void InitContexts ()
 Initialises the contexts. More...
 
- Public Member Functions inherited from dirac::ArithCodec< MvData >
 ArithCodec (ByteIO *p_byteio, size_t number_of_contexts)
 Constructor for encoding. More...
 
virtual ~ArithCodec ()
 Destructor. More...
 
int Compress (MvData &in_data)
 Compresses the input and returns the number of bits written. More...
 
void Decompress (MvData &out_data, const int num_bytes)
 Decompresses the bitstream and writes into the output. More...
 
- Public Member Functions inherited from dirac::ArithCodecBase
 ArithCodecBase (ByteIO *p_byteio, size_t number_of_contexts)
 Constructor. More...
 
virtual ~ArithCodecBase ()
 Destructor. More...
 

Private Member Functions

 PredModeCodec (const PredModeCodec &cpy)
 Private, bodyless copy constructor: class should not be copied. More...
 
PredModeCodecoperator= (const PredModeCodec &rhs)
 Private, bodyless copy operator=: class should not be assigned. More...
 
void CodeVal (const MvData &in_data)
 
void DecodeVal (MvData &out_data)
 
void DoWorkCode (MvData &in_data)
 Does the work of actually coding the data. More...
 
void DoWorkDecode (MvData &out_data)
 virtual decode-only functions
More...
 
void ResetAll ()
 
unsigned int Prediction (const TwoDArray< PredMode > &preddata) const
 

Private Attributes

int m_b_xp
 
int m_b_yp
 
int m_sb_xp
 
int m_sb_yp
 
int m_sb_tlb_x
 
int m_sb_tlb_y
 
int m_num_refs
 

Additional Inherited Members

virtual void DoWorkCode (MvData &in_data)=0
 Does the work of actually coding the data. More...
 
virtual void DoWorkDecode (MvData &out_data)=0
 virtual decode-only functions
More...
 
- Protected Member Functions inherited from dirac::ArithCodecBase
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 inherited from dirac::ArithCodecBase
std::vector< Contextm_context_list
 List of contexts. More...
 

Detailed Description

Derived from the ArithCodec class, this codes and decodes the prediction mode.

Constructor & Destructor Documentation

◆ PredModeCodec() [1/2]

dirac::PredModeCodec::PredModeCodec ( ByteIO p_byteio,
size_t  number_of_contexts,
const int  num_refs 
)

Creates a MvDataCodec object to encode MV data, based on parameters

Parameters
p_byteioInput/output for the encoded bits
number_of_contextsthe number of contexts used
num_refsNumber of references

◆ PredModeCodec() [2/2]

dirac::PredModeCodec::PredModeCodec ( const PredModeCodec cpy)
private

Member Function Documentation

◆ CodeVal()

void dirac::PredModeCodec::CodeVal ( const MvData in_data)
private

◆ DecodeVal()

void dirac::PredModeCodec::DecodeVal ( MvData out_data)
private

◆ DoWorkCode()

void dirac::PredModeCodec::DoWorkCode ( MvData in_data)
privatevirtual

◆ DoWorkDecode()

void dirac::PredModeCodec::DoWorkDecode ( MvData out_data)
privatevirtual

◆ InitContexts()

void dirac::PredModeCodec::InitContexts ( )

◆ operator=()

PredModeCodec & dirac::PredModeCodec::operator= ( const PredModeCodec rhs)
private

◆ Prediction()

unsigned int dirac::PredModeCodec::Prediction ( const TwoDArray< PredMode > &  preddata) const
private

◆ ResetAll()

void dirac::PredModeCodec::ResetAll ( )
private

Member Data Documentation

◆ m_b_xp

int dirac::PredModeCodec::m_b_xp
private

◆ m_b_yp

int dirac::PredModeCodec::m_b_yp
private

◆ m_num_refs

int dirac::PredModeCodec::m_num_refs
private

◆ m_sb_tlb_x

int dirac::PredModeCodec::m_sb_tlb_x
private

◆ m_sb_tlb_y

int dirac::PredModeCodec::m_sb_tlb_y
private

◆ m_sb_xp

int dirac::PredModeCodec::m_sb_xp
private

◆ m_sb_yp

int dirac::PredModeCodec::m_sb_yp
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.