Created by the British Broadcasting Corporation.
Represents a collection of data in a Dirac bytestream that can be parsed as a self-contained unit.
#include <parseunit_byteio.h>
Public Member Functions | |
ParseUnitByteIO () | |
Constructor. | |
ParseUnitByteIO (const ByteIO &byte_io) | |
Constructor. | |
ParseUnitByteIO (const ParseUnitByteIO &parseunit_byteio) | |
Constructor. | |
~ParseUnitByteIO () | |
Destructor. | |
virtual void | CollateByteStats (DiracByteStats &dirac_byte_stats) |
Gathers byte stats on the parse-unit data. | |
bool | Input () |
Reads from byte-stream to find parse data. | |
bool | IsValid () |
Accesses validity of a unit by comparing it with an adjacent unit. | |
bool | CanSkip () |
Can Skip past the entire parse-unit. | |
virtual const std::string | GetBytes () |
Gets string containing coded bytes. | |
void | SetAdjacentParseUnits (ParseUnitByteIO *p_prev_parseunit) |
Set next/previous parse-unit values. | |
virtual int | GetSize () const |
Gets size (in bytes) | |
int | GetNextParseOffset () const |
Gets expected number of bytes to start of next parse-unit. | |
int | GetPreviousParseOffset () const |
Gets number of bytes to start of previous parse-unit. | |
virtual ParseUnitType | GetType () const |
Gets parse-unit type. | |
bool | IsSeqHeader () const |
Returns true is parse unit is a Sequence Header. | |
bool | IsEndOfSequence () const |
Returns true is parse unit is an End of Sequence unit. | |
bool | IsAuxiliaryData () const |
Returns true is parse unit is Auxiliary Data. | |
bool | IsPaddingData () const |
Returns true is parse unit is Padding data. | |
bool | IsPicture () const |
Returns true is parse unit is Picture data. | |
bool | IsLowDelay () const |
Returns true is parse unit is Low Delay Sybtax unit. | |
bool | IsCoreSyntax () const |
Returns true is parse unit is Core syntax unit. | |
bool | IsUsingAC () const |
Returns true is parse unit uses Arithmetic coding. | |
Public Member Functions inherited from dirac::ByteIO | |
ByteIO (bool new_stream=true) | |
Default constructor. | |
ByteIO (const ByteIO &stream_data) | |
Constructor. | |
virtual | ~ByteIO () |
Destructor. | |
int | GetReadBytePosition () const |
Get position of read stream pointer. | |
void | SetByteParams (const ByteIO &byte_io) |
Copies stream source/destination info. | |
void | ByteAlignOutput () |
Sync input for byte-alignment. | |
void | WriteUint (unsigned int value) |
Ouputs an unsigned integer in interleaved exp Golomb format. | |
void | SetBitsLeft (int left_bits) |
Sets input size in bits. | |
int | BitsLeft (void) |
Sets input size in bits. |
Protected Member Functions | |
virtual int | CalcNextUnitOffset () |
Calculates number of bytes to start of next unit. | |
virtual unsigned char | CalcParseCode () const |
Pure virtual method for calculating parse-code. | |
bool | SyncToUnitStart () |
Locates start of parse-unit. | |
unsigned char | GetParseCode () const |
Get parse code. | |
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. | |
bool | ReadBool () |
Reads boolean value. | |
bool | ReadBoolB () |
Reads boolean value - bounded i/o. | |
int | ReadBit () |
Reads next bit. | |
int | ReadBitB () |
Reads next bit - bounded i/o. | |
unsigned int | ReadNBits (int count) |
Reads next 'count' bits. | |
void | InputBytes (char *data, int count) |
Reads from stream. | |
void | FlushInputB () |
Flushes the bounde input. | |
int | ReadSint () |
Reads a signed integer in interleaved exp-Golomb format return Signed integer read. | |
int | ReadSintB () |
Reads a signed integer in interleaved exp-Golomb format from bounded input return Signed integer read. | |
unsigned int | ReadUint () |
Reads an unsigned integer in interleaved exp Golomb format. | |
unsigned int | ReadUintB () |
Reads an unsigned integer in interleaved exp Golomb format from bounded input. | |
unsigned int | ReadUintLit (const int byte_size) |
Reads a fixed length unsigned integer from the stream in big endian. | |
unsigned char | InputUnByte () |
Reads a byte from the stream. | |
std::string | InputUnString (const int count) |
Reads a series of bytes from a stream. | |
void | WriteBit (const bool &bit) |
Outputs a bit. | |
int | WriteNBits (unsigned int val) |
Outputs an unsigned integer. | |
void | WriteNBits (unsigned int val, int count) |
Outputs an n bit integer. | |
void | OutputBytes (const std::string &bytes) |
Outputs a series of bytes. | |
void | OutputCurrentByte () |
Outputs current byte contents. | |
void | WriteSint (int val) |
Outputs an integer in Golomb signed integer format. | |
void | WriteUintLit (const unsigned int &value, const int &length) |
Output unsigned int value in big endian format. | |
void | RemoveRedundantBytes (const int count) |
Removes portion of byte-stream no longer required. | |
void | SeekGet (const int offset, std::ios_base::seekdir dir) |
Private Attributes | |
int | m_previous_parse_offset |
Number of bytes to next parse-unit. | |
int | m_next_parse_offset |
Number of bytes to previous parse-unit. | |
unsigned char | m_parse_code |
Parse-type-identifier. |
Additional Inherited Members | |
Protected Attributes inherited from dirac::ByteIO | |
std::stringstream * | mp_stream |
Input/output steam. |
dirac::ParseUnitByteIO::ParseUnitByteIO | ( | ) |
dirac::ParseUnitByteIO::ParseUnitByteIO | ( | const ByteIO & | byte_io | ) |
byte_io | Stream parameters |
References dirac::ByteIO::ByteIO().
dirac::ParseUnitByteIO::ParseUnitByteIO | ( | const ParseUnitByteIO & | parseunit_byteio | ) |
parseunit_byteio | Parse-unit parameters |
References ParseUnitByteIO().
dirac::ParseUnitByteIO::~ParseUnitByteIO | ( | ) |
|
protectedvirtual |
Reimplemented in dirac::EndOfSequenceByteIO.
|
inlineprotectedvirtual |
Reimplemented in dirac::EndOfSequenceByteIO, dirac::PictureByteIO, and dirac::SequenceHeaderByteIO.
bool dirac::ParseUnitByteIO::CanSkip | ( | ) |
|
virtual |
dirac_byte_stats | Stat container |
Reimplemented from dirac::ByteIO.
Reimplemented in dirac::EndOfSequenceByteIO, and dirac::PictureByteIO.
|
virtual |
Reimplemented from dirac::ByteIO.
Reimplemented in dirac::PictureByteIO.
int dirac::ParseUnitByteIO::GetNextParseOffset | ( | ) | const |
|
inlineprotected |
References m_parse_code.
Referenced by dirac::PictureByteIO::IsNonRef(), dirac::PictureByteIO::IsRef(), and dirac::PictureByteIO::NumRefs().
int dirac::ParseUnitByteIO::GetPreviousParseOffset | ( | ) | const |
|
virtual |
Reimplemented from dirac::ByteIO.
Reimplemented in dirac::PictureByteIO, and dirac::SequenceHeaderByteIO.
|
virtual |
Reimplemented in dirac::EndOfSequenceByteIO, dirac::PictureByteIO, and dirac::SequenceHeaderByteIO.
bool dirac::ParseUnitByteIO::Input | ( | ) |
|
inline |
References m_parse_code.
|
inline |
References m_parse_code.
|
inline |
References m_parse_code.
|
inline |
References m_parse_code.
|
inline |
References m_parse_code.
|
inline |
References m_parse_code.
Referenced by dirac::PictureByteIO::IsInter(), and dirac::PictureByteIO::IsIntra().
|
inline |
References m_parse_code.
|
inline |
References m_parse_code.
bool dirac::ParseUnitByteIO::IsValid | ( | ) |
void dirac::ParseUnitByteIO::SetAdjacentParseUnits | ( | ParseUnitByteIO * | p_prev_parseunit | ) |
p_prev_parseunit | Previous parse-unit |
References ParseUnitByteIO().
|
protected |
|
private |
|
private |
Referenced by GetParseCode(), IsAuxiliaryData(), IsCoreSyntax(), IsEndOfSequence(), IsLowDelay(), IsPaddingData(), IsPicture(), IsSeqHeader(), and IsUsingAC().
|
private |
© 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.