pub struct Vps {Show 23 fields
pub video_parameter_set_id: u8,
pub base_layer_internal_flag: bool,
pub base_layer_available_flag: bool,
pub max_layers_minus1: u8,
pub max_sub_layers_minus1: u8,
pub temporal_id_nesting_flag: bool,
pub profile_tier_level: ProfileTierLevel,
pub sub_layer_ordering_info_present_flag: bool,
pub max_dec_pic_buffering_minus1: [u32; 7],
pub max_num_reorder_pics: [u32; 7],
pub max_latency_increase_plus1: [u32; 7],
pub max_layer_id: u8,
pub num_layer_sets_minus1: u32,
pub timing_info_present_flag: bool,
pub num_units_in_tick: u32,
pub time_scale: u32,
pub poc_proportional_to_timing_flag: bool,
pub num_ticks_poc_diff_one_minus1: u32,
pub num_hrd_parameters: u32,
pub hrd_layer_set_idx: Vec<u16>,
pub cprms_present_flag: Vec<bool>,
pub hrd_parameters: Vec<HrdParams>,
pub extension_flag: bool,
}
Expand description
A H.265 Video Parameter Set.
Fields§
§video_parameter_set_id: u8
Identifies the VPS for reference by other syntax elements.
base_layer_internal_flag: bool
If vps_base_layer_internal_flag is equal to 1 and vps_base_layer_available_flag is equal to 1, the base layer is present in the bitstream.
base_layer_available_flag: bool
See base_layer_internal_flag
.
max_layers_minus1: u8
Plus 1 specifies the maximum allowed number of layers in each CVS referring to the VPS.
max_sub_layers_minus1: u8
Plus 1 specifies the maximum number of temporal sub-layers that may be present in each CVS referring to the VPS.
temporal_id_nesting_flag: bool
When vps_max_sub_layers_minus1 is greater than 0, specifies whether inter prediction is additionally restricted for CVSs referring to the VPS.
profile_tier_level: ProfileTierLevel
ProfileTierLevel() data.
sub_layer_ordering_info_present_flag: bool
When true, specifies that vps_max_dec_pic_buffering_minus1[ i ]
,
vps_max_num_reorder_pics[ i ]
and vps_max_latency_increase_plus1[ i ]
are present for vps_max_sub_layers_ minus1 + 1 sub-layers.
vps_sub_layer_ordering_info_present_flag equal to 0 specifies that the
values of vps_max_dec_pic_buffering_minus1[ vps_max_sub_layers_minus1 ]
,
vps_max_num_reorder_pics[ vps_max_sub_ layers_minus1 ] and
vps_max_latency_increase_plus1[ vps_max_sub_layers_minus1 ]
apply to all
sub-layers
max_dec_pic_buffering_minus1: [u32; 7]
max_dec_pic_buffering_minus1[i]
plus 1 specifies the maximum required
size of the decoded picture buffer for the CVS in units of picture
storage buffers when HighestTid is equal to i.
max_num_reorder_pics: [u32; 7]
Indicates the maximum allowed number of pictures with PicOutputFlag equal to 1 that can precede any picture with PicOutputFlag equal to 1 in the CVS in decoding order and follow that picture with PicOutputFlag equal to 1 in output order when HighestTid is equal to i.
max_latency_increase_plus1: [u32; 7]
When true, max_latency_increase_plus1[i]
is used to compute the value of
VpsMaxLatencyPictures[ i ]
, which specifies the maximum number of
pictures with PicOutputFlag equal to 1 that can precede any picture with
PicOutputFlag equal to 1 in the CVS in output order and follow that
picture with PicOutputFlag equal to 1 in decoding order when HighestTid
is equal to i.
max_layer_id: u8
Specifies the maximum allowed value of nuh_layer_id of all NAL units in each CVS referring to the VPS.
num_layer_sets_minus1: u32
num_layer_sets_minus1 plus 1 specifies the number of layer sets that are specified by the VPS.
timing_info_present_flag: bool
When true, specifies that num_units_in_tick, time_scale, poc_proportional_to_timing_flag and num_hrd_parameters are present in the VPS.
num_units_in_tick: u32
The number of time units of a clock operating at the frequency vps_time_scale Hz that corresponds to one increment (called a clock tick) of a clock tick counter. The value of vps_num_units_in_tick shall be greater than 0. A clock tick, in units of seconds, is equal to the quotient of vps_num_units_in_tick divided by vps_time_scale. For example, when the picture rate of a video signal is 25 Hz, vps_time_scale may be equal to 27 000 000 and vps_num_units_in_tick may be equal to 1 080 000, and consequently a clock tick may be 0.04 seconds.
time_scale: u32
The number of time units that pass in one second. For example, a time coordinate system that measures time using a 27 MHz clock has a vps_time_scale of 27 000 000.
poc_proportional_to_timing_flag: bool
When true, indicates that the picture order count value for each picture in the CVS that is not the first picture in the CVS, in decoding order, is proportional to the output time of the picture relative to the output time of the first picture in the CVS. When false, indicates that the picture order count value for each picture in the CVS that is not the first picture in the CVS, in decoding order, may or may not be proportional to the output time of the picture relative to the output time of the first picture in the CVS.
num_ticks_poc_diff_one_minus1: u32
num_ticks_poc_diff_one_minus1 plus 1 specifies the number of clock ticks corresponding to a difference of picture order count values equal to 1.
num_hrd_parameters: u32
Specifies the number of hrd_parameters( ) syntax structures present in the VPS RBSP before the vps_extension_flag syntax element.
hrd_layer_set_idx: Vec<u16>
hrd_layer_set_idx[ i ]
specifies the index, into the list of layer sets
specified by the VPS, of the layer set to which the i-th hrd_parameters(
) syntax structure in the VPS applies.
cprms_present_flag: Vec<bool>
cprms_present_flag[ i ]
equal to true specifies that the HRD parameters
that are common for all sub-layers are present in the i-th
hrd_parameters( ) syntax structure in the VPS. cprms_present_flag[ i ]
equal to false specifies that the HRD parameters that are common for all
sub-layers are not present in the i-th hrd_parameters( ) syntax
structure in the VPS and are derived to be the same as the ( i − 1 )-th
hrd_parameters( ) syntax structure in the VPS. cprms_present_flag[ 0 ]
is inferred to be equal to true.
hrd_parameters: Vec<HrdParams>
The hrd_parameters() data.
extension_flag: bool
When false, specifies that no vps_extension_data_flag syntax elements are present in the VPS RBSP syntax structure. When true, specifies that there are vps_extension_data_flag syntax elements present in the VPS RBSP syntax structure. Decoders conforming to a profile specified in Annex A but not supporting the INBLD capability specified in Annex F shall ignore all data that follow the value 1 for vps_extension_flag in a VPS NAL unit.