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.