Dirac - A Video Codec

Created by the British Broadcasting Corporation.


dirac::BlockDiffQuarterPel Class Reference

A class for doing differences with quarter-pixel accurate vectors.

#include <me_utils.h>

Inheritance diagram for dirac::BlockDiffQuarterPel:
Collaboration diagram for dirac::BlockDiffQuarterPel:

Public Member Functions

 BlockDiffQuarterPel (const PicArray &ref, const PicArray &pic)
 Constructor, initialising the reference and picture data.
 ~BlockDiffQuarterPel ()
 Destructor.
float Diff (const BlockDiffParams &dparams, const MVector &mv)
 Do the difference, returning SAD.
void Diff (const BlockDiffParams &dparams, const MVector &mv, const float mvcost, const float lambda, MvCostData &best_costs, MVector &best_mv)
 Do the actual difference, overwriting the best MV so far if appropriate.
Public Member Functions inherited from dirac::BlockDiffUp
 BlockDiffUp (const PicArray &ref, const PicArray &pic)
 Constructor, initialising the reference and picture data.
virtual ~BlockDiffUp ()
 Destructor.
Public Member Functions inherited from dirac::BlockDiff
 BlockDiff (const PicArray &ref, const PicArray &pic)
 Constructor, initialising the reference and picture data.
virtual ~BlockDiff ()
 Destructor.

Private Member Functions

 BlockDiffQuarterPel (const BlockDiffQuarterPel &cpy)
 Private, bodyless copy-constructor: class should not be copied.
BlockDiffQuarterPeloperator= (const BlockDiffQuarterPel &rhs)
 Private, bodyless assignment=: class should not be assigned.

Additional Inherited Members

Protected Attributes inherited from dirac::BlockDiff
const PicArraym_pic_data
const PicArraym_ref_data

Constructor & Destructor Documentation

◆ BlockDiffQuarterPel() [1/2]

dirac::BlockDiffQuarterPel::BlockDiffQuarterPel ( const PicArray & ref,
const PicArray & pic )

Referenced by BlockDiffQuarterPel(), and operator=().

◆ ~BlockDiffQuarterPel()

dirac::BlockDiffQuarterPel::~BlockDiffQuarterPel ( )
inline

◆ BlockDiffQuarterPel() [2/2]

dirac::BlockDiffQuarterPel::BlockDiffQuarterPel ( const BlockDiffQuarterPel & cpy)
private

References BlockDiffQuarterPel().

Member Function Documentation

◆ Diff() [1/2]

float dirac::BlockDiffQuarterPel::Diff ( const BlockDiffParams & dparams,
const MVector & mv )
virtual

Do the difference, returning SAD

Parameters
dparamsblock parameters
mvthe motion vector being used

Implements dirac::BlockDiffUp.

◆ Diff() [2/2]

void dirac::BlockDiffQuarterPel::Diff ( const BlockDiffParams & dparams,
const MVector & mv,
const float mvcost,
const float lambda,
MvCostData & best_costs,
MVector & best_mv )
virtual

Do the actual difference, overwriting the best MV so far if appropriate, and bailing out if we do worse

Parameters
dparamsblock parameters
mvthe motion vector being used
mvcostthe (prediction) cost of the motion vector mv
lambdathe weighting to be given to mvcost
best_coststhe best Lagrangian costs obtained yet
best_mvthe MV giving the best Lagrangian costs so far

Implements dirac::BlockDiffUp.

◆ operator=()

BlockDiffQuarterPel & dirac::BlockDiffQuarterPel::operator= ( const BlockDiffQuarterPel & rhs)
private

References BlockDiffQuarterPel().


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.