81 const int xbpos ,
const int ybpos);
Definition of class SequenceHeaderByteIO.
Definition accessunit_byteio.h:52
short ValueType
Type of picture data (including motion compensated residuals)
Definition common.h:70
MotionVector< int > MVector
MVector class is a vector of ints.
Definition motion.h:180
A class for picture component data.
Definition common.h:719
Parameters for overlapped block motion compensation.
Definition common.h:818
Class for recording costs derived in motion estimation.
Definition motion.h:193
A class encapsulating parameters for calculating a block difference value (a single instance of match...
Definition me_utils.h:54
int Yp() const
Return the y-position of the top-left block corner.
Definition me_utils.h:89
BlockDiffParams(const int x_p, const int y_p, const int x_l, const int y_l)
Constructor.
Definition me_utils.h:61
int Yend() const
Return the block vertical endpoint.
Definition me_utils.h:101
int m_yend
Definition me_utils.h:110
int m_yp
Definition me_utils.h:106
int Xp() const
Return the x-position of the top-left block corner.
Definition me_utils.h:86
int m_xp
Definition me_utils.h:105
int Xend() const
Return the block horizontal endpoint.
Definition me_utils.h:98
BlockDiffParams()
Constructor.
Definition me_utils.h:58
int Xl() const
Return the block width.
Definition me_utils.h:92
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 m_xl
Definition me_utils.h:107
int Yl() const
Return the block height.
Definition me_utils.h:95
int m_yl
Definition me_utils.h:108
int m_xend
Definition me_utils.h:109
virtual float Diff(const BlockDiffParams &dparams, const MVector &mv)=0
Do the difference, returning SAD.
virtual ~BlockDiff()
Destructor.
Definition me_utils.h:131
const PicArray & m_pic_data
Definition me_utils.h:143
BlockDiff(const PicArray &ref, const PicArray &pic)
Constructor, initialising the reference and picture data.
BlockDiff(const BlockDiff &cpy)
Private, bodyless copy-constructor: class should not be copied.
BlockDiff & operator=(const BlockDiff &rhs)
Private, bodyless assignment=: class should not be assigned.
const PicArray & m_ref_data
Definition me_utils.h:144
PelBlockDiff(const PicArray &ref, const PicArray &pic)
Constructor, initialising the reference and picture data.
PelBlockDiff(const PelBlockDiff &cpy)
Private, bodyless copy-constructor: class should not be copied.
float Diff(const BlockDiffParams &dparams, const MVector &mv)
Do the difference, returning SAD.
PelBlockDiff & operator=(const PelBlockDiff &rhs)
Private, bodyless assignment=: class should not be assigned.
void Diff(const BlockDiffParams &dparams, const MVector &mv, float &best_sum, MVector &best_mv)
Do the difference, overwriting the best MV so far if appropriate.
const PicArray & m_pic_data
Definition me_utils.h:226
IntraBlockDiff & operator=(const IntraBlockDiff &rhs)
Private, bodyless assignment=: class should not be assigned.
IntraBlockDiff(const IntraBlockDiff &cpy)
Private, bodyless copy-constructor: class should not be copied.
float Diff(const BlockDiffParams &dparams, ValueType &dc_val)
Do the difference, calculating the DC value and returning SAD.
ValueType CalcDC(const BlockDiffParams &dparams)
Calculate a DC value.
IntraBlockDiff(const PicArray &pic)
Constructor, initialising the picture data.
BiBlockDiff & operator=(const BiBlockDiff &rhs)
Private, bodyless assignment=: class should not be assigned.
const PicArray & m_pic_data
Definition me_utils.h:255
virtual float Diff(const BlockDiffParams &dparams, const MVector &mv1, const MVector &mv2)=0
Do the difference, returning SAD.
const PicArray & m_ref_data1
Definition me_utils.h:256
const PicArray & m_ref_data2
Definition me_utils.h:257
virtual ~BiBlockDiff()
Virtual destructor.
Definition me_utils.h:243
BiBlockDiff(const PicArray &ref1, const PicArray &ref2, const PicArray &pic)
Constructor, initialising the references and picture data.
BiBlockDiff(const BiBlockDiff &cpy)
Private, bodyless copy-constructor: class should not be copied.
virtual ~BlockDiffUp()
Destructor.
Definition me_utils.h:284
BlockDiffUp(const PicArray &ref, const PicArray &pic)
Constructor, initialising the reference and picture data.
virtual void Diff(const BlockDiffParams &dparams, const MVector &mv, const float mvcost, const float lambda, MvCostData &best_costs, MVector &best_mv)=0
Do the actual difference, overwriting the best MV so far if appropriate.
BlockDiffUp & operator=(const BlockDiffUp &rhs)
Private, bodyless assignment=: class should not be assigned.
virtual float Diff(const BlockDiffParams &dparams, const MVector &mv)=0
Do the difference, returning SAD.
BlockDiffUp(const BlockDiffUp &cpy)
Private, bodyless copy-constructor: class should not be copied.
BlockDiffHalfPel & operator=(const BlockDiffHalfPel &rhs)
Private, bodyless assignment=: class should not be assigned.
BlockDiffHalfPel(const BlockDiffHalfPel &cpy)
Private, bodyless copy-constructor: class should not be copied.
void Diff(const BlockDiffParams &dparams, const MVector &mv, const float mvcost, const float lambda, MvCostData &best_costs, MVector &best_mv)
Do the actual difference, overwriting the best MV so far if appropriate.
~BlockDiffHalfPel()
Destructor.
Definition me_utils.h:333
BlockDiffHalfPel(const PicArray &ref, const PicArray &pic)
Constructor, initialising the reference and picture data.
float Diff(const BlockDiffParams &dparams, const MVector &mv)
Do the difference, returning SAD.
float Diff(const BlockDiffParams &dparams, const MVector &mv)
Do the difference, returning SAD.
BlockDiffQuarterPel & operator=(const BlockDiffQuarterPel &rhs)
Private, bodyless assignment=: class should not be assigned.
~BlockDiffQuarterPel()
Destructor.
Definition me_utils.h:383
BlockDiffQuarterPel(const PicArray &ref, const PicArray &pic)
Constructor, initialising the reference and picture data.
void Diff(const BlockDiffParams &dparams, const MVector &mv, const float mvcost, const float lambda, MvCostData &best_costs, MVector &best_mv)
Do the actual difference, overwriting the best MV so far if appropriate.
BlockDiffQuarterPel(const BlockDiffQuarterPel &cpy)
Private, bodyless copy-constructor: class should not be copied.
float Diff(const BlockDiffParams &dparams, const MVector &mv)
Do the difference, returning SAD.
void Diff(const BlockDiffParams &dparams, const MVector &mv, const float mvcost, const float lambda, MvCostData &best_costs, MVector &best_mv)
Do the actual difference, overwriting the best MV so far if appropriate.
BlockDiffEighthPel(const PicArray &ref, const PicArray &pic)
Constructor, initialising the reference and picture data.
BlockDiffEighthPel(const BlockDiffEighthPel &cpy)
Private, bodyless copy-constructor: class should not be copied.
~BlockDiffEighthPel()
Destructor.
Definition me_utils.h:432
BlockDiffEighthPel & operator=(const BlockDiffEighthPel &rhs)
Private, bodyless assignment=: class should not be assigned.
BiBlockHalfPel & operator=(const BiBlockHalfPel &rhs)
Private, bodyless assignment=: class should not be assigned.
BiBlockHalfPel(const BiBlockHalfPel &cpy)
Private, bodyless copy-constructor: class should not be copied.
float Diff(const BlockDiffParams &dparams, const MVector &mv1, const MVector &mv2)
Do the difference, returning SAD.
BiBlockHalfPel(const PicArray &ref1, const PicArray &ref2, const PicArray &pic)
Constructor, initialising the references and picture data.
BiBlockQuarterPel(const BiBlockQuarterPel &cpy)
Private, bodyless copy-constructor: class should not be copied.
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.
BiBlockQuarterPel & operator=(const BiBlockQuarterPel &rhs)
Private, bodyless assignment=: class should not be assigned.
BiBlockEighthPel(const BiBlockEighthPel &cpy)
Private, bodyless copy-constructor: class should not be copied.
float Diff(const BlockDiffParams &dparams, const MVector &mv1, const MVector &mv2)
Do the difference, returning SAD.
BiBlockEighthPel & operator=(const BiBlockEighthPel &rhs)
Private, bodyless assignment=: class should not be assigned.
BiBlockEighthPel(const PicArray &ref1, const PicArray &ref2, const PicArray &pic)
Constructor, initialising the references and picture data.