Dirac - A Video Codec

Created by the British Broadcasting Corporation.


Public Member Functions | Private Member Functions | Private Attributes | List of all members
dirac::SequenceHeaderByteIO Class Reference

A random access point within a Dirac bytestream.

#include <accessunit_byteio.h>

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

Public Member Functions

 SequenceHeaderByteIO (SourceParams &src_params, EncoderParams &enc_params)
 Constructor (encoding) More...
 
 SequenceHeaderByteIO (const ParseUnitByteIO &parseunit_byteio, ParseParams &parse_params, SourceParams &src_params, CodecParams &codec_params)
 Constructor (decoding) More...
 
 ~SequenceHeaderByteIO ()
 Destructor. More...
 
bool Input ()
 Parses data in Dirac-stream format (decoding) More...
 
void Output ()
 Writes access-unit info to Dirac stream-format (encoding) More...
 
int GetSize () const
 Gets size (in bytes) More...
 
ParseUnitType GetType () const
 Gets parse-unit type. More...
 
- Public Member Functions inherited from dirac::ParseUnitByteIO
 ParseUnitByteIO ()
 Constructor. More...
 
 ParseUnitByteIO (const ByteIO &byte_io)
 Constructor. More...
 
 ParseUnitByteIO (const ParseUnitByteIO &parseunit_byteio)
 Constructor. More...
 
 ~ParseUnitByteIO ()
 Destructor. More...
 
virtual void CollateByteStats (DiracByteStats &dirac_byte_stats)
 Gathers byte stats on the parse-unit data. More...
 
bool Input ()
 Reads from byte-stream to find parse data. More...
 
bool IsValid ()
 Accesses validity of a unit by comparing it with an adjacent unit. More...
 
bool CanSkip ()
 Can Skip past the entire parse-unit. More...
 
virtual const std::string GetBytes ()
 Gets string containing coded bytes. More...
 
void SetAdjacentParseUnits (ParseUnitByteIO *p_prev_parseunit)
 Set next/previous parse-unit values. More...
 
int GetNextParseOffset () const
 Gets expected number of bytes to start of next parse-unit. More...
 
int GetPreviousParseOffset () const
 Gets number of bytes to start of previous parse-unit. More...
 
bool IsSeqHeader () const
 Returns true is parse unit is a Sequence Header. More...
 
bool IsEndOfSequence () const
 Returns true is parse unit is an End of Sequence unit. More...
 
bool IsAuxiliaryData () const
 Returns true is parse unit is Auxiliary Data. More...
 
bool IsPaddingData () const
 Returns true is parse unit is Padding data. More...
 
bool IsPicture () const
 Returns true is parse unit is Picture data. More...
 
bool IsLowDelay () const
 Returns true is parse unit is Low Delay Sybtax unit. More...
 
bool IsCoreSyntax () const
 Returns true is parse unit is Core syntax unit. More...
 
bool IsUsingAC () const
 Returns true is parse unit uses Arithmetic coding. 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...
 
int GetReadBytePosition () const
 Get position of read stream pointer. 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 Member Functions

unsigned char CalcParseCode () const
 Calculates parse-code based on access-unit parameters (encoding) More...
 
void InputSourceParams ()
 Parse source attributes from bytestream-compatible input (decoding) More...
 
void InputParseParams ()
 Parse parse attributes from bytestream-compatible input (decoding) More...
 
void InputCodingParams ()
 Parse Coding attributes from bytestream-compatible input (decoding) More...
 
void OutputSourceParams ()
 Output source attributes for bytestream-compatible output (encoding) More...
 
void OutputParseParams ()
 Output parse attributes for bytestream-compatible output (encoding) More...
 
void OutputCodingParams ()
 Output coding attributes for bytestream-compatible output (encoding) More...
 

Private Attributes

ParseParams m_parse_params
 Current parse parameters. More...
 
ParseParamsByteIO m_parseparams_byteio
 Parse-params byte input/output. More...
 
SourceParams m_default_src_params
 Default source parameters. More...
 
SourceParamsm_src_params
 Current source parameters. More...
 
SourceParamsByteIO m_sourceparams_byteio
 Source-params byte input/output. More...
 
CodecParamsm_codec_params
 Current codec parameters. More...
 
CodingParamsByteIO m_codingparams_byteio
 Coding-params byte input/output. More...
 

Additional Inherited Members

- Protected Member Functions inherited from dirac::ParseUnitByteIO
virtual int CalcNextUnitOffset ()
 Calculates number of bytes to start of next unit. More...
 
bool SyncToUnitStart ()
 Locates start of parse-unit. More...
 
unsigned char GetParseCode () const
 Get parse code. More...
 
- Protected Attributes inherited from dirac::ByteIO
std::stringstream * mp_stream
 Input/output steam. More...
 

Constructor & Destructor Documentation

dirac::SequenceHeaderByteIO::SequenceHeaderByteIO ( SourceParams src_params,
EncoderParams enc_params 
)
Parameters
src_paramsSource parameters for current AccessUnit
enc_paramsEncoder parameters for current AccessUnit
dirac::SequenceHeaderByteIO::SequenceHeaderByteIO ( const ParseUnitByteIO parseunit_byteio,
ParseParams parse_params,
SourceParams src_params,
CodecParams codec_params 
)
Parameters
parseunit_byteioSource of data
parse_paramsDestination of parse paramters data
src_paramsDestination of source paramters data
codec_paramsDestination of coding paramters data
dirac::SequenceHeaderByteIO::~SequenceHeaderByteIO ( )

Member Function Documentation

unsigned char dirac::SequenceHeaderByteIO::CalcParseCode ( ) const
privatevirtual
Returns
Char bit-set

Reimplemented from dirac::ParseUnitByteIO.

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

Reimplemented from dirac::ParseUnitByteIO.

ParseUnitType dirac::SequenceHeaderByteIO::GetType ( ) const
inlinevirtual

Reimplemented from dirac::ParseUnitByteIO.

References dirac::PU_SEQ_HEADER.

bool dirac::SequenceHeaderByteIO::Input ( )
void dirac::SequenceHeaderByteIO::InputCodingParams ( )
private
void dirac::SequenceHeaderByteIO::InputParseParams ( )
private
void dirac::SequenceHeaderByteIO::InputSourceParams ( )
private
void dirac::SequenceHeaderByteIO::Output ( )
void dirac::SequenceHeaderByteIO::OutputCodingParams ( )
private
void dirac::SequenceHeaderByteIO::OutputParseParams ( )
private
void dirac::SequenceHeaderByteIO::OutputSourceParams ( )
private

Member Data Documentation

CodecParams& dirac::SequenceHeaderByteIO::m_codec_params
private
CodingParamsByteIO dirac::SequenceHeaderByteIO::m_codingparams_byteio
private
SourceParams dirac::SequenceHeaderByteIO::m_default_src_params
private
ParseParams dirac::SequenceHeaderByteIO::m_parse_params
private
ParseParamsByteIO dirac::SequenceHeaderByteIO::m_parseparams_byteio
private
SourceParamsByteIO dirac::SequenceHeaderByteIO::m_sourceparams_byteio
private
SourceParams& dirac::SequenceHeaderByteIO::m_src_params
private

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.