# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

Public Member Functions | Private Member Functions
dirac::IntraDCBandVLC Class Reference

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

`#include <band_vlc.h>`

Inheritance diagram for dirac::IntraDCBandVLC:

List of all members.

## Public Member Functions
| IntraDCBandVLC (SubbandByteIO *subband_byteio, const SubbandList &band_list)
| Constructor.
Public Member Functions inherited from dirac::GenericIntraDCBandCodec< ArithCodecToVLCAdapter >
| GenericIntraDCBandCodec (SubbandByteIO *subband_byteio, size_t number_of_contexts, const SubbandList &band_list)
| Constructor.
Public Member Functions inherited from dirac::GenericBandCodec< ArithCodecToVLCAdapter >
| GenericBandCodec (SubbandByteIO *subband_byteio, size_t number_of_contexts, const SubbandList &band_list, int band_num, const bool is_intra)
| Constructor.
Public Member Functions inherited from dirac::ArithCodecToVLCAdapter
| ArithCodecToVLCAdapter (SubbandByteIO *subband_byteio, size_t number_of_contexts)
virtual | ~ArithCodecToVLCAdapter ()
int | Compress (CoeffArray &in_data)
void | Decompress (CoeffArray &out_data, int num_bytes)
void | EncodeSymbol (bool val, int)
bool | DecodeSymbol (int)

## Private Member Functions
void | CodeCoeff (CoeffArray &in_data, const int xpos, const int ypos)
| Encode a single coefficient using error-feedback DC quantization.
| IntraDCBandVLC (const IntraDCBandVLC &cpy)
| Private, bodyless copy constructor: class should not be copied.
IntraDCBandVLC & | operator= (const IntraDCBandVLC &rhs)
| Private, bodyless copy operator=: class should not be assigned.

## Additional Inherited Members
Protected Member Functions inherited from dirac::GenericIntraDCBandCodec< ArithCodecToVLCAdapter >
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.
Protected Member Functions inherited from dirac::GenericBandCodec< ArithCodecToVLCAdapter >
void | CodeVal (CoeffArray &in_data, const int xpos, const int ypos, const CoeffType val)
| Code an individual quantised value and perform inverse-quantisation.
void | DecodeVal (CoeffArray &out_data, const int xpos, const int ypos)
| Decode an individual quantised value and perform inverse-quantisation.
void | CodeQuantIndexOffset (const int offset)
| Encode the offset for a code block quantiser.
int | DecodeQuantIndexOffset ()
| Decode the offset for a code block quantiser.
void | SetToVal (const CodeBlock &code_block, CoeffArray &coeff_data, const CoeffType val)
| Set a code block area to a given value.
virtual void | DoWorkCode (CoeffArray &in_data)
virtual void | DoWorkDecode (CoeffArray &out_data)
virtual void | CodeCoeffBlock (const CodeBlock &code_block, CoeffArray &in_data)
virtual void | DecodeCoeff (CoeffArray &in_data, const int xpos, const int ypos)
int | ChooseFollowContext (const int bin_number) const
| A function for choosing the context for "follow bits".
int | ChooseInfoContext () const
| A function for choosing the context for "information bits".
int | ChooseSignContext (const CoeffArray &data, const int xpos, const int ypos) const
| A function for choosing the context for sign bits.

## Detailed Description

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

## Constructor & Destructor Documentation

dirac::IntraDCBandVLC::IntraDCBandVLC | ( | SubbandByteIO * | subband_byteio,
|  | const SubbandList & | band_list
| ) |  |

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

Parameters:

  subband_byteio | input/output for the encoded bits
  band_list | the set of all the subbands

dirac::IntraDCBandVLC::IntraDCBandVLC | ( | const IntraDCBandVLC & | cpy | ) |
| private

## Member Function Documentation

void dirac::IntraDCBandVLC::CodeCoeff | ( | CoeffArray & | in_data,
|  | const int | xpos,
|  | const int | ypos
| ) |  |
| private virtual

Reimplemented from dirac::GenericBandCodec< ArithCodecToVLCAdapter >.

IntraDCBandVLC& dirac::IntraDCBandVLC::operator= | ( | const IntraDCBandVLC & | rhs | ) |
| private

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

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