Class to do block matching.
#include <block_match.h>
|
| BlockMatcher (const PicArray &ref_data, const PicArray &pic_data, const OLBParams &bparams, const int precision, const MvArray &mv_array, const TwoDArray< MvCostData > &cost_array) |
| Constructor.
|
| ~BlockMatcher () |
void | FindBestMatchPel (const int xpos, const int ypos, const CandidateList &cand_list, const MVector &mv_prediction, const int list_start) |
| Find the best matching vector from a list of candidates.
|
void | FindBestMatchSubp (const int xpos, const int ypos, const CandidateList &cand_list, const MVector &mv_prediction, const float lambda) |
| Find the best matching vector from a list of candidates, to sub-pixel accuracy (TBC: merge with FindBestMatch)
|
void | RefineMatchSubp (const int xpos, const int ypos, const MVector &mv_prediction, const float lambda) |
ValueType | GetVar (const MVector &predmv, const MVector &mv) const |
| Get a measure of the difference between a motion vector and a prediction.
|
ValueType | GetVarUp (const MVector &predmv, const MVector &mv) const |
| Get a measure of the difference between a motion vector and a prediction, to 1/8pel accuracy.
|
void | SetPrecision (const int n) |
◆ BlockMatcher()
Constructor
- Parameters
-
ref_data | the reference picture component |
pic_data | the picture being matched |
bparams | the (overlapped) block parameters to be used for the matching |
precision | the number of bits of precision being used for estimation |
mv_array | the array of vectors we're going to write into |
cost_array | the array of costs we're going to write into |
◆ ~BlockMatcher()
dirac::BlockMatcher::~BlockMatcher |
( |
| ) |
|
◆ FindBestMatchPel()
void dirac::BlockMatcher::FindBestMatchPel |
( |
const int | xpos, |
|
|
const int | ypos, |
|
|
const CandidateList & | cand_list, |
|
|
const MVector & | mv_prediction, |
|
|
const int | list_start ) |
Find the best matching vector from a list of candidates.
- Parameters
-
xpos | the horizontal location of the block being matched |
ypos | the vertical location of the block being matched |
cand_list | the list of candidate vectors |
mv_prediction | Prediction used for each block used to control the variation in the motion vector field. |
list_start | index into the candidate vectors list |
◆ FindBestMatchSubp()
void dirac::BlockMatcher::FindBestMatchSubp |
( |
const int | xpos, |
|
|
const int | ypos, |
|
|
const CandidateList & | cand_list, |
|
|
const MVector & | mv_prediction, |
|
|
const float | lambda ) |
Find the best matching vector from a list of candidates.
- Parameters
-
xpos | the horizontal location of the block being matched |
ypos | the vertical location of the block being matched |
cand_list | the list of candidate vectors |
mv_prediction | the prediction for the motion vector |
lambda | the Lagrangian parameter |
◆ GetVar()
Get a measure of the difference between a motion vector and a prediction
- Parameters
-
predmv | the predicting motion vector |
mv | the motion vector |
◆ GetVarUp()
Get a measure of the difference between a motion vector and a prediction, to 1/8pel accuracy
- Parameters
-
predmv | the predicting motion vector |
mv | the motion vector |
◆ RefineMatchSubp()
void dirac::BlockMatcher::RefineMatchSubp |
( |
const int | xpos, |
|
|
const int | ypos, |
|
|
const MVector & | mv_prediction, |
|
|
const float | lambda ) |
◆ SetPrecision()
void dirac::BlockMatcher::SetPrecision |
( |
const int | n | ) |
|
|
inline |
◆ m_bparams
◆ m_cost_array
◆ m_mv_array
const MvArray& dirac::BlockMatcher::m_mv_array |
|
private |
◆ m_peldiff
◆ m_pic_data
const PicArray& dirac::BlockMatcher::m_pic_data |
|
private |
◆ m_precision
int dirac::BlockMatcher::m_precision |
|
private |
◆ m_ref_data
const PicArray& dirac::BlockMatcher::m_ref_data |
|
private |
◆ m_subpeldiff
◆ m_var_max
const int dirac::BlockMatcher::m_var_max |
|
private |
◆ m_var_max_up
const int dirac::BlockMatcher::m_var_max_up |
|
private |
The documentation for this class was generated from the following file:
© 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.