Dirac - A Video Codec

Created by the British Broadcasting Corporation.


dirac::Subband Class Reference

Class encapsulating all the metadata relating to a wavelet subband.

#include <wavelet_utils.h>

Collaboration diagram for dirac::Subband:

Public Member Functions

 Subband ()
 Default constructor.
 Subband (int xpos, int ypos, int xlen, int ylen)
 Constructor.
 Subband (int xpos, int ypos, int xlen, int ylen, int d)
 Constructor.
 ~Subband ()
 Destructor.
int Xl () const
 Return the width of the subband.
int Xp () const
 Return the horizontal position of the subband.
int Yl () const
 Return the height of the subband.
int Yp () const
 Return the vertical position of the subband.
int Max () const
 Return the index of the maximum bit of the largest coefficient.
double Wt () const
 Return the subband perceptual weight.
int Depth () const
 Return the depth of the subband in the transform.
int Scale () const
 Return the scale of the subband, viewed as a subsampled version of the picture.
int QuantIndex () const
 Return a quantisation index.
bool UsingMultiQuants () const
 Return a flag indicating whether we have separate quantisers for each code block.
int Parent () const
 Return the index of the parent subband.
const std::vector< int > & Children () const
 Return the indices of any child subbands.
int Child (const int n) const
 Return the index of a specific child band.
TwoDArray< CodeBlock > & GetCodeBlocks ()
 Return the code blocks.
const TwoDArray< CodeBlock > & GetCodeBlocks () const
 Return the code blocks.
bool Skipped () const
 Returns true if subband is skipped, false if not.
void SetWt (const float w)
 Set the perceptual weight.
void SetParent (const int p)
 Set the parent index.
void SetDepth (const int d)
 Set the subband depth.
void SetMax (const int m)
 Set the index of the maximum bit of the largest coefficient.
void SetNumBlocks (const int ynum, const int xnum)
 Set the number of (spatial) quantisers in the subband. Creates code block structure.
void SetQuantIndex (const int idx)
 Set the quantisation index.
void SetUsingMultiQuants (const bool multi)
 Set the number of (spatial) quantisers in the subband. Creates code block structure.
void SetSkip (const bool skip)
 Set whether the subband is skipped or not.

Private Attributes

int m_xp
int m_yp
int m_xl
int m_yl
double m_wt
int m_depth
int m_qindex
int m_parent
std::vector< int > m_children
int m_max_bit
TwoDArray< CodeBlockm_code_block_array
bool m_multi_quants
bool m_skipped

Constructor & Destructor Documentation

◆ Subband() [1/3]

dirac::Subband::Subband ( )

◆ Subband() [2/3]

dirac::Subband::Subband ( int xpos,
int ypos,
int xlen,
int ylen )

The constructor parameters are

Parameters
xposthe xposition of the subband when packed into a big array with all the others
yposthe xposition of the subband
xlenthe width of the subband
ylenthe height of the subband

◆ Subband() [3/3]

dirac::Subband::Subband ( int xpos,
int ypos,
int xlen,
int ylen,
int d )

The constructor parameters are

Parameters
xposthe xposition of the subband when packed into a big array with all the others
yposthe xposition of the subband
xlenthe width of the subband
ylenthe height of the subband
dthe depth of the subband in the wavelet transform

◆ ~Subband()

dirac::Subband::~Subband ( )

Member Function Documentation

◆ Child()

int dirac::Subband::Child ( const int n) const
inline

References m_children.

◆ Children()

const std::vector< int > & dirac::Subband::Children ( ) const
inline

References m_children.

◆ Depth()

int dirac::Subband::Depth ( ) const
inline

References m_depth.

◆ GetCodeBlocks() [1/2]

TwoDArray< CodeBlock > & dirac::Subband::GetCodeBlocks ( )
inline

References m_code_block_array.

◆ GetCodeBlocks() [2/2]

const TwoDArray< CodeBlock > & dirac::Subband::GetCodeBlocks ( ) const
inline

References m_code_block_array.

◆ Max()

int dirac::Subband::Max ( ) const
inline

References m_max_bit.

◆ Parent()

int dirac::Subband::Parent ( ) const
inline

References m_parent.

◆ QuantIndex()

int dirac::Subband::QuantIndex ( ) const
inline

References m_qindex.

◆ Scale()

int dirac::Subband::Scale ( ) const
inline

References m_depth.

◆ SetDepth()

void dirac::Subband::SetDepth ( const int d)
inline

References m_depth.

◆ SetMax()

void dirac::Subband::SetMax ( const int m)
inline

References m_max_bit.

◆ SetNumBlocks()

void dirac::Subband::SetNumBlocks ( const int ynum,
const int xnum )

◆ SetParent()

void dirac::Subband::SetParent ( const int p)
inline

References m_parent.

◆ SetQuantIndex()

void dirac::Subband::SetQuantIndex ( const int idx)
inline

References m_qindex.

◆ SetSkip()

void dirac::Subband::SetSkip ( const bool skip)
inline

References m_skipped.

◆ SetUsingMultiQuants()

void dirac::Subband::SetUsingMultiQuants ( const bool multi)
inline

References m_multi_quants.

◆ SetWt()

void dirac::Subband::SetWt ( const float w)

◆ Skipped()

bool dirac::Subband::Skipped ( ) const
inline

References m_skipped.

◆ UsingMultiQuants()

bool dirac::Subband::UsingMultiQuants ( ) const
inline

References m_multi_quants.

◆ Wt()

double dirac::Subband::Wt ( ) const
inline

References m_wt.

◆ Xl()

int dirac::Subband::Xl ( ) const
inline

References m_xl.

◆ Xp()

int dirac::Subband::Xp ( ) const
inline

References m_xp.

◆ Yl()

int dirac::Subband::Yl ( ) const
inline

References m_yl.

◆ Yp()

int dirac::Subband::Yp ( ) const
inline

References m_yp.

Member Data Documentation

◆ m_children

std::vector<int> dirac::Subband::m_children
private

Referenced by Child(), and Children().

◆ m_code_block_array

TwoDArray<CodeBlock> dirac::Subband::m_code_block_array
private

Referenced by GetCodeBlocks(), and GetCodeBlocks().

◆ m_depth

int dirac::Subband::m_depth
private

Referenced by Depth(), Scale(), and SetDepth().

◆ m_max_bit

int dirac::Subband::m_max_bit
private

Referenced by Max(), and SetMax().

◆ m_multi_quants

bool dirac::Subband::m_multi_quants
private

◆ m_parent

int dirac::Subband::m_parent
private

Referenced by Parent(), and SetParent().

◆ m_qindex

int dirac::Subband::m_qindex
private

Referenced by QuantIndex(), and SetQuantIndex().

◆ m_skipped

bool dirac::Subband::m_skipped
private

Referenced by SetSkip(), and Skipped().

◆ m_wt

double dirac::Subband::m_wt
private

Referenced by Wt().

◆ m_xl

int dirac::Subband::m_xl
private

Referenced by Xl().

◆ m_xp

int dirac::Subband::m_xp
private

Referenced by Xp().

◆ m_yl

int dirac::Subband::m_yl
private

Referenced by Yl().

◆ m_yp

int dirac::Subband::m_yp
private

Referenced by Yp().


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.