Dirac - A Video Codec

Created by the British Broadcasting Corporation.


MEData Class Reference

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

#include <motion.h>

Inheritance diagram for MEData:
Collaboration diagram for MEData:

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 > & SBCosts ()
 Get the SB costs.
const TwoDArray< float > & SBCosts () const
 Get the SB 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.
Public Member Functions inherited from dirac::MvData
 MvData (const PicturePredParams &predparams, const int num_refs)
 Constructor.
 ~MvData ()
 Destructor.
PicturePredParamsGetPicPredParams ()
 Return a reference to the local picture prediction params.
const PicturePredParamsGetPicPredParams () const
 Return a reference to the local picture prediction params.
MvArrayVectors (const int ref_id)
 Get the MVs for a reference.
const MvArrayVectors (const int ref_id) const
 Get the MVs for a reference.
MvArrayGlobalMotionVectors (const int ref_id)
 Get the global MVs for a reference.
const MvArrayGlobalMotionVectors (const int ref_id) const
 Get the global MVs for a reference.
TwoDArray< ValueType > & DC (CompSort cs)
 Get the DC values for each component.
const TwoDArray< ValueType > & DC (CompSort cs) const
 Get the DC values for each component.
const OneDArray< TwoDArray< ValueType > * > & DC () const
 Get a reference to the vector holding component DC values.
TwoDArray< PredMode > & Mode ()
 Get the block prediction modes.
const TwoDArray< PredMode > & Mode () const
 Get the block prediction modes.
TwoDArray< int > & SBSplit ()
 Get the SB split level.
const TwoDArray< int > & SBSplit () const
 Get the SB split level.
OneDArray< float > & GlobalMotionParameters (const int ref_id)
 Get the global motion model parameters.
const OneDArray< float > & GlobalMotionParameters (const int ref_id) const
 Get the global motion model parameters.

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< MvCostDatam_bipred_costs
TwoDArray< float > m_SB_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.

Additional Inherited Members

Protected Member Functions inherited from dirac::MvData
void InitMvData ()
Protected Attributes inherited from dirac::MvData
PicturePredParams m_predparams
OneDArray< MvArray * > m_vectors
OneDArray< MvArray * > m_gm_vectors
TwoDArray< PredModem_modes
OneDArray< TwoDArray< ValueType > * > m_dc
TwoDArray< int > m_sb_split
OneDArray< OneDArray< float > * > m_gm_params

Detailed Description

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

Constructor & Destructor Documentation

◆ MEData()

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

Constructor takes:

Parameters
predparamsthe picture prediction parameters
num_refsthe number of references being used for the picture

◆ ~MEData()

dirac::MEData::~MEData ( )

Member Function Documentation

◆ BiPredCosts() [1/2]

TwoDArray< MvCostData > & dirac::MEData::BiPredCosts ( )
inline

◆ BiPredCosts() [2/2]

const TwoDArray< MvCostData > & dirac::MEData::BiPredCosts ( ) const
inline

◆ DropRef()

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

◆ FindTransitions()

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

◆ GlobalMotionInliers() [1/2]

TwoDArray< int > & dirac::MEData::GlobalMotionInliers ( const int ref_id)
inline

◆ GlobalMotionInliers() [2/2]

const TwoDArray< int > & dirac::MEData::GlobalMotionInliers ( const int ref_id) const
inline

◆ InitMEData()

void dirac::MEData::InitMEData ( )
private

◆ IntraBlockRatio()

float dirac::MEData::IntraBlockRatio ( ) const
inline

◆ IntraCosts() [1/2]

TwoDArray< float > & dirac::MEData::IntraCosts ( )
inline

◆ IntraCosts() [2/2]

const TwoDArray< float > & dirac::MEData::IntraCosts ( ) const
inline

◆ LambdaMap()

const TwoDArray< float > & dirac::MEData::LambdaMap ( ) const
inline

◆ PredCosts() [1/2]

TwoDArray< MvCostData > & dirac::MEData::PredCosts ( const int ref_id)
inline

◆ PredCosts() [2/2]

const TwoDArray< MvCostData > & dirac::MEData::PredCosts ( const int ref_id) const
inline

◆ SBCosts() [1/2]

TwoDArray< float > & dirac::MEData::SBCosts ( )
inline

◆ SBCosts() [2/2]

const TwoDArray< float > & dirac::MEData::SBCosts ( ) const
inline

◆ SetIntraBlockRatio()

void dirac::MEData::SetIntraBlockRatio ( const float r)
inline

◆ SetLambdaMap() [1/2]

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

◆ SetLambdaMap() [2/2]

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

◆ operator<<

std::ostream & operator<< ( std::ostream & stream,
MEData & me_data )
friend

◆ operator>>

std::istream & operator>> ( std::istream & stream,
MEData & me_data )
friend

Member Data Documentation

◆ m_bipred_costs

TwoDArray<MvCostData> dirac::MEData::m_bipred_costs
private

◆ m_inliers

OneDArray< TwoDArray<int>* > dirac::MEData::m_inliers
private

◆ m_intra_block_ratio

float dirac::MEData::m_intra_block_ratio
private

◆ m_intra_costs

TwoDArray<float> dirac::MEData::m_intra_costs
private

◆ m_lambda_map

TwoDArray<float> dirac::MEData::m_lambda_map
private

◆ m_pred_costs

OneDArray< TwoDArray<MvCostData>* > dirac::MEData::m_pred_costs
private

◆ m_SB_costs

TwoDArray<float> dirac::MEData::m_SB_costs
private

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.