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

int dirac::ByteIO::BitsLeft ( void   )  [inline]

Read is limited by this

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::MvDataByteIO, dirac::ParseUnitByteIO, dirac::PictureByteIO, and dirac::TransformByteIO.

void dirac::ByteIO::FlushInputB (  )  [protected]

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::MvDataByteIO, dirac::MvDataElementByteIO, dirac::ParseUnitByteIO, dirac::PictureByteIO, dirac::SubbandByteIO, and dirac::TransformByteIO.

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

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

Reimplemented in dirac::SequenceHeaderByteIO, dirac::MvDataByteIO, dirac::MvDataElementByteIO, dirac::ParseUnitByteIO, dirac::PictureByteIO, and dirac::TransformByteIO.

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

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

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

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

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

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

int dirac::ByteIO::ReadBit (  )  [protected]

int dirac::ByteIO::ReadBitB (  )  [protected]

bool dirac::ByteIO::ReadBool (  )  [protected]

bool dirac::ByteIO::ReadBoolB (  )  [protected]

unsigned int dirac::ByteIO::ReadNBits ( int  count  )  [protected]

Parameters:
count number of bits to be read
Returns:
unsigned interger read

int dirac::ByteIO::ReadSint (  )  [protected]

int dirac::ByteIO::ReadSintB (  )  [protected]

unsigned int dirac::ByteIO::ReadUint (  )  [protected]

Returns:
Unsigned Integer read

unsigned int dirac::ByteIO::ReadUintB (  )  [protected]

Returns:
Unsigned Integer read

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

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

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::SetBitsLeft ( int  left_bits  )  [inline]

Read is limited by this

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

Parameters:
byte_io Byte source/destination

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

Parameters:
bit 1/0 Output

void dirac::ByteIO::WriteNBits ( unsigned int  val,
int  count 
) [protected]

Parameters:
val Unsigned Integer to be output
count number of bits to be written

int dirac::ByteIO::WriteNBits ( unsigned int  val  )  [protected]

Parameters:
val Integer to be output
Returns:
number of bits written

void dirac::ByteIO::WriteSint ( int  val  )  [protected]

Parameters:
val Integer to be output

void dirac::ByteIO::WriteUint ( unsigned int  value  ) 

Parameters:
value Integer to be output

void dirac::ByteIO::WriteUintLit ( const unsigned int &  value,
const int &  length 
) [inline, protected]

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


Friends And Related Function Documentation

friend class ArithCodecBase [friend]

friend class ArithCodecToVLCAdapter [friend]


Member Data Documentation

int dirac::ByteIO::m_bits_left [private]

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.