# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

# dirac::DCCodec Class Reference

Codes and decodes a set of DC values. More...

`#include <mv_codec.h>`

Inheritance diagram for dirac::DCCodec:

[legend]
Collaboration diagram for dirac::DCCodec:

[legend]

List of all members.

## Public Member Functions

- DCCodec (ByteIO *p_byteio, const CompSort csort, size_t number_of_contexts)
    Constructor.
- void InitContexts ()
    Initialises the contexts.

## Private Member Functions

- DCCodec (const DCCodec &cpy)
    Private, bodyless copy constructor: class should not be copied.
- DCCodec & operator= (const DCCodec &rhs)
    Private, bodyless copy operator=: class should not be assigned.
- void CodeVal (const MvData &in_data)
- void DecodeVal (MvData &out_data)
- void DoWorkCode (MvData &in_data)
- void DoWorkDecode (MvData &out_data)
- void ResetAll ()
- ValueType Prediction (const TwoDArray< ValueType > &dcdata, const TwoDArray< PredMode > &preddata) const

## Private Attributes

- const CompSort m_csort
- int m_b_xp
- int m_b_yp
- int m_mb_xp
- int m_mb_yp
- int m_mb_tlb_x
- int m_mb_tlb_y

## Detailed Description

Derived from the ArithCodec class, this codes and decodes all the DC values for a component

## Constructor & Destructor Documentation

dirac::DCCodec::DCCodec | ( | ByteIO * | p_byteio,
|  | const CompSort | csort,
|  | size_t | number_of_contexts |
| ) |  |  |

Creates a MvDataCodec object to encode MV data, based on parameters

Parameters:

  | p_byteio | Input/output for the encoded bits
  | csort | The identity of the component (Y, U or V)
  | number_of_contexts | the number of contexts used

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

## Member Function Documentation

void dirac::DCCodec::InitContexts | ( |  | ) |

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

void dirac::DCCodec::CodeVal | ( | const MvData & | in_data | ) | `[private]`

void dirac::DCCodec::DecodeVal | ( | MvData & | out_data | ) | `[private]`

void dirac::DCCodec::DoWorkCode | ( | MvData & | in_data | ) | `[private]`

void dirac::DCCodec::DoWorkDecode | ( | MvData & | out_data | ) | `[private]`

void dirac::DCCodec::ResetAll | ( |  | ) | `[private]`

ValueType dirac::DCCodec::Prediction | ( | const TwoDArray< ValueType > & | dcdata,
|  | const TwoDArray< PredMode > & | preddata |
| ) |  |  | const`[private]`

## Member Data Documentation

const CompSort dirac::DCCodec::m_csort`[private]`

int dirac::DCCodec::m_b_xp`[private]`

int dirac::DCCodec::m_b_yp`[private]`

int dirac::DCCodec::m_mb_xp`[private]`

int dirac::DCCodec::m_mb_yp`[private]`

int dirac::DCCodec::m_mb_tlb_x`[private]`

int dirac::DCCodec::m_mb_tlb_y`[private]`

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

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