TSDuck Version 3.20-1669 (TSDuck - The MPEG Transport Stream Toolkit)
ts::AVCAttributes Class Reference

Video attributes for Advanced Video Coding. More...

Inheritance diagram for ts::AVCAttributes:
Collaboration diagram for ts::AVCAttributes:

Public Member Functions

 AVCAttributes ()
 Default constructor.
 
uint8_t chromaFormat () const
 Get chroma format. More...
 
UString chromaFormatName () const
 Get chroma format name. More...
 
size_t horizontalSize () const
 Get video horizontal size in pixels. More...
 
void invalidate ()
 Invalidate the content of this instance. More...
 
bool isValid () const
 Check if the values in the object are valid. More...
 
int level () const
 Get AVC level. More...
 
UString levelName () const
 Get AVC level name. More...
 
virtual bool moreBinaryData (const void *, size_t) override
 Provides an audio/video binary data to be analyzed by this instance. More...
 
int profile () const
 Get AVC profile. More...
 
UString profileName () const
 Get AVC profile name. More...
 
virtual UString toString () const override
 Convert to a string object. More...
 
size_t verticalSize () const
 Get video vertical size in pixels. More...
 

Protected Attributes

bool _is_valid
 A flag which indicates if the content of this object is valid. More...
 

Detailed Description

Video attributes for Advanced Video Coding.

AVC is Advanced Video Coding, ISO 14496-10, ITU H.264.

An AVCAttributes object is built by transmitting AVC access units (aka "NALunits"). The state of the object may change after adding a "sequence parameter set" NALunit. Initially, an AVCAttributes object is invalid.

Member Function Documentation

◆ moreBinaryData()

virtual bool ts::AVCAttributes::moreBinaryData ( const void *  addr,
size_t  size 
)
overridevirtual

Provides an audio/video binary data to be analyzed by this instance.

The type of data (complete PES payload or some type of "frame" or "access unit") depends on the type of audio/video.

Parameters
[in]addrAddress of data to be analyzed.
[in]sizeSize of data to be analyzed.
Returns
True if the attributes object becomes valid or has new values.

Implements ts::AbstractAudioVideoAttributes.

◆ toString()

virtual UString ts::AVCAttributes::toString ( ) const
overridevirtual

Convert to a string object.

Returns
This object, converted as a string.

Implements ts::StringifyInterface.

◆ horizontalSize()

size_t ts::AVCAttributes::horizontalSize ( ) const
inline

Get video horizontal size in pixels.

Returns
Video horizontal size in pixels.

◆ verticalSize()

size_t ts::AVCAttributes::verticalSize ( ) const
inline

Get video vertical size in pixels.

Returns
Video vertical size in pixels.

◆ profile()

int ts::AVCAttributes::profile ( ) const
inline

Get AVC profile.

Returns
AVC profile, 0 if unknown.

◆ profileName()

UString ts::AVCAttributes::profileName ( ) const
inline

Get AVC profile name.

Returns
AVC profile as a string.

◆ level()

int ts::AVCAttributes::level ( ) const
inline

Get AVC level.

Returns
AVC level, 0 if unknown.

◆ levelName()

UString ts::AVCAttributes::levelName ( ) const

Get AVC level name.

Returns
AVC level as a string.

◆ chromaFormat()

uint8_t ts::AVCAttributes::chromaFormat ( ) const
inline

Get chroma format.

Returns
Chroma format, code values are CHROMA_* from tsMPEG.h, 0 if unknown.

◆ chromaFormatName()

UString ts::AVCAttributes::chromaFormatName ( ) const
inline

Get chroma format name.

Returns
Chroma format as a string.

◆ isValid()

bool ts::AbstractAudioVideoAttributes::isValid ( ) const
inlineinherited

Check if the values in the object are valid.

Returns
True if the values in the object are valid.

◆ invalidate()

void ts::AbstractAudioVideoAttributes::invalidate ( )
inlineinherited

Invalidate the content of this instance.

It must be rebuilt using audio/video binary data.

Member Data Documentation

◆ _is_valid

bool ts::AbstractAudioVideoAttributes::_is_valid
protectedinherited

A flag which indicates if the content of this object is valid.

It is the responsibility of the subclasses to set it.


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