VideoTools
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Gr::Avc::Configuration Class Reference

Contains AVC configuration parameters, initialised from an "avcC" file segment or from an SDP "fmtp" attribute string, held as lists of SPS and PPS sub-structures. More...

#include <gravc.h>

Public Member Functions

 Configuration ()
 A default constructor for an in-valid() object.
 
bool valid () const
 Returns true if a usable object.
 
std::string reason () const
 Returns the in-valid() reason.
 
unsigned int nalu_length_size () const
 Returns the size of the nalu length values, typically 2.
 
const std::vector< std::string > & spsList () const
 Returns a list of binary strings for the sps structures. More...
 
const std::vector< std::string > & ppsList () const
 Returns a list of binary strings for the pps structures. More...
 
size_t spsCount () const
 Returns sps().size(). More...
 
size_t ppsCount () const
 Returns pps().size(). More...
 
const Spssps (size_t i) const
 Returns a reference to the i-th sps structure.
 
const Ppspps (size_t i) const
 Returns a reference to the i-th pps structure.
 
std::string nalus () const
 Returns the NALU byte-stream comprising the four-byte 00-00-00-01 start-code followed by the byte-stuffed NALUs separated by the three-byte 00-00-01 marker. More...
 

Static Public Member Functions

static Configuration fromFmtp (const std::string &fmtp)
 Factory function taking a SDP (Session Description Protocol) "fmtp" attribute string, something like "profile-level-id=...; ...; sprop-parameters-sets=Z00AKZpmA8==,aO48gA==". More...
 
static Configuration fromAvcc (const std::string &binary_string)
 Factory function taking an "avcC" binary string, including RBSP byte-stuffing (but no start code) – see ISO/IEC 14496-10 7.4.1.1. More...
 

Detailed Description

Contains AVC configuration parameters, initialised from an "avcC" file segment or from an SDP "fmtp" attribute string, held as lists of SPS and PPS sub-structures.

In practice there is often only one SPS and one PPS.

Definition at line 93 of file gravc.h.

Member Function Documentation

Gr::Avc::Configuration Gr::Avc::Configuration::fromAvcc ( const std::string &  binary_string)
static

Factory function taking an "avcC" binary string, including RBSP byte-stuffing (but no start code) – see ISO/IEC 14496-10 7.4.1.1.

Definition at line 55 of file gravc.cpp.

Gr::Avc::Configuration Gr::Avc::Configuration::fromFmtp ( const std::string &  fmtp)
static

Factory function taking a SDP (Session Description Protocol) "fmtp" attribute string, something like "profile-level-id=...; ...; sprop-parameters-sets=Z00AKZpmA8==,aO48gA==".

Definition at line 50 of file gravc.cpp.

std::string Gr::Avc::Configuration::nalus ( ) const

Returns the NALU byte-stream comprising the four-byte 00-00-00-01 start-code followed by the byte-stuffed NALUs separated by the three-byte 00-00-01 marker.

Definition at line 291 of file gravc.cpp.

size_t Gr::Avc::Configuration::ppsCount ( ) const

Returns pps().size().

This will be smaller than spsList.size() if there are parsing errors.

Definition at line 276 of file gravc.cpp.

const std::vector< std::string > & Gr::Avc::Configuration::ppsList ( ) const

Returns a list of binary strings for the pps structures.

The strings are byte-stuffed and start with the nalu type in the low bits of the first character position.

Definition at line 266 of file gravc.cpp.

size_t Gr::Avc::Configuration::spsCount ( ) const

Returns sps().size().

This will be smaller than spsList.size() if there are parsing errors.

Definition at line 271 of file gravc.cpp.

const std::vector< std::string > & Gr::Avc::Configuration::spsList ( ) const

Returns a list of binary strings for the sps structures.

The strings are byte-stuffed and start with the nalu type in the low bits of the first character position.

Definition at line 261 of file gravc.cpp.


The documentation for this class was generated from the following files: