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 short dirac::ValueType

typedef int dirac::CalcValueType

typedef MotionVector<int> dirac::MVector

typedef MotionVector<int> dirac::ImageCoords

typedef TwoDArray<MVector> dirac::MvArray

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

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


Enumeration Type Documentation

enum dirac::StatType

Enumerator:
STAT_TOTAL_BYTE_COUNT 
STAT_MV_BYTE_COUNT 
STAT_YCOMP_BYTE_COUNT 
STAT_UCOMP_BYTE_COUNT 
STAT_VCOMP_BYTE_COUNT 

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

Enumerator:
Y_COMP 
U_COMP 
V_COMP 

enum dirac::AddOrSub

Enumerator:
ADD 
SUBTRACT 

enum dirac::Direction

Enumerator:
FORWARD 
BACKWARD 

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::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_CMODE_CTX 
MB_SPLIT_BIN1_CTX 
MB_SPLIT_BIN2_CTX 
MB_SPLIT_INFO_CTX 
TOTAL_MV_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 


Function Documentation

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

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

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)

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)

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)

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)

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)

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

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

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

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

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

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

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

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

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

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

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

Parameters:
cparams Codec Params objects for setting defaults
ftype Frame type i,e, INTRA or INTER

void dirac::SetDefaultEncoderParameters ( EncoderParams &  encparams  ) 

Parameters:
encparams Params objects for setting defaults

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

Parameters:
vf Video Format
sparams Params object for setting defaults

void dirac::SetDefaultSequenceParameters ( SeqParams &  sparams  ) 

Parameters:
sparams Params object for setting defaults

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

Parameters:
bparams Params object for setting defaults
video_format Video format

void dirac::SetDefaultBlockParameters ( OLBParams &  bparams,
int  pidx 
)

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

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

Parameters:
bparams Params object for getting index

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

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

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::GetVar ( const MVector mv1,
const MVector mv2 
)

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

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


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