Dirac - A Video Codec
Created by the British Broadcasting Corporation.
Go to the documentation of this file.
81 const int xbpos ,
const int ybpos);
virtual float Diff(const BlockDiffParams &dparams, const MVector &mv)=0
Do the difference, returning SAD.
const PicArray & m_pic_data
Definition: me_utils.h:143
virtual float Diff(const BlockDiffParams &dparams, const MVector &mv1, const MVector &mv2)=0
Do the difference, returning SAD.
PelBlockDiff(const PicArray &ref, const PicArray &pic)
Constructor, initialising the reference and picture data.
BiBlockQuarterPel & operator=(const BiBlockQuarterPel &rhs)
Private, bodyless assignment=: class should not be assigned.
A class for picture component data.
Definition: common.h:718
A class for doing block differences to pixel accuracy, inherited from BlockDiff.
Definition: me_utils.h:155
A class for computing a bidirection difference for half-pel vectors.
Definition: me_utils.h:469
A class for doing differences with half-pixel accurate vectors.
Definition: me_utils.h:320
int m_yp
Definition: me_utils.h:106
BlockDiffParams()
Constructor.
Definition: me_utils.h:58
Definition of class SequenceHeaderByteIO.
Definition: accessunit_byteio.h:51
Class for recording costs derived in motion estimation.
Definition: motion.h:192
A virtual class for bi-directional differences.
Definition: me_utils.h:230
~BlockDiffHalfPel()
Destructor.
Definition: me_utils.h:333
BiBlockEighthPel(const PicArray &ref1, const PicArray &ref2, const PicArray &pic)
Constructor, initialising the references and picture data.
int m_yl
Definition: me_utils.h:108
An abstract class for doing block difference calculations.
Definition: me_utils.h:119
const PicArray & m_pic_data
Definition: me_utils.h:255
BiBlockDiff & operator=(const BiBlockDiff &rhs)
Private, bodyless assignment=: class should not be assigned.
int m_xl
Definition: me_utils.h:107
const PicArray & m_pic_data
Definition: me_utils.h:226
BlockDiffHalfPel & operator=(const BlockDiffHalfPel &rhs)
Private, bodyless assignment=: class should not be assigned.
IntraBlockDiff & operator=(const IntraBlockDiff &rhs)
Private, bodyless assignment=: class should not be assigned.
BlockDiffEighthPel & operator=(const BlockDiffEighthPel &rhs)
Private, bodyless assignment=: class should not be assigned.
int m_xp
Definition: me_utils.h:105
int Yl() const
Return the block height.
Definition: me_utils.h:95
float Diff(const BlockDiffParams &dparams, const MVector &mv)
Do the difference, returning SAD.
BiBlockDiff(const PicArray &ref1, const PicArray &ref2, const PicArray &pic)
Constructor, initialising the references and picture data.
int Xend() const
Return the block horizontal endpoint.
Definition: me_utils.h:98
float Diff(const BlockDiffParams &dparams, const MVector &mv)
Do the difference, returning SAD.
BlockDiffQuarterPel(const PicArray &ref, const PicArray &pic)
Constructor, initialising the reference and picture data.
BlockDiffEighthPel(const PicArray &ref, const PicArray &pic)
Constructor, initialising the reference and picture data.
int Xp() const
Return the x-position of the top-left block corner.
Definition: me_utils.h:86
virtual float Diff(const BlockDiffParams &dparams, const MVector &mv)=0
Do the difference, returning SAD.
int Yend() const
Return the block vertical endpoint.
Definition: me_utils.h:101
BlockDiff(const PicArray &ref, const PicArray &pic)
Constructor, initialising the reference and picture data.
float Diff(const BlockDiffParams &dparams, const MVector &mv1, const MVector &mv2)
Do the difference, returning SAD.
~BlockDiffQuarterPel()
Destructor.
Definition: me_utils.h:383
BlockDiff & operator=(const BlockDiff &rhs)
Private, bodyless assignment=: class should not be assigned.
BlockDiffParams(const int x_p, const int y_p, const int x_l, const int y_l)
Constructor.
Definition: me_utils.h:61
float Diff(const BlockDiffParams &dparams, const MVector &mv)
Do the difference, returning SAD.
~BlockDiffEighthPel()
Destructor.
Definition: me_utils.h:432
virtual ~BlockDiffUp()
Destructor.
Definition: me_utils.h:284
float Diff(const BlockDiffParams &dparams, ValueType &dc_val)
Do the difference, calculating the DC value and returning SAD.
BlockDiffUp & operator=(const BlockDiffUp &rhs)
Private, bodyless assignment=: class should not be assigned.
BlockDiffHalfPel(const PicArray &ref, const PicArray &pic)
Constructor, initialising the reference and picture data.
A class for computing a bidirection difference for quarter-pel vectors.
Definition: me_utils.h:498
float Diff(const BlockDiffParams &dparams, const MVector &mv)
Do the difference, returning SAD.
IntraBlockDiff(const PicArray &pic)
Constructor, initialising the picture data.
int m_yend
Definition: me_utils.h:110
PelBlockDiff & operator=(const PelBlockDiff &rhs)
Private, bodyless assignment=: class should not be assigned.
virtual ~BiBlockDiff()
Virtual destructor.
Definition: me_utils.h:243
A class for doing differences with eighth-pixel accurate vectors.
Definition: me_utils.h:420
ValueType CalcDC(const BlockDiffParams &dparams)
Calculate a DC value.
virtual ~BlockDiff()
Destructor
Definition: me_utils.h:131
Parameters for overlapped block motion compensation.
Definition: common.h:817
A virtual class for doing differences with sub-pixel vectors.
Definition: me_utils.h:270
short ValueType
Type of picture data (including motion compensated residuals)
Definition: common.h:70
float Diff(const BlockDiffParams &dparams, const MVector &mv1, const MVector &mv2)
Do the difference, returning SAD.
A class for calculating the difference between a block and its DC value (average)
Definition: me_utils.h:198
BlockDiffUp(const PicArray &ref, const PicArray &pic)
Constructor, initialising the reference and picture data.
A class encapsulating parameters for calculating a block difference value (a single instance of match...
Definition: me_utils.h:53
int Xl() const
Return the block width.
Definition: me_utils.h:92
const PicArray & m_ref_data2
Definition: me_utils.h:257
void SetBlockLimits(const OLBParams &bparams, const PicArray &pic_data, const int xbpos, const int ybpos)
Set the limits of the block to fit in a picture.
int Yp() const
Return the y-position of the top-left block corner.
Definition: me_utils.h:89
const PicArray & m_ref_data
Definition: me_utils.h:144
BiBlockQuarterPel(const PicArray &ref1, const PicArray &ref2, const PicArray &pic)
Constructor, initialising the references and picture data.
float Diff(const BlockDiffParams &dparams, const MVector &mv1, const MVector &mv2)
Do the difference, returning SAD.
BiBlockHalfPel & operator=(const BiBlockHalfPel &rhs)
Private, bodyless assignment=: class should not be assigned.
BiBlockHalfPel(const PicArray &ref1, const PicArray &ref2, const PicArray &pic)
Constructor, initialising the references and picture data.
int m_xend
Definition: me_utils.h:109
const PicArray & m_ref_data1
Definition: me_utils.h:256
BiBlockEighthPel & operator=(const BiBlockEighthPel &rhs)
Private, bodyless assignment=: class should not be assigned.
A class for doing differences with quarter-pixel accurate vectors.
Definition: me_utils.h:371
BlockDiffQuarterPel & operator=(const BlockDiffQuarterPel &rhs)
Private, bodyless assignment=: class should not be assigned.
A class for computing a bidirection difference for eighth-pel vectors.
Definition: me_utils.h:528
© 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.