# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

# 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:

[legend]
Collaboration diagram for dirac::PelBlockDiff:

[legend]

List of all members.

## Public Member Functions

- PelBlockDiff (const PicArray &ref, const PicArray &pic)
    Constructor, initialising the reference and picture data.
- float Diff (const BlockDiffParams &dparams, const MVector &mv)
    Do the difference, returning SAD.
- 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.

## Private Member Functions

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

## Constructor & Destructor Documentation

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

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

## Member Function Documentation

float dirac::PelBlockDiff::Diff | ( | const BlockDiffParams & | dparams,
|  | const MVector & | mv |
| ) |  |  | `[virtual]`

Do the difference, returning SAD

Parameters:

  | dparams | block parameters
  | mv | the motion vector being used

Implements dirac::BlockDiff.

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:

  | dparams | block parameters
  | mv | the motion vector being used
  | best_sum | the best SAD value obtain yet
  | best_mv | the MV giving the best SAD value so far

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

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.