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
 

Enumerator:
ADD 
SUBTRACT 

enum dirac::CompSort
 

Enumerator:
Y_COMP 
U_COMP 
V_COMP 
R_COMP 
G_COMP 
B_COMP 

enum dirac::CtxAliases
 

Enumerator:
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
 

Enumerator:
FORWARD 
BACKWARD 

enum dirac::MvCtxAliases
 

Enumerator:
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
 

Enumerator:
INTRA 
REF1_ONLY 
REF2_ONLY 
REF1AND2 

enum dirac::WltFilter
 

Enumerator:
DAUB97 
APPROX97 
FIVETHREE 
THIRTEENFIVE 


Function Documentation

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

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

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

void dirac::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 dirac::BChk const ValueType num,
const ValueType max
[inline]
 

void dirac::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::dirac_report const char *  p_fname,
int  line_number,
const char *  p_mess
 

Print a message to standard error

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

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

ValueType dirac::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 dirac::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 dirac::GolombCode std::vector< bool > &  bitvec,
const int  val
 

void dirac::GolombCode BasicOutputManager &  bitman,
const int  val
 

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

int dirac::GolombDecode BitInputManager &  bitman  ) 
 

MVector dirac::MvMean MVector mv1,
MVector mv2
[inline]
 

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

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

int dirac::Norm1 const MVector mv  )  [inline]
 

int dirac::Norm2 const MVector mv  )  [inline]
 

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

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

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

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

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

void dirac::UnsignedGolombCode BasicOutputManager &  bitman,
const unsigned int  val
 

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

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