# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

# dirac::ArithCodecToVLCAdapter Class Reference

`#include <band_vlc.h>`

Inheritance diagram for dirac::ArithCodecToVLCAdapter:

List of all members.

## Public Member Functions

- 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)
- virtual void DoWorkCode (CoeffArray &in_data)=0
- virtual void DoWorkDecode (CoeffArray &out_data)=0

## Protected Attributes

- ByteIO * m_byteio

## Private Member Functions

- ArithCodecToVLCAdapter (const ArithCodecToVLCAdapter &cpy)
    Private, bodyless copy constructor: class should not be copied.
- ArithCodecToVLCAdapter & operator= (const ArithCodecToVLCAdapter &rhs)
    Private, bodyless copy operator=: class should not be assigned.

## Detailed Description

Abstract VLC entropy codec base class

## Constructor & Destructor Documentation

dirac::ArithCodecToVLCAdapter::ArithCodecToVLCAdapter | ( | SubbandByteIO * | subband_byteio,
|  | size_t | number_of_contexts |
| ) |  |  |

Constructor

virtual dirac::ArithCodecToVLCAdapter::~ArithCodecToVLCAdapter | ( |  | ) | `[inline, virtual]`

Virtual Destructor

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

## Member Function Documentation

int dirac::ArithCodecToVLCAdapter::Compress | ( | CoeffArray & | in_data | ) |

bool dirac::ArithCodecToVLCAdapter::DecodeSymbol | ( | int |  | ) | `[inline]`

References m_byteio, and dirac::ByteIO::ReadBoolB().

void dirac::ArithCodecToVLCAdapter::Decompress | ( | CoeffArray & | out_data,
|  | int | num_bytes |
| ) |  |  |

virtual void dirac::ArithCodecToVLCAdapter::DoWorkCode | ( | CoeffArray & | in_data | ) | `[pure virtual]`

Purely virtual function that does the actual encoding. Derived classes must define it

Implemented in dirac::GenericBandCodec< ArithCodecToVLCAdapter >.

virtual void dirac::ArithCodecToVLCAdapter::DoWorkDecode | ( | CoeffArray & | out_data | ) | `[pure virtual]`

Purely virtual function that does the actual decoding. Derived classes must define it

Implemented in dirac::GenericBandCodec< ArithCodecToVLCAdapter >.

void dirac::ArithCodecToVLCAdapter::EncodeSymbol | ( | bool | val,
|  | int |  |
| ) |  |  | `[inline]`

References m_byteio, and dirac::ByteIO::WriteBit().

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

## Member Data Documentation

ByteIO* dirac::ArithCodecToVLCAdapter::m_byteio`[protected]`

Input/output stream for Dirac-format bytes

Referenced by DecodeSymbol(), and EncodeSymbol().

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.