Dirac - A Video Codec

Created by the British Broadcasting Corporation.


dirac::MotionCompensator Class Reference

Motion compensator class. More...

#include <mot_comp.h>

Collaboration diagram for dirac::MotionCompensator:

Collaboration graph
[legend]
List of all members.

Public Member Functions

Private Member Functions

Private Attributes


Detailed Description

Motion compensator class, for doing motion compensation with two references and overlapped blocks, using raised-cosine roll-off.


Constructor & Destructor Documentation

dirac::MotionCompensator::MotionCompensator (  const CodecParams &  cp,
const AddOrSub  direction
) 
 

Constructor initialises using codec parameters.

dirac::MotionCompensator::~MotionCompensator (   ) 
 

dirac::MotionCompensator::MotionCompensator (  const MotionCompensator &  cpy  )  [private]
 


Member Function Documentation

void dirac::MotionCompensator::CompensateBlock (  TwoDArray< CalcValueType > &  pic_data,
const PicArray &  refup_data,
const MVector &  Vec,
const ImageCoords &  Pos,
const TwoDArray< CalcValueType > &  Weights
)  [private]
 

void dirac::MotionCompensator::CompensateComponent (  Frame &  picframe,
const Frame &  ref1frame,
const Frame &  ref2frame,
const MvData &  mv_data,
const CompSort  cs
)  [private]
 

void dirac::MotionCompensator::CompensateFrame (  FrameBuffer &  my_buffer,
int  fnum,
const MvData &  mv_data
) 
 

Perform motion compensated addition/subtraction on a frame using parameters

Parameters:
fnum number of frame in the frame buffer to be compensated
my_buffer the FrameBuffer object containing the frame and the reference frames `
mv_data the motion vector data

void dirac::MotionCompensator::CreateBlock (  const OLBParams &  bparams,
bool  FullX,
bool  FullY,
TwoDArray< CalcValueType > &  WeightArray
)  [private]
 

Params defines the block parameters so the relevant weighting arrays can be created. FullX and FullY refer to whether the weight should be adjusted for the edge of an image. eg. 1D Weighting shapes in x direction FullX true FullX false ******** * * * * * *

void dirac::MotionCompensator::DCBlock (  TwoDArray< CalcValueType > &  pic_data,
const ValueType  dc,
const ImageCoords &  Pos,
const TwoDArray< CalcValueType > &  Weights
)  [private]
 

void dirac::MotionCompensator::FlipX (  const TwoDArray< CalcValueType > &  Original,
const OLBParams &  bparams,
TwoDArray< CalcValueType > &  Flipped
)  [private]
 

void dirac::MotionCompensator::FlipY (  const TwoDArray< CalcValueType > &  Original,
const OLBParams &  bparams,
TwoDArray< CalcValueType > &  Flipped
)  [private]
 

MotionCompensator& dirac::MotionCompensator::operator= (  const MotionCompensator &  rhs  )  [private]
 

float dirac::MotionCompensator::RaisedCosine (  float  t,
float  B
)  [private]
 

void dirac::MotionCompensator::ReConfig (   )  [private]
 


Member Data Documentation

bool dirac::MotionCompensator::luma_or_chroma [private]
 

AddOrSub dirac::MotionCompensator::m_add_or_sub [private]
 

TwoDArray<CalcValueType>* dirac::MotionCompensator::m_block_weights [private]
 

OLBParams dirac::MotionCompensator::m_bparams [private]
 

ChromaFormat dirac::MotionCompensator::m_cformat [private]
 

CodecParams dirac::MotionCompensator::m_cparams [private]
 

TwoDArray<CalcValueType>* dirac::MotionCompensator::m_half_block_weights [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.