Dirac - A Video Codec

Created by the British Broadcasting Corporation.


Public Member Functions | Private Member Functions | List of all members
dirac::PelBlockDiff Class Reference

A class for doing block differences to pixel accuracy, inherited from BlockDiff.

#include <me_utils.h>

Inheritance diagram for dirac::PelBlockDiff:
Inheritance graph
[legend]
Collaboration diagram for dirac::PelBlockDiff:
Collaboration graph
[legend]

Public Member Functions

 PelBlockDiff (const PicArray &ref, const PicArray &pic)
 Constructor, initialising the reference and picture data. More...
 
float Diff (const BlockDiffParams &dparams, const MVector &mv)
 Do the difference, returning SAD. More...
 
void Diff (const BlockDiffParams &dparams, const MVector &mv, float &best_sum, MVector &best_mv)
 Do the difference, overwriting the best MV so far if appropriate. More...
 
- Public Member Functions inherited from dirac::BlockDiff
 BlockDiff (const PicArray &ref, const PicArray &pic)
 Constructor, initialising the reference and picture data. More...
 
virtual ~BlockDiff ()
 Destructor
More...
 
virtual float Diff (const BlockDiffParams &dparams, const MVector &mv)=0
 Do the difference, returning SAD. More...
 

Private Member Functions

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

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ PelBlockDiff() [1/2]

dirac::PelBlockDiff::PelBlockDiff ( const PicArray ref,
const PicArray pic 
)

◆ PelBlockDiff() [2/2]

dirac::PelBlockDiff::PelBlockDiff ( const PelBlockDiff cpy)
private

Member Function Documentation

◆ Diff() [1/2]

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

Do the difference, returning SAD

Parameters
dparamsblock parameters
mvthe motion vector being used

Implements dirac::BlockDiff.

◆ Diff() [2/2]

void dirac::PelBlockDiff::Diff ( const BlockDiffParams dparams,
const MVector mv,
float &  best_sum,
MVector best_mv 
)

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

Parameters
dparamsblock parameters
mvthe motion vector being used
best_sumthe best SAD value obtain yet
best_mvthe MV giving the best SAD value so far

◆ operator=()

PelBlockDiff & dirac::PelBlockDiff::operator= ( const PelBlockDiff rhs)
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.