# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

# dirac::IntraDCBandCodec Class Reference

A class specially for coding the DC subband of Intra frames. More...

`#include <band_codec.h>`

Inheritance diagram for dirac::IntraDCBandCodec:

List of all members.

## Public Member Functions

- IntraDCBandCodec (SubbandByteIO *subband_byteio, size_t number_of_contexts, const SubbandList &band_list)
    Constructor.

## Private Member Functions

- void DoWorkCode (CoeffArray &in_data)
    Initialize extra data required for error-feedback DC quantization.
- void DoWorkDecode (CoeffArray &out_data)
    Ditto.
- void CodeCoeff (CoeffArray &in_data, const int xpos, const int ypos)
    Encode a single coefficient using error-feedback DC quantization.
- void DecodeCoeff (CoeffArray &out_data, const int xpos, const int ypos)
    Decode a single coefficient using error-feedback DC quantization.
- IntraDCBandCodec (const IntraDCBandCodec &cpy)
    Private, bodyless copy constructor: class should not be copied.
- IntraDCBandCodec & operator= (const IntraDCBandCodec &rhs)
    Private, bodyless copy operator=: class should not be assigned.

## Private Attributes

- CoeffArray m_dc_pred_res

## Detailed Description

A class specially for coding the DC subband of Intra frames, using intra-band prediction of coefficients. It uses the abstract ArithCodec class

## Constructor & Destructor Documentation

dirac::IntraDCBandCodec::IntraDCBandCodec | ( | SubbandByteIO * | subband_byteio,
|  | size_t | number_of_contexts,
|  | const SubbandList & | band_list |
| ) |  |  | `[inline]`

Creates a IntraDCBandCodec object to encode subband data, based on parameters

Parameters:

  | subband_byteio | input/output for the encoded bits
  | number_of_contexts | the number of contexts used in the encoding process
  | band_list | the set of all the subbands

dirac::IntraDCBandCodec::IntraDCBandCodec | ( | const IntraDCBandCodec & | cpy | ) | `[private]`

## Member Function Documentation

void dirac::IntraDCBandCodec::CodeCoeff | ( | CoeffArray & | in_data,
|  | const int | xpos,
|  | const int | ypos |
| ) |  |  | `[private, virtual]`

Reimplemented from dirac::GenericBandCodec< ArithCodec< CoeffArray > >.

void dirac::IntraDCBandCodec::DecodeCoeff | ( | CoeffArray & | out_data,
|  | const int | xpos,
|  | const int | ypos |
| ) |  |  | `[private, virtual]`

Reimplemented from dirac::GenericBandCodec< ArithCodec< CoeffArray > >.

void dirac::IntraDCBandCodec::DoWorkCode | ( | CoeffArray & | in_data | ) | `[private, virtual]`

Reimplemented from dirac::GenericBandCodec< ArithCodec< CoeffArray > >.

void dirac::IntraDCBandCodec::DoWorkDecode | ( | CoeffArray & | out_data | ) | `[private, virtual]`

Reimplemented from dirac::GenericBandCodec< ArithCodec< CoeffArray > >.

IntraDCBandCodec& dirac::IntraDCBandCodec::operator= | ( | const IntraDCBandCodec & | rhs | ) | `[private]`

## Member Data Documentation

CoeffArray dirac::IntraDCBandCodec::m_dc_pred_res`[private]`

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

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