Dirac - A Video Codec

Created by the British Broadcasting Corporation.


dirac::ByteIO Class Reference

Class ByteIO - top-level class for reading/writing bytes to a stream.

#include <byteio.h>

Inheritance diagram for dirac::ByteIO:

Inheritance graph
[legend]
List of all members.

Public Member Functions

Protected Member Functions

Protected Attributes

Private Attributes

Friends


Constructor & Destructor Documentation

dirac::ByteIO::ByteIO bool  new_stream = true  ) 
 

Parameters:
new_stream Has Creates & owns data buffer

dirac::ByteIO::ByteIO const ByteIO stream_data  ) 
 

Parameters:
stream_data Copies data buffer details

virtual dirac::ByteIO::~ByteIO  )  [virtual]
 


Member Function Documentation

void dirac::ByteIO::ByteAlignInput  )  [protected]
 

void dirac::ByteIO::ByteAlignOutput  ) 
 

bool dirac::ByteIO::CanRead  )  const [inline, protected]
 

virtual void dirac::ByteIO::CollateByteStats DiracByteStats dirac_byte_stats  )  [inline, virtual]
 

Parameters:
dirac_byte_stats Collates byte information

Reimplemented in dirac::ComponentByteIO, dirac::EndOfSequenceByteIO, dirac::FrameByteIO, dirac::MvDataByteIO, dirac::ParseUnitByteIO, and dirac::TransformByteIO.

bool dirac::ByteIO::GetBit unsigned char &  c,
int  pos
const [inline, protected]
 

virtual const std::string dirac::ByteIO::GetBytes  )  [virtual]
 

Reimplemented in dirac::DiracByteStream, dirac::FrameByteIO, dirac::MvDataByteIO, dirac::MvDataElementByteIO, dirac::ParseUnitByteIO, dirac::SubbandByteIO, and dirac::TransformByteIO.

int dirac::ByteIO::GetReadBytePosition  )  const [inline]
 

virtual int dirac::ByteIO::GetSize  )  const [virtual]
 

Reimplemented in dirac::AccessUnitByteIO, dirac::FrameByteIO, dirac::MvDataByteIO, dirac::MvDataElementByteIO, dirac::ParseUnitByteIO, and dirac::TransformByteIO.

bool dirac::ByteIO::InputBit  )  [protected]
 

void dirac::ByteIO::InputBytes char *  data,
int  count
[inline, protected]
 

Parameters:
data Start of char buffer
count Number of bytes to read

unsigned int dirac::ByteIO::InputFixedLengthUint const int  byte_size  )  [inline, protected]
 

Parameters:
byte_size Number of bytes in fixed length integer
Returns:
Unsigned Integer read

unsigned char dirac::ByteIO::InputUnByte  )  [inline, protected]
 

std::string dirac::ByteIO::InputUnString const int  count  )  [inline, protected]
 

int dirac::ByteIO::InputVarLengthInt  )  [protected]
 

unsigned int dirac::ByteIO::InputVarLengthUint  )  [protected]
 

Returns:
Unsigned Integer read

void dirac::ByteIO::OutputBit const bool &  bit  )  [protected]
 

Parameters:
bit 1/0 Output

void dirac::ByteIO::OutputBytes const std::string &  bytes  )  [inline, protected]
 

void dirac::ByteIO::OutputCurrentByte  )  [inline, protected]
 

void dirac::ByteIO::OutputFixedLengthUint const unsigned int &  value,
const int &  length
[inline, protected]
 

Parameters:
value Integer to be output
length number of bytes in val to output

void dirac::ByteIO::OutputVarLengthInt const int  val  )  [protected]
 

Parameters:
val Integer to be output

void dirac::ByteIO::OutputVarLengthUint const unsigned int &  value  ) 
 

Parameters:
value Integer to be output

void dirac::ByteIO::RemoveRedundantBytes const int  count  )  [protected]
 

Parameters:
count Number of bytes to be removed from beginning of stream

void dirac::ByteIO::SeekGet const int  offset,
std::ios_base::seekdir  dir
[inline, protected]
 

void dirac::ByteIO::SetBit unsigned char &  c,
int  pos
const [inline, protected]
 

void dirac::ByteIO::SetBits unsigned char &  c,
unsigned char  bits
const [inline, protected]
 

void dirac::ByteIO::SetByteParams const ByteIO byte_io  ) 
 

Parameters:
byte_io Byte source/destination


Friends And Related Function Documentation

friend class ArithCodecBase [friend]
 


Member Data Documentation

unsigned char dirac::ByteIO::m_current_byte [private]
 

int dirac::ByteIO::m_current_pos [private]
 

bool dirac::ByteIO::m_new_stream [private]
 

int dirac::ByteIO::m_num_bytes [private]
 

std::stringstream* dirac::ByteIO::mp_stream [protected]
 


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

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