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.