Dirac - A Video Codec

Created by the British Broadcasting Corporation.


Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | Friends

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_streamHas Creates & owns data buffer
dirac::ByteIO::ByteIO ( const ByteIO stream_data)
Parameters:
stream_dataCopies data buffer details
virtual dirac::ByteIO::~ByteIO ( ) [virtual]

Member Function Documentation

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

Read is limited by this

References m_bits_left.

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

References mp_stream.

virtual void dirac::ByteIO::CollateByteStats ( DiracByteStats dirac_byte_stats) [inline, virtual]
void dirac::ByteIO::FlushInputB ( ) [protected]
bool dirac::ByteIO::GetBit ( unsigned char &  c,
int  pos 
) const [inline, protected]

References BIT_IN_CHAR.

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::InputBytes ( char *  data,
int  count 
) [inline, protected]
Parameters:
dataStart of char buffer
countNumber of bytes to read

References 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::OutputBytes ( const std::string &  bytes) [inline, protected]

References m_num_bytes, and mp_stream.

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:
countnumber 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_sizeNumber of bytes in fixed length integer
Returns:
Unsigned Integer read

References m_num_bytes, and mp_stream.

void dirac::ByteIO::RemoveRedundantBytes ( const int  count) [protected]
Parameters:
countNumber 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.

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

Read is limited by this

References m_bits_left.

void dirac::ByteIO::SetByteParams ( const ByteIO byte_io)
Parameters:
byte_ioByte source/destination
void dirac::ByteIO::WriteBit ( const bool &  bit) [protected]
void dirac::ByteIO::WriteNBits ( unsigned int  val,
int  count 
) [protected]
Parameters:
valUnsigned Integer to be output
countnumber of bits to be written
int dirac::ByteIO::WriteNBits ( unsigned int  val) [protected]
Parameters:
valInteger to be output
Returns:
number of bits written
void dirac::ByteIO::WriteSint ( int  val) [protected]
Parameters:
valInteger to be output
void dirac::ByteIO::WriteUint ( unsigned int  value)
Parameters:
valueInteger to be output
void dirac::ByteIO::WriteUintLit ( const unsigned int &  value,
const int &  length 
) [inline, protected]
Parameters:
valueInteger to be output
lengthnumber of bytes in val to output

References m_num_bytes, and mp_stream.


Friends And Related Function Documentation

friend class ArithCodecBase [friend]
friend class ArithCodecToVLCAdapter [friend]

Member Data Documentation

Referenced by BitsLeft(), and SetBitsLeft().

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

Referenced by OutputCurrentByte().

Referenced by OutputCurrentByte().

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.