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 BandVLC [friend]
 

friend class IntraDCBandVLC [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.