Dirac - A Video Codec

Created by the British Broadcasting Corporation.


dirac Namespace Reference

Definition of class SequenceHeaderByteIO. More...

Classes

Typedefs

Enumerations

Functions


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 AddOrSub
 

Enumeration values:
ADD 
SUBTRACT 

enum CompSort
 

Enumeration values:
Y_COMP 
U_COMP 
V_COMP 

enum CtxAliases
 

Enumeration values:
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 DiracErrorCode
 

Enumeration values:
ERR_UNSUPPORTED_STREAM_DATA 
ERR_END_OF_STREAM 
ERR_INVALID_VIDEO_FORMAT 
ERR_INVALID_CHROMA_FORMAT 
ERR_INVALID_PICTURE_RATE 
ERR_INVALID_SIGNAL_RANGE 
ERR_INVALID_PIXEL_ASPECT_RATIO 
ERR_INVALID_VIDEO_DEPTH 
ERR_INVALID_MOTION_VECTOR_PRECISION 
ERR_INVALID_INIT_DATA 

enum DiracSeverityCode
 

Enumeration values:
SEVERITY_NO_ERROR 
SEVERITY_WARNING 
SEVERITY_PICTURE_ERROR 
SEVERITY_ACCESSUNIT_ERROR 
SEVERITY_SEQUENCE_ERROR 
SEVERITY_TERMINATE 

enum Direction
 

Enumeration values:
FORWARD 
BACKWARD 

enum MvCtxAliases
 

Enumeration values:
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 MvElement
 

Enumeration values:
HORIZONTAL 
VERTICAL 

enum ParseUnitType
 

Enumeration values:
PU_SEQ_HEADER 
PU_PICTURE 
PU_END_OF_SEQUENCE 
PU_AUXILIARY_DATA 
PU_PADDING_DATA 
PU_CORE_PICTURE 
PU_LOW_DELAY_PICTURE 
PU_UNDEFINED 

enum PredMode
 

Enumeration values:
INTRA 
REF1_ONLY 
REF2_ONLY 
REF1AND2 
UNDEFINED 

enum StatType
 

Enumeration values:
STAT_TOTAL_BYTE_COUNT 
STAT_MV_BYTE_COUNT 
STAT_YCOMP_BYTE_COUNT 
STAT_UCOMP_BYTE_COUNT 
STAT_VCOMP_BYTE_COUNT 


Function Documentation

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

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

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

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

unsigned int BlockParametersIndex const OLBParams &  bparams  ) 
 

Parameters:
bparams Params object for getting index

void CWMFilter Picture &  picture,
const int  strength
 

void CWMFilterComponent PicArray &  pic_data,
const int  strength
 

void DiagFilter PicArray &  pic_data,
const float  qf,
const int  strength
 

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

Print a message to standard error

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

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

ValueType 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 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 IntToChromaFormat int  chroma_format  ) 
 

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

FrameRateType 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 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 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 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 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)

void LPFilter PicArray &  pic_data,
const float  qf,
const int  strength
 

ValueType Median const ValueType val_list,
const int  length
 

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

int Median const int  val1,
const int  val2,
const int  val3
 

MVector MvMean const MVector mv1,
const MVector mv2
 

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

MVector MvMedian const MVector mv1,
const MVector mv2,
const MVector mv3
 

int Norm1 const MVector mv  )  [inline]
 

int Norm2 const MVector mv  )  [inline]
 

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

std::ostream& operator<< std::ostream &  dst,
const DiracException &  exception
 

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

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

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

void SetDefaultBlockParameters OLBParams &  bparams,
int  pidx
 

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

void SetDefaultBlockParameters OLBParams &  bparams,
const VideoFormat video_format
 

Parameters:
bparams Params object for setting defaults
video_format Video format

void SetDefaultCodecParameters CodecParams &  cparams,
PictureType  ptype,
unsigned int  num_refs
 

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

void SetDefaultEncoderParameters EncoderParams &  encparams  ) 
 

Parameters:
encparams Params objects for setting defaults

void SetDefaultSourceParameters const VideoFormat vf,
SourceParams &  sparams
 

Parameters:
vf Video Format
sparams Params object for setting defaults

void SetDefaultTransformFilter PictureType  ptype,
WltFilter wf
 

Parameters:
ptype Picture 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.