# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

# dirac::CoeffArray Class Reference

A class for wavelet coefficient data. More...

`#include <wavelet_utils.h>`

Inheritance diagram for dirac::CoeffArray:

List of all members.

## Public Member Functions

- CoeffArray ()
    Default constructor.
- CoeffArray (int height, int width, CompSort cs=Y_COMP)
    Constructor.
- ~CoeffArray ()
    Destructor.
- const CompSort & CSort () const
    Return which component is stored.
- void SetCSort (const CompSort cs)
    Set the type of component being stored.
- SubbandList & BandList ()
    Returns the set of subbands.
- const SubbandList & BandList () const
    Returns the set of subbands.
- void SetBandWeights (const EncoderParams &encparams, const PictureParams &pparams, const CompSort csort, const float cpd_scale_factor)
    Sets the subband weights.

## Private Member Functions

- float PerceptualWeight (float xf, float yf, CompSort cs)
    Given x and y spatial frequencies in cycles per degree, returns a weighting value.

## Private Attributes

- CompSort m_csort
- SubbandList m_band_list

## Detailed Description

A class for encapsulating coefficient data, derived from TwoDArray..

## Constructor & Destructor Documentation

dirac::CoeffArray::CoeffArray | ( |  | ) | `[inline]`

Default constructor creates an empty array.

dirac::CoeffArray::CoeffArray | ( | int | height,
|  | int | width,
|  | CompSort | cs = `Y_COMP` |
| ) |  |  | `[inline]`

Contructor creates a two-D array, with specified size and colour format.

dirac::CoeffArray::~CoeffArray | ( |  | ) | `[inline]`

## Member Function Documentation

const SubbandList& dirac::CoeffArray::BandList | ( |  | ) | const`[inline]`

References m_band_list.

SubbandList& dirac::CoeffArray::BandList | ( |  | ) | `[inline]`

References m_band_list.

const CompSort& dirac::CoeffArray::CSort | ( |  | ) | const`[inline]`

References m_csort.

float dirac::CoeffArray::PerceptualWeight | ( | float | xf,
|  | float | yf,
|  | CompSort | cs |
| ) |  |  | `[private]`

void dirac::CoeffArray::SetBandWeights | ( | const EncoderParams & | encparams,
|  | const PictureParams & | pparams,
|  | const CompSort | csort,
|  | const float | cpd_scale_factor |
| ) |  |  |

Sets perceptual weights for the subbands. Takes into account both perceptual factors (weight noise less at higher spatial frequencies) and the scaling needed for the wavelet transform.

void dirac::CoeffArray::SetCSort | ( | const CompSort | cs | ) | `[inline]`

References m_csort.

## Member Data Documentation

SubbandList dirac::CoeffArray::m_band_list`[private]`

Referenced by BandList().

CompSort dirac::CoeffArray::m_csort`[private]`

Referenced by CSort(), and SetCSort().

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

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