# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

# dirac::BiBlockDiff Class Reference

A virtual class for bi-directional differences.

`#include <me_utils.h>`

Inheritance diagram for dirac::BiBlockDiff:

[legend]
Collaboration diagram for dirac::BiBlockDiff:

[legend]

List of all members.

## Public Member Functions

- BiBlockDiff (const PicArray &ref1, const PicArray &ref2, const PicArray &pic)
    Constructor, initialising the references and picture data.
- virtual ~BiBlockDiff ()
    Virtual destructor.
- virtual float Diff (const BlockDiffParams &dparams, const MVector &mv1, const MVector &mv2)=0
    Do the difference, returning SAD.

## Protected Attributes

- const PicArray & m_pic_data
- const PicArray & m_ref_data1
- const PicArray & m_ref_data2

## Private Member Functions

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

## Constructor & Destructor Documentation

dirac::BiBlockDiff::BiBlockDiff | ( | const PicArray & | ref1,
|  | const PicArray & | ref2,
|  | const PicArray & | pic |
| ) |  |  |

virtual dirac::BiBlockDiff::~BiBlockDiff | ( |  | ) | `[inline, virtual]`

dirac::BiBlockDiff::BiBlockDiff | ( | const BiBlockDiff & | cpy | ) | `[private]`

## Member Function Documentation

virtual float dirac::BiBlockDiff::Diff | ( | const BlockDiffParams & | dparams,
|  | const MVector & | mv1,
|  | const MVector & | mv2 |
| ) |  |  | `[pure virtual]`

Do the difference, returning SAD

Parameters:

  | dparams | block parameters
  | mv1 | the motion vector being used for reference 1
  | mv2 | the motion vector being used for reference 2

Implemented in dirac::BiBlockHalfPel, dirac::BiBlockQuarterPel, and dirac::BiBlockEighthPel.

BiBlockDiff& dirac::BiBlockDiff::operator= | ( | const BiBlockDiff & | rhs | ) | `[private]`

## Member Data Documentation

const PicArray& dirac::BiBlockDiff::m_pic_data `[protected]`

const PicArray& dirac::BiBlockDiff::m_ref_data1 `[protected]`

const PicArray& dirac::BiBlockDiff::m_ref_data2 `[protected]`

The documentation for this class was generated from the following file:

- me_utils.h

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