![]() |
TSDuck v3.43-4480
MPEG Transport Stream Toolkit
|
Abstract base class for AVC data, either access units or structures. More...
#include <tsAbstractVideoData.h>


Public Member Functions | |
| AbstractVideoData ()=default | |
| Constructor. | |
| virtual void | clear () |
| Clear all values. | |
| virtual std::ostream & | display (std::ostream &stream=std::cout, const UString &margin=UString(), int level=Severity::Info) const =0 |
| Display the content of this object to a stream. | |
| virtual bool | parse (const uint8_t *addr, size_t size, std::initializer_list< uint32_t > params=std::initializer_list< uint32_t >())=0 |
| Parse a memory area containing binary video data of the expected type. | |
Public Attributes | |
| bool | valid = false |
| Valid flag. | |
Protected Member Functions | |
| template<typename INT > requires std::integral<INT> | |
| void | disp (std::ostream &out, const UString &margin, const UChar *name, INT n) const |
| Display helper for subclasses. | |
| template<typename INT > requires std::integral<INT> | |
| void | disp (std::ostream &out, const UString &margin, const UChar *name, std::vector< INT > n) const |
| Display helper for subclasses. | |
Abstract base class for AVC data, either access units or structures.
Typically used in:
There is no strict encapsulation of data. Each subclass exposes public fields. This base class declares a common interface to parse, display and validate the data.
|
virtual |
Clear all values.
Should be reimplemented by subclasses. The data are marked invalid.
Reimplemented in ts::AbstractAVCAccessUnit, ts::AbstractHEVCAccessUnit, ts::AbstractVideoAccessUnit, ts::AbstractVVCAccessUnit, ts::AVCAccessUnitDelimiter, ts::AVCHRDParameters, ts::AVCSequenceParameterSet, ts::AVCVUIParameters, ts::HEVCAccessUnitDelimiter, ts::HEVCHRDParameters, ts::HEVCProfileTierLevel, ts::HEVCSequenceParameterSet, ts::HEVCShortTermReferencePictureSetList, ts::HEVCVUIParameters, and ts::VVCAccessUnitDelimiter.
|
pure virtual |
Parse a memory area containing binary video data of the expected type.
Must be reimplemented by subclasses. The data are marked as valid or invalid.
| [in] | addr | Address of the binary data to parse. |
| [in] | size | Size in bytes of the binary data to parse. |
| [in] | params | Additional parameters. May be needed by some structures. |
Implemented in ts::AbstractVideoAccessUnit, ts::AbstractVideoStructure, ts::HEVCHRDParameters, ts::HEVCProfileTierLevel, ts::HEVCScalingListData, ts::HEVCShortTermReferencePictureSetList, ts::HEVCVUIParameters, ts::AVCHRDParameters, and ts::AVCVUIParameters.
|
inlineprotected |
Display helper for subclasses.
Display an integer value.
| INT | An integer type. |
| [in,out] | out | The stream where to print the content. |
| [in] | margin | The prefix string on each line. |
| [in] | name | A name to display for the value. |
| [in] | n | The integer value to display. |
|
inlineprotected |
Display helper for subclasses.
Display a vector of integer value.
| INT | An integer type. |
| [in,out] | out | The stream where to print the content. |
| [in] | margin | The prefix string on each line. |
| [in] | name | A name to display for the value. |
| [in] | n | The integer values to display. |
|
pure virtualinherited |
Display the content of this object to a stream.
| [in,out] | stream | The stream where to print the content. Standard output by default. |
| [in] | margin | The prefix string on each line, empty by default. |
| [in] | level | Severity level (for instance, Severity::Info or Severity::Debug may display more information). |
Implemented in ts::HEVCHRDParameters, ts::HEVCProfileTierLevel, ts::HEVCScalingListData, ts::HEVCShortTermReferencePictureSetList, ts::ModulationArgs, ts::SignalState, ts::AVCHRDParameters, ts::HEVCAccessUnitDelimiter, ts::HEVCVUIParameters, ts::AVCAccessUnitDelimiter, ts::AVCSequenceParameterSet, ts::AVCVUIParameters, ts::HEVCSequenceParameterSet, and ts::VVCAccessUnitDelimiter.
| bool ts::AbstractVideoData::valid = false |
Valid flag.
Other fields are significant only if valid is true.