Dirac - A Video Codec

Created by the British Broadcasting Corporation.


Public Member Functions | Protected Attributes | List of all members
dirac::MvDataElementByteIO Class Reference

Represents compressed sequence-parameter data used in an AccessUnit.

#include <mvdataelement_byteio.h>

Inheritance diagram for dirac::MvDataElementByteIO:
Inheritance graph
[legend]
Collaboration diagram for dirac::MvDataElementByteIO:
Collaboration graph
[legend]

Public Member Functions

 MvDataElementByteIO ()
 Constructor. More...
 
 MvDataElementByteIO (ByteIO &byte_io)
 Constructor. More...
 
virtual ~MvDataElementByteIO ()
 Destructor. More...
 
void Output ()
 Outputs motion vector data Dirac byte-format. More...
 
void Input ()
 Inputs motion vector information. More...
 
virtual const std::string GetBytes ()
 Get string containing coded bytes. More...
 
ByteIODataBlock ()
 Return pointer to the block data ByteIO stream. More...
 
unsigned int DataBlockSize ()
 Return the input block data size. More...
 
int GetSize () const
 Return the size. More...
 
- Public Member Functions inherited from dirac::ByteIO
 ByteIO (bool new_stream=true)
 Default constructor. More...
 
 ByteIO (const ByteIO &stream_data)
 Constructor. More...
 
virtual ~ByteIO ()
 Destructor. More...
 
virtual void CollateByteStats (DiracByteStats &dirac_byte_stats)
 Gathers byte-stream statistics. More...
 
virtual const std::string GetBytes ()
 Get bytes in Dirac-bytestream format. More...
 
int GetReadBytePosition () const
 Get position of read stream pointer. More...
 
virtual int GetSize () const
 Gets size (in bytes) More...
 
void SetByteParams (const ByteIO &byte_io)
 Copies stream source/destination info. More...
 
void ByteAlignOutput ()
 Sync input for byte-alignment. More...
 
void WriteUint (unsigned int value)
 Ouputs an unsigned integer in interleaved exp Golomb format. More...
 
void SetBitsLeft (int left_bits)
 Sets input size in bits. More...
 
int BitsLeft (void)
 Sets input size in bits. More...
 

Protected Attributes

ByteIO m_block_data
 block data More...
 
unsigned int m_block_size
 In block data size. More...
 
- Protected Attributes inherited from dirac::ByteIO
std::stringstream * mp_stream
 Input/output steam. More...
 

Additional Inherited Members

- Protected Member Functions inherited from dirac::ByteIO
bool CanRead () const
 
bool GetBit (unsigned char &c, int pos) const
 
void SetBit (unsigned char &c, int pos) const
 
void SetBits (unsigned char &c, unsigned char bits) const
 
void ByteAlignInput ()
 Sync input for byte-alignment. More...
 
bool ReadBool ()
 Reads boolean value. More...
 
bool ReadBoolB ()
 Reads boolean value - bounded i/o. More...
 
int ReadBit ()
 Reads next bit. More...
 
int ReadBitB ()
 Reads next bit - bounded i/o. More...
 
unsigned int ReadNBits (int count)
 Reads next 'count' bits. More...
 
void InputBytes (char *data, int count)
 Reads from stream. More...
 
void FlushInputB ()
 Flushes the bounde input. More...
 
int ReadSint ()
 Reads a signed integer in interleaved exp-Golomb format return Signed integer read. More...
 
int ReadSintB ()
 Reads a signed integer in interleaved exp-Golomb format from bounded input return Signed integer read. More...
 
unsigned int ReadUint ()
 Reads an unsigned integer in interleaved exp Golomb format. More...
 
unsigned int ReadUintB ()
 Reads an unsigned integer in interleaved exp Golomb format from bounded input. More...
 
unsigned int ReadUintLit (const int byte_size)
 Reads a fixed length unsigned integer from the stream in big endian. More...
 
unsigned char InputUnByte ()
 Reads a byte from the stream. More...
 
std::string InputUnString (const int count)
 Reads a series of bytes from a stream. More...
 
void WriteBit (const bool &bit)
 Outputs a bit. More...
 
int WriteNBits (unsigned int val)
 Outputs an unsigned integer. More...
 
void WriteNBits (unsigned int val, int count)
 Outputs an n bit integer. More...
 
void OutputBytes (const std::string &bytes)
 Outputs a series of bytes. More...
 
void OutputCurrentByte ()
 Outputs current byte contents. More...
 
void WriteSint (int val)
 Outputs an integer in Golomb signed integer format. More...
 
void WriteUintLit (const unsigned int &value, const int &length)
 Output unsigned int value in big endian format. More...
 
void RemoveRedundantBytes (const int count)
 Removes portion of byte-stream no longer required. More...
 
void SeekGet (const int offset, std::ios_base::seekdir dir)
 

Constructor & Destructor Documentation

◆ MvDataElementByteIO() [1/2]

dirac::MvDataElementByteIO::MvDataElementByteIO ( )

◆ MvDataElementByteIO() [2/2]

dirac::MvDataElementByteIO::MvDataElementByteIO ( ByteIO byte_io)
Parameters
byte_ioInput/Output Byte stream

◆ ~MvDataElementByteIO()

virtual dirac::MvDataElementByteIO::~MvDataElementByteIO ( )
virtual

Member Function Documentation

◆ DataBlock()

ByteIO * dirac::MvDataElementByteIO::DataBlock ( )
inline

References m_block_data.

◆ DataBlockSize()

unsigned int dirac::MvDataElementByteIO::DataBlockSize ( )
inline

References m_block_size.

◆ GetBytes()

virtual const std::string dirac::MvDataElementByteIO::GetBytes ( )
virtual

Reimplemented from dirac::ByteIO.

◆ GetSize()

int dirac::MvDataElementByteIO::GetSize ( ) const
virtual

Reimplemented from dirac::ByteIO.

◆ Input()

void dirac::MvDataElementByteIO::Input ( )

◆ Output()

void dirac::MvDataElementByteIO::Output ( )

Member Data Documentation

◆ m_block_data

ByteIO dirac::MvDataElementByteIO::m_block_data
protected

Referenced by DataBlock().

◆ m_block_size

unsigned int dirac::MvDataElementByteIO::m_block_size
protected

Referenced by DataBlockSize().


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.