# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

# dirac::GenericIntraDCBandCodec< EntropyCodec > Class Template Reference

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

`#include <band_codec.h>`

Inheritance diagram for dirac::GenericIntraDCBandCodec< EntropyCodec >:

List of all members.

## Public Member Functions

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

## Protected Member Functions

- void ClearBlock (const CodeBlock &code_block, CoeffArray &coeff_data)
    When coding a skipped block, propegate the predicted values for future non skipped blocks.
- CoeffType GetPrediction (const CoeffArray &data, const int xpos, const int ypos) const
    Prediction of a DC value from its previously coded neighbours.
- void DecodeCoeffBlock (const CodeBlock &code_block, CoeffArray &out_data)
    Decode codeblock of coefficients and perform DC prediction.

### template<typename EntropyCodec>
class dirac::GenericIntraDCBandCodec< EntropyCodec >

## Constructor & Destructor Documentation

template<typename EntropyCodec>

dirac::GenericIntraDCBandCodec< EntropyCodec >::GenericIntraDCBandCodec | ( | SubbandByteIO * | subband_byteio,
|  | size_t | number_of_contexts,
|  | const SubbandList & | band_list |
| ) |  |  | `[inline]`

Creates a IntraDCBandCodec object to encode subband data

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

## Member Function Documentation

template<typename EntropyCodec >

void GenericIntraDCBandCodec::ClearBlock | ( | const CodeBlock & | code_block,
|  | CoeffArray & | coeff_data |
| ) |  |  | `[inline, protected, virtual]`

Reimplemented from dirac::GenericBandCodec< EntropyCodec >.

References dirac::GenericIntraDCBandCodec< EntropyCodec >::GetPrediction(), dirac::CodeBlock::Xend(), dirac::CodeBlock::Xstart(), dirac::CodeBlock::Yend(), and dirac::CodeBlock::Ystart().

template<typename EntropyCodec >

void GenericIntraDCBandCodec::DecodeCoeffBlock | ( | const CodeBlock & | code_block,
|  | CoeffArray & | out_data |
| ) |  |  | `[inline, protected, virtual]`

Reimplemented from dirac::GenericBandCodec< EntropyCodec >.

References dirac::GenericIntraDCBandCodec< EntropyCodec >::GetPrediction(), dirac::CodeBlock::Xend(), dirac::CodeBlock::Xstart(), dirac::CodeBlock::Yend(), and dirac::CodeBlock::Ystart().

template<typename EntropyCodec >

CoeffType GenericIntraDCBandCodec::GetPrediction | ( | const CoeffArray & | data,
|  | const int | xpos,
|  | const int | ypos |
| ) |  |  | const`[inline, protected]`

Referenced by dirac::GenericIntraDCBandCodec< EntropyCodec >::ClearBlock(), and dirac::GenericIntraDCBandCodec< EntropyCodec >::DecodeCoeffBlock().

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

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