Dirac - A Video Codec

Created by the British Broadcasting Corporation.


Public Member Functions | Private Attributes | List of all members
dirac::Subband Class Reference

Class encapsulating all the metadata relating to a wavelet subband.

#include <wavelet_utils.h>

Collaboration diagram for dirac::Subband:
Collaboration graph
[legend]

Public Member Functions

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

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

dirac::Subband::Subband ( )
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
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
dirac::Subband::~Subband ( )

Member Function Documentation

int dirac::Subband::Child ( const int  n) const
inline
const std::vector<int>& dirac::Subband::Children ( ) const
inline
int dirac::Subband::Depth ( ) const
inline
TwoDArray<CodeBlock>& dirac::Subband::GetCodeBlocks ( )
inline
const TwoDArray<CodeBlock>& dirac::Subband::GetCodeBlocks ( ) const
inline
int dirac::Subband::Max ( ) const
inline
int dirac::Subband::Parent ( ) const
inline
int dirac::Subband::QuantIndex ( ) const
inline
int dirac::Subband::Scale ( ) const
inline
void dirac::Subband::SetDepth ( const int  d)
inline
void dirac::Subband::SetMax ( const int  m)
inline
void dirac::Subband::SetNumBlocks ( const int  ynum,
const int  xnum 
)
void dirac::Subband::SetParent ( const int  p)
inline
void dirac::Subband::SetQuantIndex ( const int  idx)
inline
void dirac::Subband::SetSkip ( const bool  skip)
inline
void dirac::Subband::SetUsingMultiQuants ( const bool  multi)
inline
void dirac::Subband::SetWt ( const float  w)
bool dirac::Subband::Skipped ( ) const
inline
bool dirac::Subband::UsingMultiQuants ( ) const
inline
double dirac::Subband::Wt ( ) const
inline
int dirac::Subband::Xl ( ) const
inline
int dirac::Subband::Xp ( ) const
inline
int dirac::Subband::Yl ( ) const
inline
int dirac::Subband::Yp ( ) const
inline

Member Data Documentation

std::vector<int> dirac::Subband::m_children
private
TwoDArray<CodeBlock> dirac::Subband::m_code_block_array
private
int dirac::Subband::m_depth
private
int dirac::Subband::m_max_bit
private
bool dirac::Subband::m_multi_quants
private
int dirac::Subband::m_parent
private
int dirac::Subband::m_qindex
private
bool dirac::Subband::m_skipped
private
double dirac::Subband::m_wt
private
int dirac::Subband::m_xl
private
int dirac::Subband::m_xp
private
int dirac::Subband::m_yl
private
int dirac::Subband::m_yp
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.