# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

# dirac Namespace Reference

Definition of class AccessUnitByteIO. More...

## Classes

- class AccessUnitByteIO
    A random access point within a Dirac bytestream. More...
- class ByteIO
    Class ByteIO - top-level class for reading/writing bytes to a stream. More...
- class ComponentByteIO
    Frame component in Dirac bytestream format. More...
- class DiracByteStats
    Class DiracByteStats - for collecting statistics on aspects of the Dirac byte-stream. More...
- class DiracByteStream
    Represents a series of bytes in the Dirac bytestream specfication format. More...
- class DisplayParamsByteIO
    Represents compressed display-parameter data contained in an AccessUnit. More...
- class EndOfSequenceByteIO
    Signals the end of a sequence in a Dirac-formatted bitstream. More...
- class FrameByteIO
    A compressed frame in Dirac bytestream format. More...
- class MvDataByteIO
    Represents compressed sequence-parameter data used in an AccessUnit. More...
- class ParseParamsByteIO
    Represents compressed parse-parameter data used in an AccessUnit. More...
- class ParseUnitByteIO
    Represents a collection of data in a Dirac bytestream that can be parsed as a self-contained unit. More...
- class SeqParamsByteIO
    Represents compressed sequence-parameter data used in an AccessUnit. More...
- class SubbandByteIO
    Subband Dirac-bytestream input/output. More...
- class TransformByteIO
    Represents compressed sequence-parameter data used in an AccessUnit. More...
- class ContextLookupTable
    Lookup Table Class (for Arithmetic Coding Contexts). More...
- class Context
- class ArithCodecBase
- class ArithCodec
    Abstract binary arithmetic coding class. More...
- class Range
    Range type. More...
- class OneDArray
    A template class for one-dimensional arrays. More...
- class TwoDArray
    A template class for two-dimensional arrays. More...
- class BandCodec
    A general class for coding and decoding wavelet subband data. More...
- class LFBandCodec
    A class specially for coding the LF subbands. More...
- class IntraDCBandCodec
    A class specially for coding the DC subband of Intra frames. More...
- class CommandLine
- class FrameSort
    Frame type Class. More...
- class PicArray
    A class for picture component data. More...
- class CostType
    A structure for recording costs, particularly in quantisation. More...
- class EntropyCorrector
    A class used for correcting estimates of entropy. More...
- class OLBParams
    Parameters for overlapped block motion compensation. More...
- class SeqParams
    Parameters relating to the video sequence being encoded/decoded. More...
- class Rational
    Class defining a rational number. More...
- class ParseParams
    Parameters relating to the complexity of encoder/decoder. More...
- class SourceParams
    Parameters relating to the source material being encoded/decoded. More...
- class FrameParams
    Parameters for initialising frame class objects. More...
- class CodeBlocks
    Structure to hold code block sizes when spatial partitioning is used. More...
- class CodecParams
    Parameters common to coder and decoder operation. More...
- class EncoderParams
    Parameters for the encoding process. More...
- class DecoderParams
    Parameters for the decoding process. More...
- class QuantiserLists
    Class for encapsulating quantiser data. More...
- class DiracException
    DiracException is the class which should be used for all exceptions within Dirac. More...
- class Frame
    A class for encapsulating all the data relating to a frame. More...
- class FrameBuffer
    Holds frames both for reference and to overcome reordering delay. More...
- class MotionCompensator
    Abstract Motion compensator class. More...
- class MotionCompensator_Pixel
    Pixel precision Motion compensator class. More...
- class MotionCompensator_HalfPixel
    Half Pixel precision Motion compensator class. More...
- class MotionCompensator_QuarterPixel
    Quarter Pixel precision Motion compensator class. More...
- class MotionCompensator_EighthPixel
    Eighth Pixel precision Motion compensator class. More...
- class MotionVector
    Motion vector class - just a pair. More...
- class MvCostData
    Class for recording costs derived in motion estimation. More...
- class MvData
    Class for all the motion vector data. More...
- class MEData
    Class for all the motion estimation data. More...
- class MvDataCodec
    Codes and decodes all the Motion Vector data. More...
- class StreamPicOutput
    Class for outputting pictures. More...
- class MemoryStreamOutput
- class FileStreamOutput
- class StreamPicInput
    Picture input class. More...
- class MemoryStreamInput
- class FileStreamInput
    Picture input class. More...
- class UpConverter
    Upconversion class. More...
- class CodeBlock
    Class for encapsulating metadata concerning a block of coefficients in a subband. More...
- class Subband
    Class encapsulating all the metadata relating to a wavelet subband. More...
- class SubbandList
    A class encapulating all the subbands produced by a transform. More...
- class WaveletTransform
    A class to do wavelet transforms. More...
- class CompCompressor
    Compress a frame component. More...
- class FrameCompressor
    Compress a single image frame. More...
- class QualityMonitor
    Class to monitor the quality of pictures and adjust coding parameters appropriately. More...
- class QuantChooser
    Choose a quantiser. More...
- class SequenceCompressor
    Compresses a sequence of frames from a stream. More...
- class CompDecompressor
    Compress a frame component. More...
- class InputStreamBuffer
    Input Stream Buffer Class. More...
- class DiracParser
    Dirac Stream Parser Class. More...
- class FrameDecompressor
    Compress a single image frame. More...
- class SequenceDecompressor
    Decompresses a sequence of frames from a stream. More...
- class BlockMatcher
    Class to do block matching. More...
- class DownConverter
    A class for fast downconversion of picture data. More...
- class ModeDecider
    Decides between macroblock and block prediction modes. More...
- class SubpelRefine
    The SubpelRefine class takes pixel-accurate motion vectors and refines them to 1/8-pixel accuracy. More...
- class BlockDiffParams
    A class encapsulating parameters for calculating a block difference value (a single instance of matching). More...
- class BlockDiff
    An abstract class for doing block difference calculations. More...
- class PelBlockDiff
    A class for doing block differences to pixel accuracy, inherited from BlockDiff. More...
- class IntraBlockDiff
    A class for calculating the difference between a block and its DC value (average). More...
- class BiBlockDiff
    A virtual class for bi-directional differences. More...
- class BlockDiffUp
    A virtual class for doing differences with sub-pixel vectors. More...
- class BlockDiffHalfPel
    A class for doing differences with half-pixel accurate vectors. More...
- class BlockDiffQuarterPel
    A class for doing differences with quarter-pixel accurate vectors. More...
- class BlockDiffEighthPel
    A class for doing differences with eighth-pixel accurate vectors. More...
- class BiBlockHalfPel
    A class for computing a bidirection difference for half-pel vectors. More...
- class BiBlockQuarterPel
    A class for computing a bidirection difference for quarter-pel vectors. More...
- class BiBlockEighthPel
    A class for computing a bidirection difference for eighth-pel vectors. More...
- class MotionEstimator
    Class to handle the whole motion estimation process. More...
- class PixelMatcher

## Typedefs

- typedef short ValueType
- typedef int CalcValueType
- typedef MotionVector< int > MVector
    MVector class is a vector of ints.
- typedef MotionVector< int > ImageCoords
    ImageCoords class is a vector of ints.
- typedef TwoDArray< MVector > MvArray
    MvArray is a two-D array of MVectors.
- typedef TwoDArray< MotionVector<
  float > > MvFloatArray
    An array of float-based motion vectors for doing global motion calcs.
- typedef std::vector< std::vector<
  MVector > > CandidateList

## Enumerations

- enum StatType {
  STAT_TOTAL_BYTE_COUNT = 0, STAT_MV_BYTE_COUNT, STAT_YCOMP_BYTE_COUNT, STAT_UCOMP_BYTE_COUNT,
  STAT_VCOMP_BYTE_COUNT
  }
- enum ParseUnitType { PU_ACCESS_UNIT = 0, PU_FRAME, PU_END_OF_SEQUENCE, PU_UNDEFINED }
- enum PredMode {
  INTRA, REF1_ONLY, REF2_ONLY, REF1AND2,
  UNDEFINED
  }
    Prediction modes for blocks. More...
- enum CompSort { Y_COMP, U_COMP, V_COMP }
    Types of picture component. More...
- enum AddOrSub { ADD, SUBTRACT }
    Addition or subtraction. More...
- enum Direction { FORWARD, BACKWARD }
    Forward or backward. More...
- enum CtxAliases {
  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
  }
    Contexts used for coefficient coding. More...
- enum MvCtxAliases {
  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
  }
    Contexts used for MV data coding. More...
- enum DiracErrorCode {
  ERR_UNSUPPORTED_STREAM_DATA = 0, 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
  }
    Enumeration of Dirac-defined error codes. More...
- enum DiracSeverityCode {
  SEVERITY_NO_ERROR = 0, SEVERITY_WARNING, SEVERITY_FRAME_ERROR, SEVERITY_ACCESSUNIT_ERROR,
  SEVERITY_SEQUENCE_ERROR, SEVERITY_TERMINATE
  }
    Error-severity states. More...

## Functions

- template<class T> std::ostream & operator<< (std::ostream &stream, TwoDArray< T > &array)
    A function for extracting array data.
- template<class T> std::istream & operator>> (std::istream &stream, TwoDArray< T > &array)
    A function for inserting array data.
- VideoFormat IntToVideoFormat (int video_format)
    Function to convert an integer to a valid VideoFormat.
- ChromaFormat IntToChromaFormat (int chroma_format)
    Function to convert an integer to a valid VideoFormat.
- FrameRateType IntToFrameRateType (int frame_rate_idx)
    Function to convert an integer to a valid FrameRate type.
- AspectRatioType IntToAspectRatioType (int aspect_ratio_idx)
    Function to convert an integer to a valid AspectRatio type.
- SignalRangeType IntToSignalRangeType (int signal_range_idx)
    Function to convert an integer to a valid SignalRange type.
- MVPrecisionType IntToMVPrecisionType (int mv_prec)
    Function to convert an integer to a valid motion-vector precision type.
- ValueType BChk (const ValueType &num, const ValueType &max)
    A simple bounds checking function, very useful in a number of places.
- void dirac_assert (const char *p_fname, int line_number, const char *p_mess)
- void dirac_report (const char *p_fname, int line_number, const char *p_mess)
- std::ostream & operator<< (std::ostream &dst, const DiracException &exception)
- template<class T> std::ostream & operator<< (std::ostream &stream, MotionVector< T > &mv)
    Overloaded operator<< for MotionVector class for output to stream.
- template<class T> std::istream & operator>> (std::istream &stream, MotionVector< T > &mv)
    Overloaded operator>> for MotionVector class for input from stream.
- MVector MvMedian (const MVector &mv1, const MVector &mv2, const MVector &mv3)
    Return the median of three motion vectors.
- MVector MvMedian (const std::vector< MVector > &vect_list)
    Return the median of a set of motion vectors.
- MVector MvMean (MVector &mv1, MVector &mv2)
    Return the mean of two motion vectors.
- int Norm2 (const MVector &mv)
    Return the squared length of a motion vector.
- int Norm1 (const MVector &mv)
    Return the sum of the lengths of a motion vector's componets.
- unsigned int GetMean (std::vector< unsigned int > &values)
    Return the mean of a set of unsigned integer values.
- void SetDefaultCodecParameters (CodecParams &cparams, FrameType ftype)
    Sets default codec parameters - common to encoder and decoder.
- void SetDefaultEncoderParameters (EncoderParams &encparams)
    Sets default encoder parameters.
- void SetDefaultSourceParameters (const VideoFormat &vf, SourceParams &sparams)
    Sets default Source parameters.
- void SetDefaultSequenceParameters (SeqParams &sparams)
    Sets default sequence parameters.
- void SetDefaultBlockParameters (OLBParams &bparams, const VideoFormat &video_format)
    Sets default block parameters.
- void SetDefaultBlockParameters (OLBParams &bparams, int pidx)
    Sets default block parameters.
- unsigned int BlockParametersIndex (const OLBParams &bparams)
    Returns index of block parameters in Defaults table.
- void AddNewVlist (CandidateList &vect_list, const MVector &mv, const int xr, const int yr)
    Add a new motion vector list of neighbours of a vector to the set of lists.
- void AddNewVlist (CandidateList &vect_list, const MVector &mv, const int xr, const int yr, const int step)
    Add a new motion vector list to the set of lists for sub-pixel matching.
- void AddNewVlistD (CandidateList &vect_list, const MVector &mv, const int xr, const int yr)
    Add a new motion vector list of diagnonal neighbours of a vector to the set of lists.
- void AddVect (CandidateList &vect_list, const MVector &mv, const int list_num)
    Add a motion vector to the set of motion vector lists.
- ValueType GetVar (const MVector &mv1, const MVector &mv2)
    Get the (absolute) variation between two motion vectors.
- ValueType GetVar (const std::vector< MVector > &pred_list, const MVector &mv)
    Get the (absolute) variation between a motion vector and a list of motion vectors.

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