dirac Namespace Reference


Classes

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  BasicOutputManager
 Class for managing bit- and byte-oriented output. More...
class  UnitOutputManager
 A class for handling data output, including headers. More...
class  FrameOutputManager
class  SequenceOutputManager
class  BitInputManager
 A class for managing bit-wise and byte-wise input. More...
class  CommandLine
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  FrameParams
 Parameters for initialising frame class objects. 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  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
 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  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  PredictStep
 Class to do two-tap prediction lifting step. More...
class  UpdateStep
 Class to do two-tap updating lifting step. More...
class  WaveletTransform
 A class to do wavelet transforms. 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  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  SequenceCompressor
 Compresses 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  SimpleBlockDiff
 A class for doing block differences without bounds-checking, inherited from BlockDiff. More...
class  BChkBlockDiff
 A class for doing block differences with bounds-checking, 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  BiSimpleBlockDiff
 A class for bi-directional differences with two references, and no bounds checking. More...
class  BiBChkBlockDiff
 A class for bi-directional differences with two references, with bounds checking. More...
class  BlockDiffUp
 An abstract class for doing block differences with an upconverted reference. More...
class  SimpleBlockDiffUp
 A class for doing block differences without bounds-checking with upconverted references, inherited from BlockDiffUp. More...
class  BChkBlockDiffUp
 A class for doing block differences with bounds-checking with upconverted references, inherited from BlockDiffUp. More...
class  BiBlockDiffUp
 An abstract class for doing block differences with two upconverted references. More...
class  BiSimpleBlockDiffUp
 A class for doing bi-directional block differences without bounds checking. More...
class  BiBChkBlockDiffUp
 A class for doing bi-directional block differences with bounds checking. 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< 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  PredMode
 Prediction modes for blocks.
enum  CompSort
 Types of picture component.
enum  AddOrSub
 Addition or subtraction.
enum  Direction
 Forward or backward.
enum  WltFilter
 Currently only Daubechies (DAUB) implemented.
enum  CtxAliases
 Contexts used for coefficient coding.
enum  MvCtxAliases
 Contexts used for MV data coding.

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.
std::ostream & operator<< (std::ostream &stream, OLBParams &params)
std::istream & operator>> (std::istream &stream, OLBParams &params)
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)
void UnsignedGolombCode (BasicOutputManager &bitman, const unsigned int val)
 Code a value using unsigned exp-Golomb coding and output it.
void UnsignedGolombCode (std::vector< bool > &bitvec, const unsigned int val)
 Code a value using unsigned exp-Golomb coding and output it to a vector.
void GolombCode (BasicOutputManager &bitman, const int val)
 Code a value using signed exp-Golomb coding and output it.
void GolombCode (vector< bool > &bitvec, const int val)
unsigned int UnsignedGolombDecode (BitInputManager &bitman)
 Decode a value using unsigned exp-Golomb decoding and output it.
unsigned int UnsignedGolombDecode (const std::vector< bool > &bitvec)
 Decode a value using unsigned exp-Golomb decoding and output it.
int GolombDecode (BitInputManager &bitman)
 Decode a value using signed exp-Golomb decoding and output it.
int GolombDecode (const vector< bool > &bitvec)
void GolombCode (std::vector< bool > &bitvec, const int val)
 Code a value using signed exp-Golomb coding and output it to a vector.
int GolombDecode (const std::vector< bool > &bitvec)
 Decode a value using signed exp-Golomb decoding and output it.
ostream & operator<< (ostream &stream, MvCostData &cost)
 Overloaded operator<< for MvCostData.
istream & operator>> (istream &stream, MvCostData &cost)
 Overloaded operator>> for MvCostData.
istream & operator>> (istream &stream, PredMode &mode)
 Overloaded operator>> for PredMode.
istream & operator>> (istream &stream, MEData &me_data)
ostream & operator<< (ostream &stream, MEData &me_data)
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.
int GetMean (std::vector< int > &values)
 Return the mean of a set of integer values.
unsigned int GetMean (std::vector< unsigned int > &values)
 Return the mean of a set of unsigned integer values.
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.
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 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 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.

Variables

const unsigned int START_CODE_PREFIX = 0x42424344
 Prefix for all start codes.
const unsigned int START_CODE_PREFIX_BYTE0
const unsigned int START_CODE_PREFIX_BYTE1
const unsigned int START_CODE_PREFIX_BYTE2
const unsigned int START_CODE_PREFIX_BYTE3
const unsigned char RAP_START_CODE = 0xD7
 Random Access Point (RAP) Intra Frame start Code.
const unsigned char IFRAME_START_CODE = 0xD6
 Non-RAP Intra Frame start code.
const unsigned char L1FRAME_START_CODE = 0xD4
 L1 Frame start code.
const unsigned char L2FRAME_START_CODE = 0xD5
 L2 Frame start code.
const unsigned char SEQ_END_CODE = 0xD0
 Sequence end code.
const unsigned char NOT_START_CODE = 0xFF
 Not a start code but part of data.
const unsigned char BITSTREAM_VERSION = 0x02
 Bitstream version.


Function Documentation

void dirac::AddVect CandidateList &  vect_list,
const MVector mv,
const int  list_num
 

Add a motion vector to the set of motion vector lists.

Add a motion vector to the set of motion vector lists, making sure it's not a duplicate.

Definition at line 192 of file block_match.cpp.

References AddVect(), dirac::MotionVector< T >::x, and dirac::MotionVector< T >::y.

Referenced by AddNewVlist(), AddNewVlistD(), and AddVect().

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

Definition at line 47 of file dirac_assertions.cpp.

References dirac_report().

void dirac::dirac_report const char *  p_fname,
int  line_number,
const char *  p_mess
 

Print a message to standard error

Definition at line 54 of file dirac_assertions.cpp.

Referenced by dirac_assert().

ValueType dirac::GetVar const std::vector< MVector > &  pred_list,
const MVector mv
 

Get the (absolute) variation between a motion vector and a list of motion vectors.

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

Definition at line 57 of file block_match.cpp.

References Norm1(), dirac::MotionVector< T >::x, and dirac::MotionVector< T >::y.

ValueType dirac::GetVar const MVector mv1,
const MVector mv2
 

Get the (absolute) variation between two motion vectors.

Return the variation between two motion vectors, computed as the sum of absolute differences of their components.

Definition at line 48 of file block_match.cpp.

References Norm1(), dirac::MotionVector< T >::x, and dirac::MotionVector< T >::y.

Referenced by dirac::BlockMatcher::FindBestMatch(), and dirac::BlockMatcher::FindBestMatchSubp().

ostream& dirac::operator<< ostream &  stream,
MvCostData cost
 

Overloaded operator<< for MvCostData.

Only writes SAD value to stream

Definition at line 371 of file motion.cpp.

References dirac::MvCostData::mvcost, and dirac::MvCostData::SAD.

istream& dirac::operator>> istream &  stream,
PredMode mode
 

Overloaded operator>> for PredMode.

No operator<< is specified as enumeration is written as integers operator>> required to specify PredMode input

Definition at line 394 of file motion.cpp.

istream& dirac::operator>> istream &  stream,
MvCostData cost
 

Overloaded operator>> for MvCostData.

Only reads SAD value from stream

Definition at line 382 of file motion.cpp.

References dirac::MvCostData::mvcost, and dirac::MvCostData::SAD.


Generated on Tue Dec 13 14:49:18 2005 for guliverkli by  doxygen 1.4.5