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