# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

Public Member Functions | Private Attributes | List of all members
dirac::SubbandByteIO Class Reference

Subband Dirac-bytestream input/output.

`#include <subband_byteio.h>`

Inheritance diagram for dirac::SubbandByteIO:
[legend]
Collaboration diagram for dirac::SubbandByteIO:
[legend]

## Public Member Functions
| SubbandByteIO (Subband &sub_band, const ByteIO &byteio)
| Constructor. More...
| SubbandByteIO (Subband &sub_band)
| ~SubbandByteIO ()
| Destructor. More...
bool | Input ()
| Inputs data from Dirac stream-format. More...
int | GetBandDataLength () const
| Gets number of bytes in Arith-coded data block. More...
const std::string | GetBytes ()
| Gets subband bytes in Dirac-bytestream format. More...
Public Member Functions inherited from dirac::ByteIO
| ByteIO (bool new_stream=true)
| Default constructor. More...
| ByteIO (const ByteIO &stream_data)
| Constructor. More...
virtual | ~ByteIO ()
| Destructor. More...
virtual void | CollateByteStats (DiracByteStats &dirac_byte_stats)
| Gathers byte-stream statistics. More...
virtual const std::string | GetBytes ()
| Get bytes in Dirac-bytestream format. More...
int | GetReadBytePosition () const
| Get position of read stream pointer. More...
virtual int | GetSize () const
| Gets size (in bytes) More...
void | SetByteParams (const ByteIO &byte_io)
| Copies stream source/destination info. More...
void | ByteAlignOutput ()
| Sync input for byte-alignment. More...
void | WriteUint (unsigned int value)
| Ouputs an unsigned integer in interleaved exp Golomb format. More...
void | SetBitsLeft (int left_bits)
| Sets input size in bits. More...
int | BitsLeft (void)
| Sets input size in bits. More...

## Private Attributes
Subband & | m_subband
| Sub-band that is inputed/outputed. More...
int | m_band_data_length
| Number of bytes in arith-coded data block. More...

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

## Constructor & Destructor Documentation

## ◆ SubbandByteIO() [1/2]

dirac::SubbandByteIO::SubbandByteIO | ( | Subband & | sub_band,
|  | const ByteIO & | byteio
| ) |  |

Parameters

  sub_band | Corresponding Subband
  byteio | Source/Destination of data

## ◆ SubbandByteIO() [2/2]

dirac::SubbandByteIO::SubbandByteIO | ( | Subband & | sub_band | ) |

## ◆ ~SubbandByteIO()

dirac::SubbandByteIO::~SubbandByteIO | ( |  | ) |

## Member Function Documentation

## ◆ GetBandDataLength()

int dirac::SubbandByteIO::GetBandDataLength | ( |  | ) | const

## ◆ GetBytes()

const std::string dirac::SubbandByteIO::GetBytes | ( |  | ) |
| virtual

Reimplemented from dirac::ByteIO.

## ◆ Input()

bool dirac::SubbandByteIO::Input | ( |  | ) |

## Member Data Documentation

## ◆ m_band_data_length

int dirac::SubbandByteIO::m_band_data_length
| private

## ◆ m_subband

Subband& dirac::SubbandByteIO::m_subband
| private

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

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