TSDuck v3.46-4930
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
ts::HEVCVUIParameters Class Reference

#include <tsHEVCVUIParameters.h>

Inheritance diagram for ts::HEVCVUIParameters:
Collaboration diagram for ts::HEVCVUIParameters:

Public Types

using SuperClass = AbstractVideoStructure

Public Member Functions

 HEVCVUIParameters (const uint8_t *data=nullptr, size_t size=0, size_t sps_max_sub_layers_minus1=0)
virtual void clear () override
virtual std::ostream & display (std::ostream &strm, const UString &margin=UString(), int level=Severity::Info) const override
virtual bool parse (AVCParser &, std::initializer_list< uint32_t >=std::initializer_list< uint32_t >()) override
virtual bool parse (const uint8_t *, size_t, std::initializer_list< uint32_t >=std::initializer_list< uint32_t >()) override

Public Attributes

uint8_t aspect_ratio_idc = 0
 aspect_ratio_idc
uint8_t aspect_ratio_info_present_flag = 0
 aspect_ratio_info_present_flag
uint8_t bitstream_restriction_flag = 0
 bitstream_restriction_flag
uint8_t chroma_loc_info_present_flag = 0
 chroma_loc_info_present_flag
uint32_t chroma_sample_loc_type_bottom_field = 0
 chroma_sample_loc_type_bottom_field
uint32_t chroma_sample_loc_type_top_field = 0
 chroma_sample_loc_type_top_field
uint8_t colour_description_present_flag = 0
 colour_description_present_flag
uint8_t colour_primaries = 0
 colour_primaries
uint32_t def_disp_win_bottom_offset = 0
 def_disp_win_bottom_offset
uint32_t def_disp_win_left_offset = 0
 def_disp_win_left_offset
uint32_t def_disp_win_right_offset = 0
 def_disp_win_right_offset
uint32_t def_disp_win_top_offset = 0
 def_disp_win_top_offset
uint8_t default_display_window_flag = 0
 default_display_window_flag
uint8_t field_seq_flag = 0
 field_seq_flag
uint8_t frame_field_info_present_flag = 0
 frame_field_info_present_flag
HEVCHRDParameters hrd_parameters {}
 hrd_parameters
uint32_t log2_max_mv_length_horizontal = 0
 log2_max_mv_length_horizontal
uint32_t log2_max_mv_length_vertical = 0
 log2_max_mv_length_vertical
uint8_t matrix_coefficients = 0
 matrix_coefficients
uint32_t max_bits_per_min_cu_denom = 0
 max_bits_per_min_cu_denom
uint32_t max_bytes_per_pic_denom = 0
 max_bytes_per_pic_denom
uint32_t min_spatial_segmentation_idc = 0
 min_spatial_segmentation_idc
uint8_t motion_vectors_over_pic_boundaries_flag = 0
 motion_vectors_over_pic_boundaries_flag
uint8_t neutral_chroma_indication_flag = 0
 neutral_chroma_indication_flag
uint8_t overscan_appropriate_flag = 0
 overscan_appropriate_flag
uint8_t overscan_info_present_flag = 0
 overscan_info_present_flag
uint8_t restricted_ref_pic_lists_flag = 0
 restricted_ref_pic_lists_flag
uint16_t sar_height = 0
 sar_height
uint16_t sar_width = 0
 sar_width
uint8_t tiles_fixed_structure_flag = 0
 tiles_fixed_structure_flag
uint8_t transfer_characteristics = 0
 transfer_characteristics
bool valid = false
uint8_t video_format = 0
 video_format
uint8_t video_full_range_flag = 0
 video_full_range_flag
uint8_t video_signal_type_present_flag = 0
 video_signal_type_present_flag
uint8_t vui_hrd_parameters_present_flag = 0
 vui_hrd_parameters_present_flag
uint32_t vui_num_ticks_poc_diff_one_minus1 = 0
 vui_num_ticks_poc_diff_one_minus1
uint32_t vui_num_units_in_tick = 0
 vui_num_units_in_tick
uint8_t vui_poc_proportional_to_timing_flag = 0
 vui_poc_proportional_to_timing_flag
uint32_t vui_time_scale = 0
 vui_time_scale
uint8_t vui_timing_info_present_flag = 0
 vui_timing_info_present_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
template<typename INT>
requires std::integral<INT>
void disp (std::ostream &out, const UString &margin, const UChar *name, std::vector< INT > n) const

Detailed Description

HEVC VUI (Video Usability Information) parameters.

See also
ITU-T Rec. H.265, E.2.1

Member Typedef Documentation

◆ SuperClass

Reference to the superclass.

Constructor & Destructor Documentation

◆ HEVCVUIParameters()

ts::HEVCVUIParameters::HEVCVUIParameters ( const uint8_t * data = nullptr,
size_t size = 0,
size_t sps_max_sub_layers_minus1 = 0 )

Constructor from a binary area. Note: the parameter sps_max_sub_layers_minus1 must be passed in the initializer list of the parse() methods.

Parameters
[in]dataAddress of binary data to analyze.
[in]sizeSize in bytes of binary data to analyze.
[in]sps_max_sub_layers_minus1Number of sub-layers minus 1 (depends on parent structure).

Member Function Documentation

◆ clear()

virtual void ts::HEVCVUIParameters::clear ( )
overridevirtual

Clear all values. Should be reimplemented by subclasses. The data are marked invalid.

Reimplemented from ts::AbstractVideoData.

◆ parse() [1/2]

virtual bool ts::HEVCVUIParameters::parse ( const uint8_t * addr,
size_t size,
std::initializer_list< uint32_t > params = std::initializer_list< uint32_t >() )
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.

Parameters
[in]addrAddress of the binary data to parse.
[in]sizeSize in bytes of the binary data to parse.
[in]paramsAdditional parameters. May be needed by some structures.
Returns
The valid flag.

Reimplemented from ts::AbstractVideoStructure.

◆ parse() [2/2]

virtual bool ts::HEVCVUIParameters::parse ( AVCParser & parser,
std::initializer_list< uint32_t > params = std::initializer_list< uint32_t >() )
overridevirtual

Parse the structure. Must be reimplemented by subclasses. The data are marked as valid or invalid.

Parameters
[in,out]parserThe parser of an AVC stream.
[in]paramsAdditional parameters. May be needed by some structures.
Returns
The valid flag.

Implements ts::AbstractVideoStructure.

◆ display()

virtual std::ostream & ts::HEVCVUIParameters::display ( std::ostream & stream,
const UString & margin = UString(),
int level = Severity::Info ) const
overridevirtual

Display the content of this object to a stream.

Parameters
[in,out]streamThe stream where to print the content. Standard output by default.
[in]marginThe prefix string on each line, empty by default.
[in]levelSeverity level (for instance, Severity::Info or Severity::Debug may display more information).
Returns
A reference to stream.

Implements ts::DisplayInterface.

◆ disp() [1/2]

template<typename INT>
requires std::integral<INT>
void ts::AbstractVideoData::disp ( std::ostream & out,
const UString & margin,
const UChar * name,
INT n ) const
inlineprotectedinherited

Display helper for subclasses. Display an integer value.

Template Parameters
INTAn integer type.
Parameters
[in,out]outThe stream where to print the content.
[in]marginThe prefix string on each line.
[in]nameA name to display for the value.
[in]nThe integer value to display.

◆ disp() [2/2]

template<typename INT>
requires std::integral<INT>
void ts::AbstractVideoData::disp ( std::ostream & out,
const UString & margin,
const UChar * name,
std::vector< INT > n ) const
inlineprotectedinherited

Display helper for subclasses. Display a vector of integer value.

Template Parameters
INTAn integer type.
Parameters
[in,out]outThe stream where to print the content.
[in]marginThe prefix string on each line.
[in]nameA name to display for the value.
[in]nThe integer values to display.

Member Data Documentation

◆ valid

bool ts::AbstractVideoData::valid = false
inherited

Valid flag. Other fields are significant only if valid is true.


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