TSDuck Version 3.20-1669 (TSDuck - The MPEG Transport Stream Toolkit)
ts::AVCVUIParameters Class Reference

AVC VUI (Video Usability Information) parameters. More...

Inheritance diagram for ts::AVCVUIParameters:
Collaboration diagram for ts::AVCVUIParameters:

Public Types

typedef AbstractAVCStructure SuperClass
 Reference to the superclass.
 

Public Member Functions

 AVCVUIParameters (const void *data=nullptr, size_t size=0)
 Constructor from a binary area. More...
 
virtual void clear () override
 Clear all values. More...
 
virtual std::ostream & display (std::ostream &strm=std::cout, const UString &margin=UString()) const override
 Display the content of this object to a stream. More...
 
virtual bool parse (const void *data, size_t size) override
 Parse a memory area containing binary AVC data of the expected type. More...
 
virtual bool parse (AVCParser &parser) override
 Parse the structure. More...
 

Public Attributes

uint8_t aspect_ratio_idc
 aspect_ratio_idc
 
uint8_t aspect_ratio_info_present_flag
 aspect_ratio_info_present_flag
 
uint8_t bitstream_restriction_flag
 bitstream_restriction_flag
 
uint8_t chroma_loc_info_present_flag
 chroma_loc_info_present_flag
 
uint32_t chroma_sample_loc_type_bottom_field
 chroma_sample_loc_type_bottom_field
 
uint32_t chroma_sample_loc_type_top_field
 chroma_sample_loc_type_top_field
 
uint8_t colour_description_present_flag
 colour_description_present_flag
 
uint8_t colour_primaries
 colour_primaries
 
uint8_t fixed_frame_rate_flag
 fixed_frame_rate_flag
 
uint32_t log2_max_mv_length_horizontal
 log2_max_mv_length_horizontal
 
uint32_t log2_max_mv_length_vertical
 log2_max_mv_length_vertical
 
uint8_t low_delay_hrd_flag
 low_delay_hrd_flag
 
uint8_t matrix_coefficients
 matrix_coefficients
 
uint32_t max_bits_per_mb_denom
 max_bits_per_mb_denom
 
uint32_t max_bytes_per_pic_denom
 max_bytes_per_pic_denom
 
uint32_t max_dec_frame_buffering
 max_dec_frame_buffering
 
uint8_t motion_vectors_over_pic_boundaries_flag
 motion_vectors_over_pic_boundaries_flag
 
AVCHRDParameters nal_hrd
 nal_hrd
 
uint8_t nal_hrd_parameters_present_flag
 nal_hrd_parameters_present_flag
 
uint32_t num_reorder_frames
 num_reorder_frames
 
uint32_t num_units_in_tick
 num_units_in_tick
 
uint8_t overscan_appropriate_flag
 overscan_appropriate_flag
 
uint8_t overscan_info_present_flag
 overscan_info_present_flag
 
uint8_t pic_struct_present_flag
 pic_struct_present_flag
 
uint16_t sar_height
 sar_height
 
uint16_t sar_width
 sar_width
 
uint32_t time_scale
 time_scale
 
uint8_t timing_info_present_flag
 timing_info_present_flag
 
uint8_t transfer_characteristics
 transfer_characteristics
 
bool valid
 Valid flag. More...
 
AVCHRDParameters vcl_hrd
 vcl_hrd
 
uint8_t vcl_hrd_parameters_present_flag
 vcl_hrd_parameters_present_flag
 
uint8_t video_format
 video_format
 
uint8_t video_full_range_flag
 video_full_range_flag
 
uint8_t video_signal_type_present_flag
 video_signal_type_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. More...
 
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. More...
 

Detailed Description

AVC VUI (Video Usability Information) parameters.

AVC is Advanced Video Coding, ISO 14496-10, ITU H.264.

Constructor & Destructor Documentation

◆ AVCVUIParameters()

ts::AVCVUIParameters::AVCVUIParameters ( const void *  data = nullptr,
size_t  size = 0 
)

Constructor from a binary area.

Parameters
[in]dataAddress of binary data to analyze.
[in]sizeSize in bytes of binary data to analyze.

Member Function Documentation

◆ clear()

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

Clear all values.

Should be reimplemented by subclasses. The data are marked invalid.

Reimplemented from ts::AbstractAVCData.

◆ parse() [1/2]

virtual bool ts::AVCVUIParameters::parse ( const void *  addr,
size_t  size 
)
overridevirtual

Parse a memory area containing binary AVC 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.
Returns
The valid flag.

Reimplemented from ts::AbstractAVCStructure.

◆ parse() [2/2]

virtual bool ts::AVCVUIParameters::parse ( AVCParser parser)
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.
Returns
The valid flag.

Implements ts::AbstractAVCStructure.

◆ display()

virtual std::ostream& ts::AVCVUIParameters::display ( std::ostream &  stream = std::cout,
const UString margin = UString() 
) 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.
Returns
A reference to stream.

Implements ts::DisplayInterface.

◆ disp() [1/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void ts::AbstractAVCData::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 , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void ts::AbstractAVCData::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::AbstractAVCData::valid
inherited

Valid flag.

Other fields are significant only if valid is true.


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