Dirac - A Video Codec

Created by the British Broadcasting Corporation.


dirac::PicturePredParams Class Reference

Structure to hold motion parameters when motion comp is used.

#include <common.h>

Collaboration diagram for dirac::PicturePredParams:

Public Member Functions

 PicturePredParams ()
bool UsingGlobalMotion () const
 Return the global motion flag used for encoding/decoding.
unsigned int PictureWeightsBits () const
 Return the number of picture weight precision bits.
int Ref1Weight () const
 Return the Ref1 weight.
int Ref2Weight () const
 Return the Ref2 weight.
bool CustomRefWeights ()
int XNumSB () const
 Return the number of superblocks horizontally.
int YNumSB () const
 Return the number of superblocks vertically.
int XNumBlocks () const
 Return the number of blocks horizontally.
int YNumBlocks () const
 Returns the number of blocks vertically.
const OLBParamsLumaBParams (int n) const
 Return the Luma block parameters for each macroblock splitting level.
const OLBParamsChromaBParams (int n) const
 Return the Chroma block parameters for each macroblock splitting level.
MVPrecisionType MVPrecision () const
 Return the number of accuracy bits used for motion vectors.
void SetXNumSB (const int xn)
 Set how many SBs there are horizontally.
void SetYNumSB (const int yn)
 Set how many SBs there are vertically.
void SetXNumBlocks (const int xn)
 Set how many blocks there are horizontally.
void SetYNumBlocks (const int yn)
 Set how many blocks there are vertically.
void SetBlockSizes (const OLBParams &olbparams, const ChromaFormat cformat)
 Set the block sizes for all SB splitting levels given these prototype block sizes for level=2.
void SetLumaBlockParams (const OLBParams &olbparams)
 Set block level luma params.
void SetMVPrecision (const MVPrecisionType p)
 Set the number of accuracy bits for motion vectors.
void SetMVPrecision (const MVPrecisionType p) const
void SetUsingGlobalMotion (bool gm)
 Set the wavelet filter used for picture (de)coding.
void SetPictureWeightsPrecision (unsigned int wt_prec)
 Set the picture weight precision bits used for (de)coding.
void SetRef1Weight (int wt)
 Set the ref 1 picture weight.
void SetRef2Weight (int wt)
 Set the ref 2 picture weight.

Private Attributes

int m_x_num_sb
 The number of superblocks horizontally.
int m_y_num_sb
 The number of superblocks verticaly.
int m_x_num_blocks
 The number of blocks horizontally.
int m_y_num_blocks
 The number of blocks vertically.
OneDArray< OLBParamsm_lbparams
OneDArray< OLBParamsm_cbparams
MVPrecisionType m_mv_precision
 The precision of motion vectors (number of accuracy bits eg 1=half-pel accuracy)
unsigned int m_picture_weights_bits
 picture predicion parameters - precision
int m_ref1_weight
 picture predicion parameters - reference picture 1 weight
int m_ref2_weight
 picture predicion parameters - reference picture 2 weight
bool m_use_global_motion
 Global motion fields.

Constructor & Destructor Documentation

◆ PicturePredParams()

dirac::PicturePredParams::PicturePredParams ( )
inline

References m_cbparams, and m_lbparams.

Member Function Documentation

◆ ChromaBParams()

const OLBParams & dirac::PicturePredParams::ChromaBParams ( int n) const
inline

References m_cbparams.

◆ CustomRefWeights()

bool dirac::PicturePredParams::CustomRefWeights ( )
inline

◆ LumaBParams()

const OLBParams & dirac::PicturePredParams::LumaBParams ( int n) const
inline

References m_lbparams.

◆ MVPrecision()

MVPrecisionType dirac::PicturePredParams::MVPrecision ( ) const
inline

References m_mv_precision.

◆ PictureWeightsBits()

unsigned int dirac::PicturePredParams::PictureWeightsBits ( ) const
inline

◆ Ref1Weight()

int dirac::PicturePredParams::Ref1Weight ( ) const
inline

References m_ref1_weight.

◆ Ref2Weight()

int dirac::PicturePredParams::Ref2Weight ( ) const
inline

References m_ref2_weight.

◆ SetBlockSizes()

void dirac::PicturePredParams::SetBlockSizes ( const OLBParams & olbparams,
const ChromaFormat cformat )

◆ SetLumaBlockParams()

void dirac::PicturePredParams::SetLumaBlockParams ( const OLBParams & olbparams)
inline

References m_lbparams.

◆ SetMVPrecision() [1/2]

void dirac::PicturePredParams::SetMVPrecision ( const MVPrecisionType p)
inline

References m_mv_precision, and TESTM.

◆ SetMVPrecision() [2/2]

void dirac::PicturePredParams::SetMVPrecision ( const MVPrecisionType p) const
inline

References m_mv_precision, and TESTM.

◆ SetPictureWeightsPrecision()

void dirac::PicturePredParams::SetPictureWeightsPrecision ( unsigned int wt_prec)
inline

◆ SetRef1Weight()

void dirac::PicturePredParams::SetRef1Weight ( int wt)
inline

References m_ref1_weight.

◆ SetRef2Weight()

void dirac::PicturePredParams::SetRef2Weight ( int wt)
inline

References m_ref2_weight.

◆ SetUsingGlobalMotion()

void dirac::PicturePredParams::SetUsingGlobalMotion ( bool gm)
inline

References m_use_global_motion.

◆ SetXNumBlocks()

void dirac::PicturePredParams::SetXNumBlocks ( const int xn)
inline

References m_x_num_blocks.

◆ SetXNumSB()

void dirac::PicturePredParams::SetXNumSB ( const int xn)
inline

References m_x_num_sb.

◆ SetYNumBlocks()

void dirac::PicturePredParams::SetYNumBlocks ( const int yn)
inline

References m_y_num_blocks.

◆ SetYNumSB()

void dirac::PicturePredParams::SetYNumSB ( const int yn)
inline

References m_y_num_sb.

◆ UsingGlobalMotion()

bool dirac::PicturePredParams::UsingGlobalMotion ( ) const
inline

References m_use_global_motion.

◆ XNumBlocks()

int dirac::PicturePredParams::XNumBlocks ( ) const
inline

References m_x_num_blocks.

◆ XNumSB()

int dirac::PicturePredParams::XNumSB ( ) const
inline

References m_x_num_sb.

◆ YNumBlocks()

int dirac::PicturePredParams::YNumBlocks ( ) const
inline

References m_y_num_blocks.

◆ YNumSB()

int dirac::PicturePredParams::YNumSB ( ) const
inline

References m_y_num_sb.

Member Data Documentation

◆ m_cbparams

OneDArray<OLBParams> dirac::PicturePredParams::m_cbparams
private

Referenced by ChromaBParams(), and PicturePredParams().

◆ m_lbparams

OneDArray<OLBParams> dirac::PicturePredParams::m_lbparams
private

◆ m_mv_precision

MVPrecisionType dirac::PicturePredParams::m_mv_precision
mutableprivate

◆ m_picture_weights_bits

unsigned int dirac::PicturePredParams::m_picture_weights_bits
private

◆ m_ref1_weight

int dirac::PicturePredParams::m_ref1_weight
private

◆ m_ref2_weight

int dirac::PicturePredParams::m_ref2_weight
private

◆ m_use_global_motion

bool dirac::PicturePredParams::m_use_global_motion
private

◆ m_x_num_blocks

int dirac::PicturePredParams::m_x_num_blocks
private

Referenced by SetXNumBlocks(), and XNumBlocks().

◆ m_x_num_sb

int dirac::PicturePredParams::m_x_num_sb
private

Referenced by SetXNumSB(), and XNumSB().

◆ m_y_num_blocks

int dirac::PicturePredParams::m_y_num_blocks
private

Referenced by SetYNumBlocks(), and YNumBlocks().

◆ m_y_num_sb

int dirac::PicturePredParams::m_y_num_sb
private

Referenced by SetYNumSB(), and YNumSB().


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.