Created by the British Broadcasting Corporation.
Represents a series of bytes in the Dirac bytestream specfication format. More...
#include <dirac_byte_stream.h>
Public Member Functions | |
DiracByteStream () | |
Constructor. | |
~DiracByteStream () | |
Destructor. | |
void | AddBytes (char *start, int count) |
Adds Dirac-formatted bytes to internal-byte-stream for processing. | |
DiracByteStats | GetLastUnitStats () |
Gets the statistics of the most recent parse-unit to be processed. | |
ParseUnitByteIO * | GetNextParseUnit () |
Gets the next parse-unit in the current byte-stream. | |
DiracByteStats | GetSequenceStats () const |
Gets stats for current sequence. | |
void | AddSequenceHeader (SequenceHeaderByteIO *p_seqheader_byteio) |
Adds a random access point to the current Dirac byte stream. | |
void | AddPicture (PictureByteIO *p_frame_byteio) |
Adds a picture to the current Dirac byte stream. | |
void | Clear () |
Clear parse-units. | |
DiracByteStats | EndSequence () |
Insert end-of-sequence data. | |
const std::string | GetBytes () |
Gets a pointer to all current output bytes. | |
bool | IsUnitAvailable () const |
Any info pending? | |
![]() | |
ByteIO (bool new_stream=true) | |
Default constructor. | |
ByteIO (const ByteIO &stream_data) | |
Constructor. | |
virtual | ~ByteIO () |
Destructor. | |
virtual void | CollateByteStats (DiracByteStats &dirac_byte_stats) |
Gathers byte-stream statistics. | |
int | GetReadBytePosition () const |
Get position of read stream pointer. | |
virtual int | GetSize () const |
*Gets size (in bytes) | |
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. |
Private Types | |
typedef std::queue< std::pair < ParseUnitType, ParseUnitByteIO * > > | ParseUnitList |
Parse-units in Dirac stream. |
Private Member Functions | |
void | Reset (ParseUnitByteIO *p_curr_unit, int pos) |
Private Attributes | |
ParseUnitList | m_parse_unit_list |
ParseUnitByteIO * | mp_prev_parse_unit |
Last unit to be processed Required for specifying the previous parse-unit. | |
DiracByteStats | m_sequence_stats |
Stats for current sequence. |
Additional Inherited Members | |
![]() | |
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) |
![]() | |
std::stringstream * | mp_stream |
Input/output steam. |
These bytes are grouped into more managable parse units by this class.
|
private |
dirac::DiracByteStream::DiracByteStream | ( | ) |
dirac::DiracByteStream::~DiracByteStream | ( | ) |
void dirac::DiracByteStream::AddBytes | ( | char * | start, |
int | count | ||
) |
start | Start of char list |
count | Number of chars |
void dirac::DiracByteStream::AddPicture | ( | PictureByteIO * | p_frame_byteio | ) |
p_frame_byteio | Picture stream. This class is now responsible for deleting. |
void dirac::DiracByteStream::AddSequenceHeader | ( | SequenceHeaderByteIO * | p_seqheader_byteio | ) |
p_seqheader_byteio | Sequence header data. |
void dirac::DiracByteStream::Clear | ( | ) |
DiracByteStats dirac::DiracByteStream::EndSequence | ( | ) |
|
virtual |
Reimplemented from dirac::ByteIO.
DiracByteStats dirac::DiracByteStream::GetLastUnitStats | ( | ) |
ParseUnitByteIO* dirac::DiracByteStream::GetNextParseUnit | ( | ) |
DiracByteStats dirac::DiracByteStream::GetSequenceStats | ( | ) | const |
bool dirac::DiracByteStream::IsUnitAvailable | ( | ) | const |
|
private |
|
private |
|
private |
|
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.