- Main Page
- Namespaces
- Classes
- Files
- Directories

- Namespace List
- Namespace Members

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