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...
 

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.