Dirac - A Video Codec

Created by the British Broadcasting Corporation.


dirac Namespace Reference

Definition of class AccessUnitByteIO. More...

Classes

Typedefs

Enumerations

Functions


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 

enum dirac::CtxAliases
 

Enumerator:
SIGN0_CTX 
SIGN_POS_CTX 
SIGN_NEG_CTX 
Z_FBIN1z_CTX 
Z_FBIN1nz_CTX 
Z_FBIN2_CTX 
Z_FBIN3_CTX 
Z_FBIN4_CTX 
Z_FBIN5_CTX 
Z_FBIN6plus_CTX 
NZ_FBIN1z_CTX 
NZ_FBIN1nz_CTX 
NZ_FBIN2_CTX 
NZ_FBIN3_CTX 
NZ_FBIN4_CTX 
NZ_FBIN5_CTX 
NZ_FBIN6plus_CTX 
INFO_CTX 
BLOCK_SKIP_CTX 
Q_OFFSET_FOLLOW_CTX 
Q_OFFSET_INFO_CTX 
Q_OFFSET_SIGN_CTX 
TOTAL_COEFF_CTXS 

enum dirac::DiracErrorCode
 

Enumerator:
ERR_UNSUPPORTED_STREAM_DATA 
ERR_END_OF_STREAM 
ERR_INVALID_VIDEO_FORMAT 
ERR_INVALID_CHROMA_FORMAT 
ERR_INVALID_FRAME_RATE 
ERR_INVALID_SIGNAL_RANGE 
ERR_INVALID_ASPECT_RATIO 
ERR_INVALID_VIDEO_DEPTH 
ERR_INVALID_MOTION_VECTOR_PRECISION 

enum dirac::DiracSeverityCode
 

Enumerator:
SEVERITY_NO_ERROR 
SEVERITY_WARNING 
SEVERITY_FRAME_ERROR 
SEVERITY_ACCESSUNIT_ERROR 
SEVERITY_SEQUENCE_ERROR 
SEVERITY_TERMINATE 

enum dirac::Direction
 

Enumerator:
FORWARD 
BACKWARD 

enum dirac::MvCtxAliases
 

Enumerator:
YDC_FBIN1_CTX 
YDC_FBIN2plus_CTX 
YDC_INFO_CTX 
YDC_SIGN_CTX 
UDC_FBIN1_CTX 
UDC_FBIN2plus_CTX 
UDC_INFO_CTX 
UDC_SIGN_CTX 
VDC_FBIN1_CTX 
VDC_FBIN2plus_CTX 
VDC_INFO_CTX 
VDC_SIGN_CTX 
REF1x_FBIN1_CTX 
REF1x_FBIN2_CTX 
REF1x_FBIN3_CTX 
REF1x_FBIN4_CTX 
REF1x_FBIN5plus_CTX 
REF1x_INFO_CTX 
REF1x_SIGN_CTX 
REF1y_FBIN1_CTX 
REF1y_FBIN2_CTX 
REF1y_FBIN3_CTX 
REF1y_FBIN4_CTX 
REF1y_FBIN5plus_CTX 
REF1y_INFO_CTX 
REF1y_SIGN_CTX 
REF2x_FBIN1_CTX 
REF2x_FBIN2_CTX 
REF2x_FBIN3_CTX 
REF2x_FBIN4_CTX 
REF2x_FBIN5plus_CTX 
REF2x_INFO_CTX 
REF2x_SIGN_CTX 
REF2y_FBIN1_CTX 
REF2y_FBIN2_CTX 
REF2y_FBIN3_CTX 
REF2y_FBIN4_CTX 
REF2y_FBIN5plus_CTX 
REF2y_INFO_CTX 
REF2y_SIGN_CTX 
PMODE_BIT0_CTX 
PMODE_BIT1_CTX 
MB_SPLIT_BIN1_CTX 
MB_SPLIT_BIN2_CTX 
MB_SPLIT_INFO_CTX 
TOTAL_MV_CTXS 

enum dirac::ParseUnitType
 

Enumerator:
PU_ACCESS_UNIT 
PU_FRAME 
PU_END_OF_SEQUENCE 
PU_UNDEFINED 

enum dirac::PredMode
 

Enumerator:
INTRA 
REF1_ONLY 
REF2_ONLY 
REF1AND2 
UNDEFINED 

enum dirac::StatType
 

Enumerator:
STAT_TOTAL_BYTE_COUNT 
STAT_MV_BYTE_COUNT 
STAT_YCOMP_BYTE_COUNT 
STAT_UCOMP_BYTE_COUNT 
STAT_VCOMP_BYTE_COUNT 


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]
 

unsigned int dirac::BlockParametersIndex (  const OLBParams &  bparams  ) 
 

Parameters:
bparams Params object for getting index

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

int dirac::GetSMean (  std::vector< int > &  values  ) 
 

unsigned int dirac::GetUMean (  std::vector< unsigned int > &  values  ) 
 

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.

AspectRatioType dirac::IntToAspectRatioType (  int  aspect_ratio_idx  ) 
 

Parameters:
aspect_ratio_idx Integer corresponding to a aspect-ratio in the spec table
Returns:
Valid AspectRatioType (returns ASPECT_RATIO_UNDEFINED if no valid aspect-ratio found)

ChromaFormat dirac::IntToChromaFormat (  int  chroma_format  ) 
 

Parameters:
chroma_format Integer corresponding to a format
Returns:
Valid chroma-format (returns formatNK if no valid format found)

FrameRateType dirac::IntToFrameRateType (  int  frame_rate_idx  ) 
 

Parameters:
frame_rate_idx Integer corresponding to a frame-rate in the spec table
Returns:
Valid FrameRateType (returns FRAMERATE_UNDEFINED if no valid frame-rate found)

MVPrecisionType dirac::IntToMVPrecisionType (  int  mv_prec  ) 
 

Parameters:
mv_prec Integer corresponding to a valid motion-vector precision
Returns:
Valid MVPrecisionType (returns SIGNAL_RANGE_UNDEFINED if no valid precision found)

SignalRangeType dirac::IntToSignalRangeType (  int  signal_range_idx  ) 
 

Parameters:
signal_range_idx Integer corresponding to a signal-range in the spec table
Returns:
Valid SignalRangeType (returns SIGNAL_RANGE_UNDEFINED if no valid signal-ratio found)

VideoFormat dirac::IntToVideoFormat (  int  video_format  ) 
 

Parameters:
video_format Integer corresponding to a format
Returns:
Valid video-format (returns VIDEO_FORMAT_UNDEFINED if no valid format found)

MVector dirac::MvMean (  const MVector &  mv1,
const MVector &  mv2
) 
 

MVector dirac::MvMedian (  const std::vector< MVector > &  vect_list  ) 
 

MVector dirac::MvMedian (  const MVector &  mv1,
const MVector &  mv2,
const MVector &  mv3
) 
 

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
) 
 

std::ostream& dirac::operator<< (  std::ostream &  dst,
const DiracException &  exception
) 
 

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::SetDefaultBlockParameters (  OLBParams &  bparams,
int  pidx
) 
 

Parameters:
bparams Params object for setting defaults
pidx Index into Block Parameters table

void dirac::SetDefaultBlockParameters (  OLBParams &  bparams,
const VideoFormat &  video_format
) 
 

Parameters:
bparams Params object for setting defaults
video_format Video format

void dirac::SetDefaultCodecParameters (  CodecParams &  cparams,
FrameType  ftype,
unsigned int  num_refs
) 
 

Parameters:
cparams Codec Params objects for setting defaults
ftype Frame type i,e, INTRA or INTER
num_refs Number of reference frames

void dirac::SetDefaultEncoderParameters (  EncoderParams &  encparams  ) 
 

Parameters:
encparams Params objects for setting defaults

void dirac::SetDefaultSequenceParameters (  SeqParams &  sparams  ) 
 

Parameters:
sparams Params object for setting defaults

void dirac::SetDefaultSourceParameters (  const VideoFormat &  vf,
SourceParams &  sparams
) 
 

Parameters:
vf Video Format
sparams Params object for setting defaults

void dirac::SetDefaultTransformFilter (  FrameType  ftype,
WltFilter &  wf
) 
 

Parameters:
ftype Frame type i.e. intra or inter
wf WltFilter object for getting the default wavelet filter


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