Dirac - A Video Codec

Created by the British Broadcasting Corporation.


dirac::SubpelRefine Class Reference

The SubpelRefine class takes pixel-accurate motion vectors and refines them to 1/8-pixel accuracy. More...

#include <me_subpel.h>

Collaboration diagram for dirac::SubpelRefine:

Collaboration graph
[legend]
List of all members.

Public Member Functions

Private Member Functions

Private Attributes


Detailed Description

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.


Constructor & Destructor Documentation

dirac::SubpelRefine::SubpelRefine const EncoderParams cp  ) 
 

The constructor initialises the encoder parameters.

Parameters:
cp the parameters used for controlling encoding

dirac::SubpelRefine::~SubpelRefine  )  [inline]
 

dirac::SubpelRefine::SubpelRefine const SubpelRefine cpy  )  [private]
 


Member Function Documentation

void dirac::SubpelRefine::DoBlock const int  xblock,
const int  yblock,
BlockMatcher my_bmatch,
MEData me_data,
const int  ref_id
[private]
 

void dirac::SubpelRefine::DoSubpel const FrameBuffer my_buffer,
int  frame_num,
MEData me_data
 

Does the actual sub-pixel refinement.

Parameters:
my_buffer the buffer of pictures being used
frame_num the frame number on which motion estimation is being performed
me_data the motion vector data, into which the results will be written

MVector dirac::SubpelRefine::GetPred int  xblock,
int  yblock,
const MvArray mvarray
[private]
 

void dirac::SubpelRefine::MatchPic const PicArray pic_data,
const PicArray refup_data,
MEData me_data,
int  ref_id
[private]
 

SubpelRefine& dirac::SubpelRefine::operator= const SubpelRefine rhs  )  [private]
 


Member Data Documentation

CandidateList dirac::SubpelRefine::m_cand_list [private]
 

const EncoderParams& dirac::SubpelRefine::m_encparams [private]
 

OneDArray<ImageCoords> dirac::SubpelRefine::m_nshift [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.