Dirac - A Video Codec

Created by the British Broadcasting Corporation.


dirac::BlockDiff Class Referenceabstract

An abstract class for doing block difference calculations.

#include <me_utils.h>

Inheritance diagram for dirac::BlockDiff:
Collaboration diagram for dirac::BlockDiff:

Public Member Functions

 BlockDiff (const PicArray &ref, const PicArray &pic)
 Constructor, initialising the reference and picture data.
virtual ~BlockDiff ()
 Destructor.
virtual float Diff (const BlockDiffParams &dparams, const MVector &mv)=0
 Do the difference, returning SAD.

Protected Attributes

const PicArraym_pic_data
const PicArraym_ref_data

Private Member Functions

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

Constructor & Destructor Documentation

◆ BlockDiff() [1/2]

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

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

◆ ~BlockDiff()

virtual dirac::BlockDiff::~BlockDiff ( )
inlinevirtual

◆ BlockDiff() [2/2]

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

References BlockDiff().

Member Function Documentation

◆ Diff()

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

Do the difference, returning SAD

Parameters
dparamsblock parameters
mvthe motion vector being used

Implemented in dirac::BlockDiffEighthPel, dirac::BlockDiffHalfPel, dirac::BlockDiffQuarterPel, dirac::BlockDiffUp, and dirac::PelBlockDiff.

◆ operator=()

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

References BlockDiff().

Member Data Documentation

◆ m_pic_data

const PicArray& dirac::BlockDiff::m_pic_data
protected

◆ m_ref_data

const PicArray& dirac::BlockDiff::m_ref_data
protected

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.