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. More... | |
| ~SubpelRefine () | |
| Destructor. More... | |
| void | DoSubpel (EncQueue &my_buffer, int pic_num) |
| Does the actual sub-pixel refinement. More... | |
Private Member Functions | |
| SubpelRefine (const SubpelRefine &cpy) | |
| Private, body-less copy constructor: this class should not be copied. More... | |
| SubpelRefine & | operator= (const SubpelRefine &rhs) |
| Private, body-less assignment=: this class should not be assigned. More... | |
| 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. More... | |
| void | DoBlock (const int xblock, const int yblock, BlockMatcher &my_bmatch, MEData &me_data, const int ref_id) |
| Match an individual block. More... | |
| MVector | GetPred (int xblock, int yblock, const MvArray &mvarray) |
| Get a prediction for a block MV from the neighbouring blocks. More... | |
Private Attributes | |
| const EncoderParams & | m_encparams |
| Local reference to the encoder params. More... | |
| const PicturePredParams * | m_predparams |
| A local pointer to the encoder params. More... | |
| CandidateList | m_cand_list |
| The list of candidate vectors being tested. More... | |
| OneDArray< ImageCoords > | m_nshift |
| The relative coords of the set of neighbours used to generate MV predictions. More... | |
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.