# 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:

[legend]
Collaboration diagram for dirac::MvDataByteIO:

[legend]

List of all members.

## Public Member Functions

- MvDataByteIO (FrameParams &fparams, CodecParams &c_params)
    Constructor.
- MvDataByteIO (ByteIO &byte_io, FrameParams &fparams, CodecParams &c_params)
    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 frame prediction mode.
- void InputFrameWeights ()
    Inputs Frame Weights.
- void OutputBlockParams ()
    Outputs block parameters.
- void OutputMVPrecision ()
    Outputs Motion vector precision data.
- void OutputGlobalMotionParams ()
    Outputs global motion parameters.
- void OutputFramePredictionMode ()
    Outputs frame prediction mode.
- void OutputFrameWeights ()
    Outputs Frame Weights.

## Private Attributes

- FrameParams & m_fparams
    Sequence paramters for intput/output.
- CodecParams & m_cparams
    Codec params - EncParams for Output and DecParams for input.
- const CodecParams m_default_cparams
    Default 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 | ( | FrameParams & | fparams,
|  | CodecParams & | c_params |
| ) |  |  |

Parameters:

  | fparams | Frame Params
  | c_params | Codec parameters

dirac::MvDataByteIO::MvDataByteIO | ( | ByteIO & | byte_io,
|  | FrameParams & | fparams,
|  | CodecParams & | c_params |
| ) |  |  |

Parameters:

  | byte_io | Input/Output Byte stream
  | fparams | Frame Params
  | c_params | Codec 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.

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

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

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

Reimplemented from dirac::ByteIO.

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

References m_splitmode_data.

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

References m_predmode_data.

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.

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

References m_ydcblock_data.

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

References m_udcblock_data.

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

References m_vdcblock_data.

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

Reimplemented from dirac::ByteIO.

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

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

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

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

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

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

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

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

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

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

## Member Data Documentation

FrameParams& dirac::MvDataByteIO::m_fparams `[private]`

CodecParams& dirac::MvDataByteIO::m_cparams `[private]`

const CodecParams dirac::MvDataByteIO::m_default_cparams `[private]`

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

Referenced by SplitModeData().

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

Referenced by PredModeData().

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().

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

Referenced by YDCData().

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

Referenced by UDCData().

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

Referenced by VDCData().

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.