Created by the British Broadcasting Corporation.
The SubpelRefine class takes pixel-accurate motion vectors and refines them to 1/8-pixel accuracy. More...
#include <me_subpel.h>
Public Member Functions | |
SubpelRefine (const EncoderParams &encp) | |
Constructor. | |
~SubpelRefine () | |
Destructor. | |
void | DoSubpel (EncQueue &my_buffer, int pic_num) |
Does the actual sub-pixel refinement. |
Private Member Functions | |
SubpelRefine (const SubpelRefine &cpy) | |
Private, body-less copy constructor: this class should not be copied. | |
SubpelRefine & | operator= (const SubpelRefine &rhs) |
Private, body-less assignment=: this class should not be assigned. | |
void | MatchPic (const PicArray &pic_data, const PicArray &refup_data, MEData &me_data, int ref_id) |
Match a picture from its (upconverted) reference, and record the block mvs. | |
void | DoBlock (const int xblock, const int yblock, BlockMatcher &my_bmatch, MEData &me_data, const int ref_id) |
Match an individual block. | |
MVector | GetPred (int xblock, int yblock, const MvArray &mvarray) |
Get a prediction for a block MV from the neighbouring blocks. |
Private Attributes | |
const EncoderParams & | m_encparams |
Local reference to the encoder params. | |
const PicturePredParams * | m_predparams |
A local pointer to the encoder params. | |
CandidateList | m_cand_list |
The list of candidate vectors being tested. | |
OneDArray< ImageCoords > | m_nshift |
The relative coords of the set of neighbours used to generate MV predictions. |
The SubpelRefine class takes pixel-accurate motion vectors and refines them to 1/8-pixel accuracy. It uses references upconverted by a factor of 2 in each dimension, with the remaining precision gained by doing linear interpolation between values on-the-fly.
dirac::SubpelRefine::SubpelRefine | ( | const EncoderParams & | encp | ) |
The constructor initialises the encoder parameters.
encp | the parameters used for controlling ME/MC |
|
inline |
|
private |
|
private |
void dirac::SubpelRefine::DoSubpel | ( | EncQueue & | my_buffer, |
int | pic_num | ||
) |
Does the actual sub-pixel refinement.
my_buffer | the buffer of pictures being used |
pic_num | the picture number on which motion estimation is being performed |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
© 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.