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 dirac::AddOrSub
 

Enumeration values:
ADD 
SUBTRACT 

enum dirac::CompSort
 

Enumeration values:
Y_COMP 
U_COMP 
V_COMP 
R_COMP 
G_COMP 
B_COMP 

enum dirac::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 dirac::Direction
 

Enumeration values:
FORWARD 
BACKWARD 

enum dirac::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 dirac::PredMode
 

Enumeration values:
INTRA 
REF1_ONLY 
REF2_ONLY 
REF1AND2 

enum dirac::WltFilter
 

Enumeration values:
DAUB97 
APPROX97 
FIVETHREE 
THIRTEENFIVE 


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 = 0x04
 

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 int dirac::PIXEL_VALUE_MAX = 1020
 

const int dirac::PIXEL_VALUE_MIN = 0
 

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.