# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

Public Member Functions | Private Member Functions | Private Attributes
dirac::SourceParamsByteIO Class Reference

Represents compressed source-parameter data contained in a sequence header.

`#include <displayparams_byteio.h>`

Inheritance diagram for dirac::SourceParamsByteIO:

List of all members.

## Public Member Functions
| SourceParamsByteIO (SourceParams &src_params, const SourceParams &default_src_params, const ByteIO &stream_data)
| Constructor for Input/Output.
| ~SourceParamsByteIO ()
| Destructor.
void | Input ()
| Reads source params information from Dirac byte-format.
void | Output ()
| Outputs source params information to Dirac byte-format.
Public Member Functions inherited from dirac::ByteIO
| ByteIO (bool new_stream=true)
| Default constructor.
| ByteIO (const ByteIO &stream_data)
| Constructor.
virtual | ~ByteIO ()
| Destructor.
virtual void | CollateByteStats (DiracByteStats &dirac_byte_stats)
| Gathers byte-stream statistics.
virtual const std::string | GetBytes ()
| Get bytes in Dirac-bytestream format.
int | GetReadBytePosition () const
| Get position of read stream pointer.
virtual int | GetSize () const
| *Gets size (in bytes)
void | SetByteParams (const ByteIO &byte_io)
| Copies stream source/destination info.
void | ByteAlignOutput ()
| Sync input for byte-alignment.
void | WriteUint (unsigned int value)
| Ouputs an unsigned integer in interleaved exp Golomb format.
void | SetBitsLeft (int left_bits)
| Sets input size in bits.
int | BitsLeft (void)
| Sets input size in bits.

## Private Member Functions
void | InputFrameSize ()
| Reads frame dimensions.
void | InputChromaSamplingFormat ()
| Reads Chroma Sampling Format.
void | InputPixelAspectRatio ()
| Reads pixel aspect ratio info.
void | InputCleanArea ()
| Reads clean-area info.
void | InputColourMatrix ()
| Reads colour-matrix info.
void | InputColourPrimaries ()
| Reads primary-colour info.
void | InputColourSpecification ()
| Reads colour spec info.
void | InputFrameRate ()
| Reads frame-rate info.
void | InputScanFormat ()
| Reads Scan info.
void | InputSignalRange ()
| Reads signal range info.
void | InputTransferFunction ()
| Reads transfer-function info.
void | OutputFrameSize ()
| Outputs frame dimensions.
void | OutputChromaSamplingFormat ()
| Outputs Chroma Sampling Format.
void | OutputPixelAspectRatio ()
| Outputs pixel aspect ratio info.
void | OutputCleanArea ()
| Outputs clean-area info.
void | OutputColourSpecification ()
| Outputs colour spec info.
void | OutputFrameRate ()
| Outputs frame-rate info.
void | OutputScanFormat ()
| Outputs Scan info.
void | OutputSignalRange ()
| Outputs signal range info.

## Private Attributes
SourceParams & | m_src_params
| Source parameters for input/ouput.
const SourceParams & | m_default_src_params
| Default source parameters.

## Additional Inherited Members
Protected Member Functions inherited from dirac::ByteIO
bool | CanRead () const
bool | GetBit (unsigned char &c, int pos) const
void | SetBit (unsigned char &c, int pos) const
void | SetBits (unsigned char &c, unsigned char bits) const
void | ByteAlignInput ()
| Sync input for byte-alignment.
bool | ReadBool ()
| Reads boolean value.
bool | ReadBoolB ()
| Reads boolean value - bounded i/o.
int | ReadBit ()
| Reads next bit.
int | ReadBitB ()
| Reads next bit - bounded i/o.
unsigned int | ReadNBits (int count)
| Reads next 'count' bits.
void | InputBytes (char *data, int count)
| Reads from stream.
void | FlushInputB ()
| Flushes the bounde input.
int | ReadSint ()
| Reads a signed integer in interleaved exp-Golomb format *return Signed integer read.
int | ReadSintB ()
| Reads a signed integer in interleaved exp-Golomb format from bounded input *return Signed integer read.
unsigned int | ReadUint ()
| Reads an unsigned integer in interleaved exp Golomb format.
unsigned int | ReadUintB ()
| Reads an unsigned integer in interleaved exp Golomb format from bounded input.
unsigned int | ReadUintLit (const int byte_size)
| Reads a fixed length unsigned integer from the stream in big endian.
unsigned char | InputUnByte ()
| Reads a byte from the stream.
std::string | InputUnString (const int count)
| Reads a series of bytes from a stream.
void | WriteBit (const bool &bit)
| Outputs a bit.
int | WriteNBits (unsigned int val)
| Outputs an unsigned integer.
void | WriteNBits (unsigned int val, int count)
| Outputs an n bit integer.
void | OutputBytes (const std::string &bytes)
| Outputs a series of bytes.
void | OutputCurrentByte ()
| Outputs current byte contents.
void | WriteSint (int val)
| Outputs an integer in Golomb signed integer format.
void | WriteUintLit (const unsigned int &value, const int &length)
| Output unsigned int value in big endian format.
void | RemoveRedundantBytes (const int count)
| Removes portion of byte-stream no longer required.
void | SeekGet (const int offset, std::ios_base::seekdir dir)
Protected Attributes inherited from dirac::ByteIO
std::stringstream * | mp_stream
| Input/output steam.

## Constructor & Destructor Documentation

dirac::SourceParamsByteIO::SourceParamsByteIO | ( | SourceParams & | src_params,
|  | const SourceParams & | default_src_params,
|  | const ByteIO & | stream_data
| ) |  |

Parameters:

  src_params | Source parameters
  default_src_params | Default Source parameters
  stream_data | Source/Destination of data

dirac::SourceParamsByteIO::~SourceParamsByteIO | ( |  | ) |

## Member Function Documentation

void dirac::SourceParamsByteIO::Input | ( |  | ) |

void dirac::SourceParamsByteIO::InputChromaSamplingFormat | ( |  | ) |
| private

void dirac::SourceParamsByteIO::InputCleanArea | ( |  | ) |
| private

void dirac::SourceParamsByteIO::InputColourMatrix | ( |  | ) |
| private

void dirac::SourceParamsByteIO::InputColourPrimaries | ( |  | ) |
| private

void dirac::SourceParamsByteIO::InputColourSpecification | ( |  | ) |
| private

void dirac::SourceParamsByteIO::InputFrameRate | ( |  | ) |
| private

void dirac::SourceParamsByteIO::InputFrameSize | ( |  | ) |
| private

void dirac::SourceParamsByteIO::InputPixelAspectRatio | ( |  | ) |
| private

void dirac::SourceParamsByteIO::InputScanFormat | ( |  | ) |
| private

void dirac::SourceParamsByteIO::InputSignalRange | ( |  | ) |
| private

void dirac::SourceParamsByteIO::InputTransferFunction | ( |  | ) |
| private

void dirac::SourceParamsByteIO::Output | ( |  | ) |

void dirac::SourceParamsByteIO::OutputChromaSamplingFormat | ( |  | ) |
| private

void dirac::SourceParamsByteIO::OutputCleanArea | ( |  | ) |
| private

void dirac::SourceParamsByteIO::OutputColourSpecification | ( |  | ) |
| private

void dirac::SourceParamsByteIO::OutputFrameRate | ( |  | ) |
| private

void dirac::SourceParamsByteIO::OutputFrameSize | ( |  | ) |
| private

void dirac::SourceParamsByteIO::OutputPixelAspectRatio | ( |  | ) |
| private

void dirac::SourceParamsByteIO::OutputScanFormat | ( |  | ) |
| private

void dirac::SourceParamsByteIO::OutputSignalRange | ( |  | ) |
| private

## Member Data Documentation

const SourceParams& dirac::SourceParamsByteIO::m_default_src_params
| private

SourceParams& dirac::SourceParamsByteIO::m_src_params
| private

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

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