TSDuck v3.40-3963
MPEG Transport Stream Toolkit
|
HEVC VUI (Video Usability Information) parameters. More...
#include <tsHEVCVUIParameters.h>
Public Types | |
using | SuperClass = AbstractVideoStructure |
Reference to the superclass. | |
Public Member Functions | |
HEVCVUIParameters (const uint8_t *data=nullptr, size_t size=0, size_t sps_max_sub_layers_minus1=0) | |
Constructor from a binary area. | |
virtual void | clear () override |
Clear all values. | |
virtual std::ostream & | display (std::ostream &strm, 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. | |
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 |
Valid flag. | |
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 , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr> | |
void | disp (std::ostream &out, const UString &margin, const UChar *name, INT n) const |
Display helper for subclasses. | |
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr> | |
void | disp (std::ostream &out, const UString &margin, const UChar *name, std::vector< INT > n) const |
Display helper for subclasses. | |
HEVC VUI (Video Usability Information) parameters.
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.
[in] | data | Address of binary data to analyze. |
[in] | size | Size in bytes of binary data to analyze. |
[in] | sps_max_sub_layers_minus1 | Number of sub-layers minus 1 (depends on parent structure). |
|
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.