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. More... | |
| ~DiracByteStream () | |
| Destructor. More... | |
| void | AddBytes (char *start, int count) |
| Adds Dirac-formatted bytes to internal-byte-stream for processing. More... | |
| DiracByteStats | GetLastUnitStats () |
| Gets the statistics of the most recent parse-unit to be processed. More... | |
| ParseUnitByteIO * | GetNextParseUnit () |
| Gets the next parse-unit in the current byte-stream. More... | |
| DiracByteStats | GetSequenceStats () const |
| Gets stats for current sequence. More... | |
| void | AddSequenceHeader (SequenceHeaderByteIO *p_seqheader_byteio) |
| Adds a random access point to the current Dirac byte stream. More... | |
| void | AddPicture (PictureByteIO *p_frame_byteio) |
| Adds a picture to the current Dirac byte stream. More... | |
| void | Clear () |
| Clear parse-units. More... | |
| DiracByteStats | EndSequence () |
| Insert end-of-sequence data. More... | |
| const std::string | GetBytes () |
| Gets a pointer to all current output bytes. More... | |
| bool | IsUnitAvailable () const |
| Any info pending? 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... | |
Private Types | |
| typedef std::queue< std::pair< ParseUnitType, ParseUnitByteIO * > > | ParseUnitList |
| Parse-units in Dirac stream. More... | |
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. More... | |
| DiracByteStats | m_sequence_stats |
| Stats for current sequence. 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) |
Protected Attributes inherited from dirac::ByteIO | |
| std::stringstream * | mp_stream |
| Input/output steam. More... | |
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.