Dirac Video Codec

# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

# dirac::MEData Class Reference

Class for all the motion estimation data. More...

`#include <motion.h>`

Inheritance diagram for dirac::MEData:
[legend]
Collaboration diagram for dirac::MEData:
[legend]

List of all members.

## Public Member Functions

- MEData (const PicturePredParams &predparams, const int num_refs=2)
    Constructor.
- ~MEData ()
    Destructor.
- void DropRef (int ref_index)
    drop the data relating to one reference
- TwoDArray< MvCostData > & PredCosts (const int ref_id)
    Get the block cost structures for each reference.
- const TwoDArray< MvCostData > & PredCosts (const int ref_id) const
    Get the block cost structures for each reference.
- TwoDArray< float > & IntraCosts ()
    Get the intra costs.
- const TwoDArray< float > & IntraCosts () const
    Get the intra costs.
- TwoDArray< MvCostData > & BiPredCosts ()
    Get the bipred costs.
- const TwoDArray< MvCostData > & BiPredCosts () const
    Get the bipred costs.
- TwoDArray< float > & MBCosts ()
    Get the MB costs.
- const TwoDArray< float > & MBCosts () const
    Get the MB costs.
- float IntraBlockRatio () const
    Get the proportion of intra blocks.
- void SetIntraBlockRatio (const float r)
    Set the intra block ratio.
- void SetLambdaMap (const int num_refs, const float lambda)
    Set up the lambda map by detecting motion discontinuities.
- void SetLambdaMap (const int level, const TwoDArray< float > &l_map, const float wt)
    Set up the lambda map by averaging the lambda map from a lower level.
- const TwoDArray< float > & LambdaMap () const
    Get a lambda value for a given block and level.
- TwoDArray< int > & GlobalMotionInliers (const int ref_id)
    Get the inliers for each reference.
- const TwoDArray< int > & GlobalMotionInliers (const int ref_id) const
    Get the inliers for each reference.

## Private Member Functions

- void InitMEData ()
- void FindTransitions (TwoDArray< bool > &trans_map, const int ref_num)

## Private Attributes

- OneDArray< TwoDArray
  < MvCostData > * > m_pred_costs
- TwoDArray< float > m_intra_costs
- TwoDArray< MvCostData > m_bipred_costs
- TwoDArray< float > m_MB_costs
- TwoDArray< float > m_lambda_map
- OneDArray< TwoDArray< int > * > m_inliers
- float m_intra_block_ratio

## Friends

- std::ostream & operator<< (std::ostream &stream, MEData &me_data)
    Overloaded operator<< for outputing to (file) stream.
- std::istream & operator>> (std::istream &stream, MEData &me_data)
    Overloaded operator>> for input of data from (file) stream.

## Detailed Description

Motion estimation data: derived from MvData class, also incorporates costs for blocks and macroblocks

## Constructor & Destructor Documentation

dirac::MEData::MEData | ( | const PicturePredParams & | predparams,
|  | const int | num_refs = `2` |
| ) |  |  |

Constructor takes:

Parameters:

  | predparams | the picture prediction parameters
  | num_refs | the number of references being used for the picture

dirac::MEData::~MEData | ( |  | ) |

## Member Function Documentation

void dirac::MEData::DropRef | ( | int | ref_index | ) |

TwoDArray<MvCostData>& dirac::MEData::PredCosts | ( | const int | ref_id | ) | `[inline]`

const TwoDArray<MvCostData>& dirac::MEData::PredCosts | ( | const int | ref_id | ) | const`[inline]`

TwoDArray<float>& dirac::MEData::IntraCosts | ( |  | ) | `[inline]`

const TwoDArray<float>& dirac::MEData::IntraCosts | ( |  | ) | const`[inline]`

TwoDArray<MvCostData>& dirac::MEData::BiPredCosts | ( |  | ) | `[inline]`

const TwoDArray<MvCostData>& dirac::MEData::BiPredCosts | ( |  | ) | const`[inline]`

TwoDArray<float>& dirac::MEData::MBCosts | ( |  | ) | `[inline]`

const TwoDArray<float>& dirac::MEData::MBCosts | ( |  | ) | const`[inline]`

float dirac::MEData::IntraBlockRatio | ( |  | ) | const`[inline]`

void dirac::MEData::SetIntraBlockRatio | ( | const float | r | ) | `[inline]`

void dirac::MEData::SetLambdaMap | ( | const int | num_refs,
|  | const float | lambda |
| ) |  |  |

void dirac::MEData::SetLambdaMap | ( | const int | level,
|  | const TwoDArray< float > & | l_map,
|  | const float | wt |
| ) |  |  |

const TwoDArray<float>& dirac::MEData::LambdaMap | ( |  | ) | const`[inline]`

TwoDArray<int>& dirac::MEData::GlobalMotionInliers | ( | const int | ref_id | ) | `[inline]`

const TwoDArray<int>& dirac::MEData::GlobalMotionInliers | ( | const int | ref_id | ) | const`[inline]`

void dirac::MEData::InitMEData | ( |  | ) | `[private]`

void dirac::MEData::FindTransitions | ( | TwoDArray< bool > & | trans_map,
|  | const int | ref_num |
| ) |  |  | `[private]`

## Friends And Related Function Documentation

std::ostream& operator<< | ( | std::ostream & | stream,
|  | MEData & | me_data |
| ) |  |  | `[friend]`

std::istream& operator>> | ( | std::istream & | stream,
|  | MEData & | me_data |
| ) |  |  | `[friend]`

## Member Data Documentation

OneDArray< TwoDArray<MvCostData>* > dirac::MEData::m_pred_costs`[private]`

TwoDArray<float> dirac::MEData::m_intra_costs`[private]`

TwoDArray<MvCostData> dirac::MEData::m_bipred_costs`[private]`

TwoDArray<float> dirac::MEData::m_MB_costs`[private]`

TwoDArray<float> dirac::MEData::m_lambda_map`[private]`

OneDArray< TwoDArray<int>* > dirac::MEData::m_inliers`[private]`

float dirac::MEData::m_intra_block_ratio`[private]`

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

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