TSDuck v3.40-4033
MPEG Transport Stream Toolkit
|
HEVC profile, tier and level structure. More...
#include <tsHEVCProfileTierLevel.h>
Classes | |
class | SubLayerParams |
Sub-layer parameters. More... | |
Public Types | |
using | SuperClass = AbstractVideoStructure |
Reference to the superclass. | |
Public Member Functions | |
HEVCProfileTierLevel (const uint8_t *data=nullptr, size_t size=0, bool profilePresentFlag=false, size_t maxNumSubLayersMinus1=0) | |
Constructor from a binary area. | |
virtual void | clear () override |
Clear all values. | |
virtual std::ostream & | display (std::ostream &=std::cout, const UString &margin=UString(), int level=Severity::Info) const override |
Display the content of this object to a stream. | |
virtual bool | parse (AVCParser &, std::initializer_list< uint32_t >=std::initializer_list< uint32_t >()) override |
Parse the structure. | |
virtual bool | parse (const uint8_t *, size_t, std::initializer_list< uint32_t >=std::initializer_list< uint32_t >()) override |
Parse a memory area containing binary video data of the expected type. | |
uint8_t | profile () const |
Get the profile value. | |
Public Attributes | |
uint8_t | general_frame_only_constraint_flag = 0 |
general_frame_only_constraint_flag | |
uint8_t | general_inbld_flag = 0 |
general_inbld_flag | |
uint8_t | general_interlaced_source_flag = 0 |
general_interlaced_source_flag | |
uint8_t | general_intra_constraint_flag = 0 |
general_intra_constraint_flag | |
uint8_t | general_level_idc = 0 |
general_level_idc | |
uint8_t | general_lower_bit_rate_constraint_flag = 0 |
general_lower_bit_rate_constraint_flag | |
uint8_t | general_max_10bit_constraint_flag = 0 |
general_max_10bit_constraint_flag | |
uint8_t | general_max_12bit_constraint_flag = 0 |
general_max_12bit_constraint_flag | |
uint8_t | general_max_14bit_constraint_flag = 0 |
general_max_14bit_constraint_flag | |
uint8_t | general_max_420chroma_constraint_flag = 0 |
general_max_420chroma_constraint_flag | |
uint8_t | general_max_422chroma_constraint_flag = 0 |
general_max_422chroma_constraint_flag | |
uint8_t | general_max_8bit_constraint_flag = 0 |
general_max_8bit_constraint_flag | |
uint8_t | general_max_monochrome_constraint_flag = 0 |
general_max_monochrome_constraint_flag | |
uint8_t | general_non_packed_constraint_flag = 0 |
general_non_packed_constraint_flag | |
uint8_t | general_one_picture_only_constraint_flag = 0 |
general_one_picture_only_constraint_flag | |
std::bitset< 32 > | general_profile_compatibility_flag {} |
general_profile_compatibility_flag | |
uint8_t | general_profile_idc = 0 |
general_profile_idc | |
uint8_t | general_profile_space = 0 |
general_profile_space | |
uint8_t | general_progressive_source_flag = 0 |
general_progressive_source_flag | |
uint8_t | general_tier_flag = 0 |
general_tier_flag | |
bool | profile_present_flag = false |
from parent structure | |
std::vector< SubLayerParams > | sub_layers {} |
Per-sub-layer parameters. | |
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. | |
HEVC profile, tier and level structure.
ts::HEVCProfileTierLevel::HEVCProfileTierLevel | ( | const uint8_t * | data = nullptr , |
size_t | size = 0 , |
||
bool | profilePresentFlag = false , |
||
size_t | maxNumSubLayersMinus1 = 0 |
||
) |
Constructor from a binary area.
Note: the two parameters profilePresentFlag and maxNumSubLayersMinus1 must be passed in the initializer list of the parse() methods.
[in] | data | Address of binary data to analyze. |
[in] | size | Size in bytes of binary data to analyze. |
[in] | profilePresentFlag | HRD profile info is present (depends on parent structure). |
[in] | maxNumSubLayersMinus1 | Number of sub-layers minus 1 (depends on parent structure). |
uint8_t ts::HEVCProfileTierLevel::profile | ( | ) | const |
Get the profile value.
|
overridevirtual |
Clear all values.
Should be reimplemented by subclasses. The data are marked invalid.
Reimplemented from ts::AbstractVideoData.
|
overridevirtual |
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. |
Reimplemented from ts::AbstractVideoStructure.
|
overridevirtual |
Parse the structure.
Must be reimplemented by subclasses. The data are marked as valid or invalid.
[in,out] | parser | The parser of an AVC stream. |
[in] | params | Additional parameters. May be needed by some structures. |
Implements ts::AbstractVideoStructure.
|
overridevirtual |
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). |
Implements ts::DisplayInterface.
|
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. |
|
inherited |
Valid flag.
Other fields are significant only if valid is true.