# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

# dirac::MvDataByteIO Class Reference

Represents compressed sequence-parameter data used in an AccessUnit.

`#include <mvdata_byteio.h>`

Inheritance diagram for dirac::MvDataByteIO:

List of all members.

## Public Member Functions

- MvDataByteIO (PictureParams &pparams, PicturePredParams &picpredparams)
    Constructor.
- MvDataByteIO (ByteIO &byte_io, PictureParams &pparams, PicturePredParams &picpredparams)
    Constructor.
- virtual ~MvDataByteIO ()
    Destructor.
- void CollateByteStats (DiracByteStats &dirac_byte_stats)
    Gathers byte stats on the motion vector data.
- void Output ()
    Outputs motion vector data Dirac byte-format.
- void Input ()
    Inputs motion vector information.
- virtual const std::string GetBytes ()
    Get string containing coded bytes.
- MvDataElementByteIO * SplitModeData ()
    Return pointer to the superblock splitting modes ByteIO stream.
- MvDataElementByteIO * PredModeData ()
    Return pointer to the superblock splitting modes ByteIO stream.
- MvDataElementByteIO * MV1HorizData ()
    Return pointer to the block MVs reference 1 ByteIO stream.
- MvDataElementByteIO * MV1VertData ()
    Return pointer to the block MVs reference 1 ByteIO stream.
- MvDataElementByteIO * MV2HorizData ()
    Return pointer to the block MV reference 2 ByteIO stream.
- MvDataElementByteIO * MV2VertData ()
    Return pointer to the block MV reference 2 ByteIO stream.
- MvDataElementByteIO * YDCData ()
    Return pointer to the block Y DC values ByteIO stream.
- MvDataElementByteIO * UDCData ()
    Return pointer to the block U DC values ByteIO stream.
- MvDataElementByteIO * VDCData ()
    Return pointer to the block V DC values ByteIO stream.
- int GetSize () const
    Return the size.

## Private Member Functions

- void InputBlockParams ()
    Inputs block parameters.
- void InputMVPrecision ()
    Inputs Motion vector precision data.
- void InputGlobalMotionParams ()
    Inputs global motion parameters.
- void InputFramePredictionMode ()
    Inputs picture prediction mode.
- void InputPictureWeights ()
    Inputs Picture Weights.
- void OutputBlockParams ()
    Outputs block parameters.
- void OutputMVPrecision ()
    Outputs Motion vector precision data.
- void OutputGlobalMotionParams ()
    Outputs global motion parameters.
- void OutputFramePredictionMode ()
    Outputs picture prediction mode.
- void OutputPictureWeights ()
    Outputs Picture Weights.

## Private Attributes

- PictureParams & m_pparams
    Sequence paramters for intput/output.
- PicturePredParams & m_picpredparams
    Codec params - EncParams for Output and DecParams for input.
- MvDataElementByteIO m_splitmode_data
    block data containing split modes
- MvDataElementByteIO m_predmode_data
    block data containing prediction modes
- MvDataElementByteIO m_mv1hblock_data
    block data containing horizontal MV components for reference 1
- MvDataElementByteIO m_mv1vblock_data
    block data containing vertical MV components for reference 1
- MvDataElementByteIO m_mv2hblock_data
    block data containing horizontal MV components for reference 2
- MvDataElementByteIO m_mv2vblock_data
    block data containing vertical MV components for reference 2
- MvDataElementByteIO m_ydcblock_data
    block data containing Y DC data
- MvDataElementByteIO m_udcblock_data
    block data containing U DC data
- MvDataElementByteIO m_vdcblock_data
    block data containing V DC data

## Constructor & Destructor Documentation

dirac::MvDataByteIO::MvDataByteIO | ( | PictureParams & | pparams,
|  | PicturePredParams & | picpredparams |
| ) |  |  |

Parameters:

  | pparams | Picture Params
  | picpredparams | Picture prediction parameters

dirac::MvDataByteIO::MvDataByteIO | ( | ByteIO & | byte_io,
|  | PictureParams & | pparams,
|  | PicturePredParams & | picpredparams |
| ) |  |  |

Parameters:

  | byte_io | Input/Output Byte stream
  | pparams | Picture Params
  | picpredparams | Picture prediction parameters

virtual dirac::MvDataByteIO::~MvDataByteIO | ( |  | ) | `[virtual]`

## Member Function Documentation

void dirac::MvDataByteIO::CollateByteStats | ( | DiracByteStats & | dirac_byte_stats | ) | `[virtual]`

Parameters:

  | dirac_byte_stats | Stat container

Reimplemented from dirac::ByteIO.

virtual const std::string dirac::MvDataByteIO::GetBytes | ( |  | ) | `[virtual]`

Reimplemented from dirac::ByteIO.

int dirac::MvDataByteIO::GetSize | ( |  | ) | const`[virtual]`

Reimplemented from dirac::ByteIO.

void dirac::MvDataByteIO::Input | ( |  | ) |

void dirac::MvDataByteIO::InputBlockParams | ( |  | ) | `[private]`

void dirac::MvDataByteIO::InputFramePredictionMode | ( |  | ) | `[private]`

void dirac::MvDataByteIO::InputGlobalMotionParams | ( |  | ) | `[private]`

void dirac::MvDataByteIO::InputMVPrecision | ( |  | ) | `[private]`

void dirac::MvDataByteIO::InputPictureWeights | ( |  | ) | `[private]`

MvDataElementByteIO* dirac::MvDataByteIO::MV1HorizData | ( |  | ) | `[inline]`

References m_mv1hblock_data.

MvDataElementByteIO* dirac::MvDataByteIO::MV1VertData | ( |  | ) | `[inline]`

References m_mv1vblock_data.

MvDataElementByteIO* dirac::MvDataByteIO::MV2HorizData | ( |  | ) | `[inline]`

References m_mv2hblock_data.

MvDataElementByteIO* dirac::MvDataByteIO::MV2VertData | ( |  | ) | `[inline]`

References m_mv2vblock_data.

void dirac::MvDataByteIO::Output | ( |  | ) |

void dirac::MvDataByteIO::OutputBlockParams | ( |  | ) | `[private]`

void dirac::MvDataByteIO::OutputFramePredictionMode | ( |  | ) | `[private]`

void dirac::MvDataByteIO::OutputGlobalMotionParams | ( |  | ) | `[private]`

void dirac::MvDataByteIO::OutputMVPrecision | ( |  | ) | `[private]`

void dirac::MvDataByteIO::OutputPictureWeights | ( |  | ) | `[private]`

MvDataElementByteIO* dirac::MvDataByteIO::PredModeData | ( |  | ) | `[inline]`

References m_predmode_data.

MvDataElementByteIO* dirac::MvDataByteIO::SplitModeData | ( |  | ) | `[inline]`

References m_splitmode_data.

MvDataElementByteIO* dirac::MvDataByteIO::UDCData | ( |  | ) | `[inline]`

References m_udcblock_data.

MvDataElementByteIO* dirac::MvDataByteIO::VDCData | ( |  | ) | `[inline]`

References m_vdcblock_data.

MvDataElementByteIO* dirac::MvDataByteIO::YDCData | ( |  | ) | `[inline]`

References m_ydcblock_data.

## Member Data Documentation

MvDataElementByteIO dirac::MvDataByteIO::m_mv1hblock_data`[private]`

Referenced by MV1HorizData().

MvDataElementByteIO dirac::MvDataByteIO::m_mv1vblock_data`[private]`

Referenced by MV1VertData().

MvDataElementByteIO dirac::MvDataByteIO::m_mv2hblock_data`[private]`

Referenced by MV2HorizData().

MvDataElementByteIO dirac::MvDataByteIO::m_mv2vblock_data`[private]`

Referenced by MV2VertData().

PicturePredParams& dirac::MvDataByteIO::m_picpredparams`[private]`

PictureParams& dirac::MvDataByteIO::m_pparams`[private]`

MvDataElementByteIO dirac::MvDataByteIO::m_predmode_data`[private]`

Referenced by PredModeData().

MvDataElementByteIO dirac::MvDataByteIO::m_splitmode_data`[private]`

Referenced by SplitModeData().

MvDataElementByteIO dirac::MvDataByteIO::m_udcblock_data`[private]`

Referenced by UDCData().

MvDataElementByteIO dirac::MvDataByteIO::m_vdcblock_data`[private]`

Referenced by VDCData().

MvDataElementByteIO dirac::MvDataByteIO::m_ydcblock_data`[private]`

Referenced by YDCData().

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

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