Dirac - A Video Codec

Created by the British Broadcasting Corporation.


Classes | Typedefs | Enumerations | Functions
dirac Namespace Reference

Definition of class SequenceHeaderByteIO. More...

Classes

class  SequenceHeaderByteIO
 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  CodingParamsByteIO
 Represents compressed sequence-parameter data used in an AccessUnit. More...
class  ComponentByteIO
 Picture 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  SourceParamsByteIO
 Represents compressed source-parameter data contained in a sequence header. More...
class  EndOfSequenceByteIO
 Signals the end of a sequence in a Dirac-formatted bitstream. More...
class  MvDataByteIO
 Represents compressed sequence-parameter data used in an AccessUnit. More...
class  MvDataElementByteIO
 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  PictureByteIO
 A compressed picture in Dirac bytestream format. More...
class  SubbandByteIO
 Subband Dirac-bytestream input/output. More...
class  TransformByteIO
 Represents compressed sequence-parameter data used in an AccessUnit. 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  GenericBandCodec
 A template class for coding and decoding wavelet subband data. More...
class  GenericIntraDCBandCodec
 A template class specially for coding the DC subband of Intra frames. More...
class  IntraDCBandCodec
 A class specially for coding the DC subband of Intra frames. More...
class  ArithCodecToVLCAdapter
class  IntraDCBandVLC
 A class specially for coding the DC subband of Intra frames. More...
class  CommandLine
class  Rational
 Class defining a rational number. More...
class  PictureSort
 Picture type Class. More...
class  SourceParams
 Parameters relating to the source material being encoded/decoded. More...
class  PictureParams
 Parameters for initialising picture class objects. 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  ParseParams
 Parameters relating to the complexity of encoder/decoder. More...
class  CodeBlocks
 Structure to hold code block sizes when spatial partitioning is used. More...
class  PicturePredParams
 Structure to hold motion parameters when motion comp 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  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  SplitModeCodec
 Codes and decodes the split mode. More...
class  PredModeCodec
 Codes and decodes the prediction modes. More...
class  VectorElementCodec
 Codes and decodes an array of motion vectors. More...
class  DCCodec
 Codes and decodes a set of DC values. More...
class  StreamPicOutput
 Class for outputting pictures. More...
class  StreamFrameOutput
class  StreamFieldOutput
class  MemoryStreamOutput
class  FileStreamOutput
class  StreamPicInput
 Picture input class. More...
class  StreamFrameInput
class  StreamFieldInput
class  MemoryStreamInput
class  FileStreamInput
 Picture input class. More...
class  Picture
 A class for encapsulating all the data relating to a picture. More...
class  PictureBuffer
 Holds pictures both for reference and to overcome reordering delay. 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  VHFilter
 A virtual parent class to do vertical and horizontal splitting with wavelet filters. More...
class  VHFilterDAUB9_7
 Class to do Daubechies (9,7) filtering operations. More...
class  VHFilterLEGALL5_3
 Class to do (5,3) wavelet filtering operations. More...
class  VHFilterDD9_7
 A short filter that's actually close to Daubechies (9,7) but with just two lifting steps. More...
class  VHFilterDD13_7
 An extension of DD9_7, with a better low-pass filter but more computation. More...
class  VHFilterHAAR0
 Class to do Haar wavelet filtering operations. More...
class  VHFilterHAAR1
 Class to do Haar wavelet filtering operations with a single shift per level. More...
class  VHFilterHAAR2
 Class to do Haar wavelet filtering operations with a double shift per level. More...
class  PredictStepShift
 Class to do two-tap prediction lifting step. More...
class  UpdateStepShift
 Class to do two-tap updating lifting step. More...
class  PredictStepFourTap
 Class to do symmetric four-tap prediction lifting step. More...
class  UpdateStepFourTap
 Class to do symmetric four-tap update lifting step. More...
class  PredictStep97
 Class to do two-tap prediction lifting step for Daubechies (9,7) More...
class  UpdateStep97
 Class to do two-tap update lifting step for Daubechies (9,7) More...
class  CoeffArray
 A class for wavelet coefficient data. More...
class  WaveletTransform
 A class to do wavelet transforms. More...
class  CompCompressor
 Compress a picture component. More...
class  EncPicture
class  EncQueue
 Holds pictures both for reference and to overcome reordering delay. More...
class  PictureCompressor
 Compress a single image picture. More...
class  QualityMonitor
 Class to monitor the quality of pictures and adjust coding parameters appropriately. More...
class  QuantChooser
 Choose a quantiser. More...
class  FrameComplexity
class  RateController
 A clas for allocation the bits to each and every types of frames in a GOP. More...
class  SequenceCompressor
 Compresses a sequence of frames/fields from a stream. More...
class  FrameSequenceCompressor
 Compresses a sequence of frames from a stream. More...
class  FieldSequenceCompressor
 Compresses a sequence of fields from a stream. More...
class  CompDecompressor
 Decompress a picture component. More...
class  InputStreamBuffer
 Input Stream Buffer Class. More...
class  DiracParser
 Dirac Stream Parser Class. More...
class  PictureDecompressor
 Compress a single image picture. More...
class  SequenceDecompressor
 Decompresses a sequence of pictures 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 superblock 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  PixelMatcher

Typedefs

typedef GenericBandCodec
< ArithCodec< CoeffArray > > 
BandCodec
 A general class for coding and decoding wavelet subband data.
typedef BandCodec LFBandCodec
typedef GenericBandCodec
< ArithCodecToVLCAdapter
BandVLC
 A general class for coding and decoding wavelet subband data using variable length coding.
typedef short ValueType
 Type of picture data (including motion compensated residuals)
typedef int CoeffType
 Type of wavelet coefficient data (should be larger than ValueType)
typedef int CalcValueType
 Type for performing calculations on ValueType and CoeffType. Should be >ValueType, >=CoeffType.
typedef MotionVector< int > MVector
 MVector class is a vector of ints.
typedef MotionVector< int > ImageCoords
 ImageCoords class is a vector of ints.
typedef TwoDArray< MVectorMvArray
 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_SEQ_HEADER = 0, PU_PICTURE, PU_END_OF_SEQUENCE, PU_AUXILIARY_DATA,
  PU_PADDING_DATA, PU_CORE_PICTURE, PU_LOW_DELAY_PICTURE, 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 {
  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, SB_SPLIT_BIN1_CTX, SB_SPLIT_BIN2_CTX, SB_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_PICTURE_RATE, ERR_INVALID_SIGNAL_RANGE, ERR_INVALID_PIXEL_ASPECT_RATIO, ERR_INVALID_VIDEO_DEPTH,
  ERR_INVALID_MOTION_VECTOR_PRECISION, ERR_INVALID_INIT_DATA
}
 Enumeration of Dirac-defined error codes. More...
enum  DiracSeverityCode {
  SEVERITY_NO_ERROR = 0, SEVERITY_WARNING, SEVERITY_PICTURE_ERROR, SEVERITY_ACCESSUNIT_ERROR,
  SEVERITY_SEQUENCE_ERROR, SEVERITY_TERMINATE
}
 Error-severity states. More...
enum  MvElement { HORIZONTAL, VERTICAL }
 Horizontal or vertical. 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.
PixelAspectRatioType IntToPixelAspectRatioType (int pix_asr_idx)
 Function to convert an integer to a valid PixelAspectRatio 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.
int Median (const int val1, const int val2, const int val3)
 Return the median of 3 integers.
MVector MvMedian (const MVector &mv1, const MVector &mv2, const MVector &mv3)
 Return the median of three motion vectors.
int Median (const std::vector< int > &val_list)
 Return the median of a set of integers.
MVector MvMedian (const std::vector< MVector > &vect_list)
 Return the median of a set of (up to 4) motion vectors.
MVector MvMean (const MVector &mv1, const 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 GetUMean (std::vector< unsigned int > &values)
 Return the mean of a set of unsigned integer values.
int GetSMean (std::vector< int > &values)
 Return the mean of a set of signed integer values.
void SetDefaultCodecParameters (CodecParams &cparams, PictureType ptype, unsigned int num_refs)
 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 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 SetDefaultTransformFilter (const PictureType ptype, const VideoFormat video_format, WltFilter &wf)
 Sets the default Transform filter depending on picture type.
void CWMFilter (Picture &picture, const int strength)
 Denoises an input frame.
void CWMFilterComponent (PicArray &pic_data, const int strength)
ValueType Median (const ValueType *val_list, const int length)
void LPFilter (PicArray &pic_data, const float qf, const int strength)
 Denoises a component.
void DiagFilter (PicArray &pic_data, const float qf, const int strength)
 Diagonally filters an input component.
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.

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

Definition of class ParseUnitByteIO.

Definition of class ParseParamsByteIO.

Definition of class MvDataElementByteIO.

Definition of class MvDataByteIO.

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

A general class for coding and decoding wavelet subband data, deriving from the abstract ArithCodec class.

A general class for coding and decoding wavelet subband data using variable length coding,

typedef int dirac::CalcValueType
typedef std::vector< std::vector< MVector > > dirac::CandidateList
typedef int dirac::CoeffType
typedef short dirac::ValueType

Enumeration Type Documentation

Enumerator:
ADD 
SUBTRACT 
Enumerator:
Y_COMP 
U_COMP 
V_COMP 
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 
Enumerator:
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 
Enumerator:
SEVERITY_NO_ERROR 
SEVERITY_WARNING 
SEVERITY_PICTURE_ERROR 
SEVERITY_ACCESSUNIT_ERROR 
SEVERITY_SEQUENCE_ERROR 
SEVERITY_TERMINATE 
Enumerator:
FORWARD 
BACKWARD 
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 
SB_SPLIT_BIN1_CTX 
SB_SPLIT_BIN2_CTX 
SB_SPLIT_INFO_CTX 
TOTAL_MV_CTXS 
Enumerator:
HORIZONTAL 
VERTICAL 
Enumerator:
PU_SEQ_HEADER 
PU_PICTURE 
PU_END_OF_SEQUENCE 
PU_AUXILIARY_DATA 
PU_PADDING_DATA 
PU_CORE_PICTURE 
PU_LOW_DELAY_PICTURE 
PU_UNDEFINED 
Enumerator:
INTRA 
REF1_ONLY 
REF2_ONLY 
REF1AND2 
UNDEFINED 
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 
)
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::BChk ( const ValueType &  num,
const ValueType &  max 
)
inline
unsigned int dirac::BlockParametersIndex ( const OLBParams &  bparams)
Parameters:
bparamsParams object for getting index
void dirac::CWMFilter ( Picture &  picture,
const int  strength 
)
void dirac::CWMFilterComponent ( PicArray &  pic_data,
const int  strength 
)
void dirac::DiagFilter ( PicArray &  pic_data,
const float  qf,
const int  strength 
)
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 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

ChromaFormat dirac::IntToChromaFormat ( int  chroma_format)
Parameters:
chroma_formatInteger 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_idxInteger 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_precInteger 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_idxInteger 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_idxInteger 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_formatInteger corresponding to a format
Returns:
Valid video-format (returns VIDEO_FORMAT_UNDEFINED if no valid format found)
void dirac::LPFilter ( PicArray &  pic_data,
const float  qf,
const int  strength 
)
ValueType dirac::Median ( const ValueType *  val_list,
const int  length 
)
int dirac::Median ( const int  val1,
const int  val2,
const int  val3 
)
int dirac::Median ( const std::vector< int > &  val_list)
MVector dirac::MvMean ( const MVector &  mv1,
const MVector &  mv2 
)
MVector dirac::MvMedian ( const MVector &  mv1,
const MVector &  mv2,
const MVector &  mv3 
)
MVector dirac::MvMedian ( const std::vector< MVector > &  vect_list)
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,
const VideoFormat video_format 
)
Parameters:
bparamsParams object for setting defaults
video_formatVideo format
void dirac::SetDefaultBlockParameters ( OLBParams &  bparams,
int  pidx 
)
Parameters:
bparamsParams object for setting defaults
pidxIndex into Block Parameters table
void dirac::SetDefaultCodecParameters ( CodecParams &  cparams,
PictureType  ptype,
unsigned int  num_refs 
)
Parameters:
cparamsCodec Params objects for setting defaults
ptypePicture type i,e, INTRA or INTER
num_refsNumber of reference frames
void dirac::SetDefaultEncoderParameters ( EncoderParams &  encparams)
Parameters:
encparamsParams objects for setting defaults
void dirac::SetDefaultSourceParameters ( const VideoFormat vf,
SourceParams &  sparams 
)
Parameters:
vfVideo Format
sparamsParams object for setting defaults
void dirac::SetDefaultTransformFilter ( const PictureType  ptype,
const VideoFormat  video_format,
WltFilter wf 
)
Parameters:
ptypePicture type i.e. intra or inter
video_formatThe video format
wfWltFilter 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.