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:

dirac::CodingParamsByteIO dirac::ComponentByteIO dirac::DiracByteStream dirac::MvDataByteIO dirac::MvDataElementByteIO dirac::ParseParamsByteIO dirac::ParseUnitByteIO dirac::SourceParamsByteIO dirac::SubbandByteIO dirac::TransformByteIO

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

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

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

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

References mp_stream.

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

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

Parameters:
byte_io Byte source/destination

void dirac::ByteIO::ByteAlignOutput (  ) 

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

Parameters:
value Integer to be output

void dirac::ByteIO::SetBitsLeft ( int  left_bits  )  [inline]

Read is limited by this

References m_bits_left.

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

Read is limited by this

References m_bits_left.

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

References mp_stream.

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

References BIT_IN_CHAR.

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

References BIT_IN_CHAR.

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

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

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

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

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

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

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

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

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

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

References mp_stream.

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

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

References m_num_bytes, and mp_stream.

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

References m_num_bytes, and mp_stream.

Referenced by InputUnString().

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

References InputUnByte().

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

Parameters:
bit 1/0 Output

Referenced by dirac::ArithCodecBase::EncodeSymbol().

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

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

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

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

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

References m_num_bytes, and mp_stream.

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

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

Parameters:
val 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

References m_num_bytes, and mp_stream.

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]

References mp_stream.


Friends And Related Function Documentation

friend class ArithCodecBase [friend]

friend class BandVLC [friend]

friend class IntraDCBandVLC [friend]


Member Data Documentation

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

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

Referenced by OutputCurrentByte().

Referenced by OutputCurrentByte().

Referenced by BitsLeft(), and SetBitsLeft().


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.