# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

Public Member Functions | Private Member Functions
dirac::BlockDiffEighthPel Class Reference

A class for doing differences with eighth-pixel accurate vectors.

`#include <me_utils.h>`

Inheritance diagram for dirac::BlockDiffEighthPel:

List of all members.

## Public Member Functions
| BlockDiffEighthPel (const PicArray &ref, const PicArray &pic)
| Constructor, initialising the reference and picture data.
| ~BlockDiffEighthPel ()
| Destructor.
float | Diff (const BlockDiffParams &dparams, const MVector &mv)
| Do the difference, returning SAD.
void | Diff (const BlockDiffParams &dparams, const MVector &mv, const float mvcost, const float lambda, MvCostData &best_costs, MVector &best_mv)
| Do the actual difference, overwriting the best MV so far if appropriate.
Public Member Functions inherited from dirac::BlockDiffUp
| BlockDiffUp (const PicArray &ref, const PicArray &pic)
| Constructor, initialising the reference and picture data.
virtual | ~BlockDiffUp ()
| Destructor.
Public Member Functions inherited from dirac::BlockDiff
| BlockDiff (const PicArray &ref, const PicArray &pic)
| Constructor, initialising the reference and picture data.
virtual | ~BlockDiff ()
| Destructor.

## Private Member Functions
| BlockDiffEighthPel (const BlockDiffEighthPel &cpy)
| Private, bodyless copy-constructor: class should not be copied.
BlockDiffEighthPel & | operator= (const BlockDiffEighthPel &rhs)
| Private, bodyless assignment=: class should not be assigned.

## Constructor & Destructor Documentation

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

dirac::BlockDiffEighthPel::~BlockDiffEighthPel | ( |  | ) |
| inline

dirac::BlockDiffEighthPel::BlockDiffEighthPel | ( | const BlockDiffEighthPel & | cpy | ) |
| private

## Member Function Documentation

float dirac::BlockDiffEighthPel::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::BlockDiffUp.

void dirac::BlockDiffEighthPel::Diff | ( | const BlockDiffParams & | dparams,
|  | const MVector & | mv,
|  | const float | mvcost,
|  | const float | lambda,
|  | MvCostData & | best_costs,
|  | MVector & | best_mv
| ) |  |
| virtual

Do the actual 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
  mvcost | the (prediction) cost of the motion vector mv
  lambda | the weighting to be given to mvcost
  best_costs | the best Lagrangian costs obtained yet
  best_mv | the MV giving the best Lagrangian costs so far

Implements dirac::BlockDiffUp.

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