Dirac - A Video Codec

Created by the British Broadcasting Corporation.


dirac Namespace Reference

Definition of class AccessUnitByteIO. More...

Classes

Typedefs

Enumerations

Functions


Detailed Description

Returns structures containing default parameter values for different video-formats.

Definition of class DiracException.

Definition of class TransformByteIO.

Definition of class SubbandByteIO.

Definition of class ParseUnitByteIO.

Definition of class ParseParamsByteIO.

Definition of class MvDataElementByteIO.

Definition of class MvDataByteIO.

Definition of class FrameByteIO.

Definition of class EndOfSequenceByteIO.

Definition of class SourceParamsByteIO.

Definition of class DiracByteStream.

Definition of class DiracByteStats.

Definition of class ComponentByteIO.

Definition of class CodingParamsByteIO.

Definition of class ByteIO.


Typedef Documentation

typedef int dirac::CalcValueType

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

typedef int dirac::CoeffType

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_PIXEL_ASPECT_RATIO 
ERR_INVALID_VIDEO_DEPTH 
ERR_INVALID_MOTION_VECTOR_PRECISION 
ERR_INVALID_INIT_DATA 

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:
DC_FBIN1_CTX 
DC_FBIN2plus_CTX 
DC_INFO_CTX 
DC_SIGN_CTX 
MV_FBIN1_CTX 
MV_FBIN2_CTX 
MV_FBIN3_CTX 
MV_FBIN4_CTX 
MV_FBIN5plus_CTX 
MV_INFO_CTX 
MV_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::MvElement

Enumerator:
HORIZONTAL 
VERTICAL 

enum dirac::ParseUnitType

Enumerator:
PU_SEQ_HEADER 
PU_FRAME 
PU_END_OF_SEQUENCE 
PU_AUXILIARY_DATA 
PU_PADDING_DATA 
PU_CORE_FRAME 
PU_LOW_DELAY_FRAME 
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.

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)

PixelAspectRatioType dirac::IntToPixelAspectRatioType ( int  pix_asr_idx  ) 

Parameters:
pix_asr_idx Integer corresponding to a pixel aspect ratio in the spec table
Returns:
Valid PixelAspectRatioType (returns PIXEL_ASPECT_RATIO_UNDEFINED if no valid pixel 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)

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)

int dirac::Median ( const std::vector< int > &  val_list  ) 

int dirac::Median ( const int  val1,
const int  val2,
const int  val3 
)

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 
) [inline]

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

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

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

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

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