Dirac - A Video Codec

Created by the British Broadcasting Corporation.


dirac Namespace Reference

Classes

Typedefs

Enumerations

Functions

Variables


Typedef Documentation

typedef int dirac::CalcValueType
 

typedef std::vector< std::vector< MVector > > dirac::CandidateList
 

typedef MotionVector<int> dirac::ImageCoords
 

typedef TwoDArray<MVector> dirac::MvArray
 

typedef MotionVector<int> dirac::MVector
 

typedef TwoDArray< MotionVector<float> > dirac::MvFloatArray
 

typedef short dirac::ValueType
 


Enumeration Type Documentation

enum AddOrSub
 

Enumeration values:
ADD 
SUBTRACT 

enum CompSort
 

Enumeration values:
Y_COMP 
U_COMP 
V_COMP 
R_COMP 
G_COMP 
B_COMP 

enum CtxAliases
 

Enumeration values:
SIGN0_CTX 
SIGN_POS_CTX 
SIGN_NEG_CTX 
Z_BIN1z_CTX 
Z_BIN1nz_CTX 
Z_BIN2_CTX 
Z_BIN3_CTX 
Z_BIN4_CTX 
Z_BIN5plus_CTX 
NZ_BIN1z_CTX 
NZ_BIN1a_CTX 
NZ_BIN1b_CTX 
NZ_BIN2_CTX 
NZ_BIN3_CTX 
NZ_BIN4_CTX 
NZ_BIN5plus_CTX 
BLOCK_SKIP_CTX 

enum Direction
 

Enumeration values:
FORWARD 
BACKWARD 

enum MvCtxAliases
 

Enumeration values:
YDC_BIN1_CTX 
YDC_BIN2plus_CTX 
YDC_SIGN0_CTX 
UDC_BIN1_CTX 
UDC_BIN2plus_CTX 
UDC_SIGN0_CTX 
VDC_BIN1_CTX 
VDC_BIN2plus_CTX 
VDC_SIGN0_CTX 
REF1x_BIN1_CTX 
REF1x_BIN2_CTX 
REF1x_BIN3_CTX 
REF1x_BIN4_CTX 
REF1x_BIN5plus_CTX 
REF1x_SIGN0_CTX 
REF1x_SIGNP_CTX 
REF1x_SIGNN_CTX 
REF1y_BIN1_CTX 
REF1y_BIN2_CTX 
REF1y_BIN3_CTX 
REF1y_BIN4_CTX 
REF1y_BIN5plus_CTX 
REF1y_SIGN0_CTX 
REF1y_SIGNP_CTX 
REF1y_SIGNN_CTX 
REF2x_BIN1_CTX 
REF2x_BIN2_CTX 
REF2x_BIN3_CTX 
REF2x_BIN4_CTX 
REF2x_BIN5plus_CTX 
REF2x_SIGN0_CTX 
REF2x_SIGNP_CTX 
REF2x_SIGNN_CTX 
REF2y_BIN1_CTX 
REF2y_BIN2_CTX 
REF2y_BIN3_CTX 
REF2y_BIN4_CTX 
REF2y_BIN5plus_CTX 
REF2y_SIGN0_CTX 
REF2y_SIGNP_CTX 
REF2y_SIGNN_CTX 
PMODE_BIT0_CTX 
PMODE_BIT1_CTX 
MB_CMODE_CTX 
MB_SPLIT_BIN1_CTX 
MB_SPLIT_BIN2_CTX 

enum PredMode
 

Enumeration values:
INTRA 
REF1_ONLY 
REF2_ONLY 
REF1AND2 

enum WltFilter
 

Enumeration values:
DAUB 
HAAR 


Function Documentation

void AddNewVlist CandidateList vect_list,
const MVector mv,
const int  xr,
const int  yr,
const int  step
 

void AddNewVlist CandidateList vect_list,
const MVector mv,
const int  xr,
const int  yr
 

void AddNewVlistD CandidateList vect_list,
const MVector mv,
const int  xr,
const int  yr
 

void AddVect CandidateList vect_list,
const MVector mv,
const int  list_num
 

Add a motion vector to the set of motion vector lists, making sure it's not a duplicate.

ValueType BChk const ValueType num,
const ValueType max
[inline]
 

void dirac_assert const char *  p_fname,
int  line_number,
const char *  p_mess
 

Print a message to standard error and abort if in debug mode

void dirac_report const char *  p_fname,
int  line_number,
const char *  p_mess
 

Print a message to standard error

unsigned int GetMean std::vector< unsigned int > &  values  )  [inline]
 

int GetMean std::vector< int > &  values  )  [inline]
 

ValueType GetVar const std::vector< MVector > &  pred_list,
const MVector mv
 

Return the variation between a motion vector and a list of motion vectos, computed as the sum of absolute differences between the components of the vector and the median vector produced by the list of vectors

ValueType GetVar const MVector mv1,
const MVector mv2
 

Return the variation between two motion vectors, computed as the sum of absolute differences of their components.

void GolombCode std::vector< bool > &  bitvec,
const int  val
 

void GolombCode BasicOutputManager &  bitman,
const int  val
 

int GolombDecode const std::vector< bool > &  bitvec  ) 
 

int GolombDecode BitInputManager &  bitman  ) 
 

MVector MvMean MVector mv1,
MVector mv2
[inline]
 

MVector MvMedian const std::vector< MVector > &  vect_list  )  [inline]
 

MVector MvMedian const MVector mv1,
const MVector mv2,
const MVector mv3
[inline]
 

int Norm1 const MVector mv  )  [inline]
 

int Norm2 const MVector mv  )  [inline]
 

template<class T>
std::ostream& operator<< std::ostream &  stream,
MotionVector< T > &  mv
 

template<class T>
std::ostream& operator<< std::ostream &  stream,
TwoDArray< T > &  array
 

template<class T>
std::istream& operator>> std::istream &  stream,
MotionVector< T > &  mv
 

template<class T>
std::istream& operator>> std::istream &  stream,
TwoDArray< T > &  array
 

void UnsignedGolombCode std::vector< bool > &  bitvec,
const unsigned int  val
 

void UnsignedGolombCode BasicOutputManager &  bitman,
const unsigned int  val
 

unsigned int UnsignedGolombDecode const std::vector< bool > &  bitvec  ) 
 

unsigned int UnsignedGolombDecode BitInputManager &  bitman  ) 
 


Variable Documentation

const unsigned char dirac::BITSTREAM_VERSION = 0x03
 

const QuantiserLists dirac::dirac_quantiser_lists
 

const unsigned char dirac::IFRAME_START_CODE = 0xD6
 

const unsigned char dirac::L1FRAME_START_CODE = 0xD4
 

const unsigned char dirac::L2FRAME_START_CODE = 0xD5
 

const unsigned char dirac::NOT_START_CODE = 0xFF
 

const unsigned char dirac::RAP_START_CODE = 0xD7
 

const unsigned char dirac::SEQ_END_CODE = 0xD0
 

const unsigned int dirac::START_CODE_PREFIX = 0x42424344
 

const unsigned int dirac::START_CODE_PREFIX_BYTE0
 

Initial value:

 
                                        (START_CODE_PREFIX >> 24) & 0xFF

const unsigned int dirac::START_CODE_PREFIX_BYTE1
 

Initial value:

 
                                        (START_CODE_PREFIX >> 16) & 0xFF

const unsigned int dirac::START_CODE_PREFIX_BYTE2
 

Initial value:

 
                                        (START_CODE_PREFIX >>  8) & 0xFF

const unsigned int dirac::START_CODE_PREFIX_BYTE3
 

Initial value:


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