![]() |
TSDuck v3.46-4930
MPEG Transport Stream Toolkit
|
#include <tsAbstractHEVCAccessUnit.h>


Public Types | |
| using | SuperClass = AbstractVideoAccessUnit |
Public Member Functions | |
| AbstractHEVCAccessUnit ()=default | |
| virtual void | clear () override |
| virtual std::ostream & | display (std::ostream &stream=std::cout, const UString &margin=UString(), int level=Severity::Info) const =0 |
| virtual bool | parse (const uint8_t *, size_t, std::initializer_list< uint32_t >=std::initializer_list< uint32_t >()) override |
Public Attributes | |
| uint8_t | forbidden_zero_bit = 0 |
| 1 bit | |
| uint8_t | nal_unit_type = 0 |
| 6 bits | |
| uint8_t | nuh_layer_id = 0 |
| 6 bits | |
| uint8_t | nuh_temporal_id_plus1 = 0 |
| 3 bits | |
| size_t | rbsp_trailing_bits_count = 0 |
| rbsp_trailing_bits_count | |
| bool | rbsp_trailing_bits_valid = false |
| rbsp_trailing_bits_valid | |
| bool | valid = false |
Protected Member Functions | |
| template<typename INT> requires std::integral<INT> | |
| void | disp (std::ostream &out, const UString &margin, const UChar *name, INT n) const |
| template<typename INT> requires std::integral<INT> | |
| void | disp (std::ostream &out, const UString &margin, const UChar *name, std::vector< INT > n) const |
| virtual bool | parseBody (AVCParser &parser, std::initializer_list< uint32_t > params=std::initializer_list< uint32_t >())=0 |
| virtual bool | parseHeader (const uint8_t *&, size_t &, std::initializer_list< uint32_t >=std::initializer_list< uint32_t >()) override |
Base class for HEVC access units, aka NALunits.
Unified name for superclass.
|
default |
Constructor.
|
overridevirtual |
Clear all values. Should be reimplemented by subclasses. The data are marked invalid.
Reimplemented from ts::AbstractVideoAccessUnit.
Reimplemented in ts::HEVCAccessUnitDelimiter, and ts::HEVCSequenceParameterSet.
|
overrideprotectedvirtual |
Parse the header of the access unit. Must be reimplemented by subclasses. The data are marked as valid or invalid.
| [in,out] | addr | Address of the binary data to parse. Adjusted after header. |
| [in,out] | size | Size in bytes of the binary data to parse. Adjusted as remaining size after header. |
| [in] | params | Additional parameters. May be needed by some structures. |
Implements ts::AbstractVideoAccessUnit.
|
overridevirtualinherited |
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. |
Implements ts::AbstractVideoData.
|
protectedpure virtualinherited |
Parse the body of the access unit up to but not including the rbsp_trailing_bits. Must be reimplemented by subclasses. The data are marked as valid or invalid.
| [in,out] | parser | The parser of an AVC-like video stream. |
| [in] | params | Additional parameters. May be needed by some structures. |
Implemented in ts::AVCAccessUnitDelimiter, ts::AVCSequenceParameterSet, ts::HEVCAccessUnitDelimiter, ts::HEVCSequenceParameterSet, and ts::VVCAccessUnitDelimiter.
|
inlineprotectedinherited |
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. |
|
inlineprotectedinherited |
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::AVCAccessUnitDelimiter, ts::AVCHRDParameters, ts::AVCSequenceParameterSet, ts::AVCVUIParameters, ts::HEVCAccessUnitDelimiter, ts::HEVCHRDParameters, ts::HEVCProfileTierLevel, ts::HEVCScalingListData, ts::HEVCSequenceParameterSet, ts::HEVCShortTermReferencePictureSetList, ts::HEVCVUIParameters, ts::ModulationArgs, ts::SignalState, and ts::VVCAccessUnitDelimiter.
|
inherited |
Valid flag. Other fields are significant only if valid is true.