Struct Sps

Source
pub struct Sps {
Show 64 fields pub video_parameter_set_id: u8, pub max_sub_layers_minus1: u8, pub temporal_id_nesting_flag: bool, pub profile_tier_level: ProfileTierLevel, pub seq_parameter_set_id: u8, pub chroma_format_idc: u8, pub separate_colour_plane_flag: bool, pub pic_width_in_luma_samples: u16, pub pic_height_in_luma_samples: u16, pub conformance_window_flag: bool, pub conf_win_left_offset: u32, pub conf_win_right_offset: u32, pub conf_win_top_offset: u32, pub conf_win_bottom_offset: u32, pub bit_depth_luma_minus8: u8, pub bit_depth_chroma_minus8: u8, pub log2_max_pic_order_cnt_lsb_minus4: u8, pub sub_layer_ordering_info_present_flag: bool, pub max_dec_pic_buffering_minus1: [u8; 7], pub max_num_reorder_pics: [u8; 7], pub max_latency_increase_plus1: [u8; 7], pub log2_min_luma_coding_block_size_minus3: u8, pub log2_diff_max_min_luma_coding_block_size: u8, pub log2_min_luma_transform_block_size_minus2: u8, pub log2_diff_max_min_luma_transform_block_size: u8, pub max_transform_hierarchy_depth_inter: u8, pub max_transform_hierarchy_depth_intra: u8, pub scaling_list_enabled_flag: bool, pub scaling_list_data_present_flag: bool, pub scaling_list: ScalingLists, pub amp_enabled_flag: bool, pub sample_adaptive_offset_enabled_flag: bool, pub pcm_enabled_flag: bool, pub pcm_sample_bit_depth_luma_minus1: u8, pub pcm_sample_bit_depth_chroma_minus1: u8, pub log2_min_pcm_luma_coding_block_size_minus3: u8, pub log2_diff_max_min_pcm_luma_coding_block_size: u8, pub pcm_loop_filter_disabled_flag: bool, pub num_short_term_ref_pic_sets: u8, pub short_term_ref_pic_set: Vec<ShortTermRefPicSet>, pub long_term_ref_pics_present_flag: bool, pub num_long_term_ref_pics_sps: u8, pub lt_ref_pic_poc_lsb_sps: [u32; 32], pub used_by_curr_pic_lt_sps_flag: [bool; 32], pub temporal_mvp_enabled_flag: bool, pub strong_intra_smoothing_enabled_flag: bool, pub vui_parameters_present_flag: bool, pub vui_parameters: VuiParams, pub extension_present_flag: bool, pub range_extension_flag: bool, pub range_extension: SpsRangeExtension, pub scc_extension_flag: bool, pub scc_extension: SpsSccExtension, pub min_cb_log2_size_y: u32, pub ctb_log2_size_y: u32, pub ctb_size_y: u32, pub pic_height_in_ctbs_y: u32, pub pic_width_in_ctbs_y: u32, pub pic_size_in_ctbs_y: u32, pub chroma_array_type: u8, pub wp_offset_half_range_y: u32, pub wp_offset_half_range_c: u32, pub max_tb_log2_size_y: u32, pub pic_size_in_samples_y: u32,
}
Expand description

A H.265 Sequence Parameter Set.

Fields§

§video_parameter_set_id: u8

Specifies the value of the vps_video_parameter_set_id of the active VPS.

§max_sub_layers_minus1: u8

max_sub_layers_minus1 plus 1 specifies the maximum number of temporal sub-layers that may be present in each CVS referring to the SPS.

§temporal_id_nesting_flag: bool

When sps_max_sub_layers_minus1 is greater than 0, specifies whether inter prediction is additionally restricted for CVSs referring to the SPS.

§profile_tier_level: ProfileTierLevel

profile_tier_level() data.

§seq_parameter_set_id: u8

Provides an identifier for the SPS for reference by other syntax elements.

§chroma_format_idc: u8

Specifies the chroma sampling relative to the luma sampling as specified in clause 6.2.

§separate_colour_plane_flag: bool

When true, specifies that the three colour components of the 4:4:4 chroma format are coded separately. When false, specifies that the colour components are not coded separately.

§pic_width_in_luma_samples: u16

Specifies the width of each decoded picture in units of luma samples.

§pic_height_in_luma_samples: u16

Specifies the height of each decoded picture in units of luma samples.

§conformance_window_flag: bool

When true, indicates that the conformance cropping window offset parameters follow next in the SPS. When false, indicates that the conformance cropping window offset parameters are not present.

§conf_win_left_offset: u32

Specify the samples of the pictures in the CVS that are output from the decoding process, in terms of a rectangular region specified in picture coordinates for output.

§conf_win_right_offset: u32§conf_win_top_offset: u32§conf_win_bottom_offset: u32§bit_depth_luma_minus8: u8

Specifies the bit depth of the samples of the luma array BitDepthY and the value of the luma quantization parameter range offset QpBdOffsetY.

§bit_depth_chroma_minus8: u8

Specifies the bit depth of the samples of the chroma arrays BitDepthC and the value of the chroma quantization parameter range offset QpBdOffsetC.

§log2_max_pic_order_cnt_lsb_minus4: u8

Specifies the value of the variable MaxPicOrderCntLsb that is used in the decoding process for picture order count.

§sub_layer_ordering_info_present_flag: bool

When true, specifies that max_dec_pic_buffering_minus1[ i ], max_num_reorder_pics[ i ] and max_latency_increase_plus1[ i ] are present for max_sub_layers_minus1 + 1 sub- layers. When false, specifies that the values of max_dec_pic_ buffering_minus1[ max_sub_layers_minus1 ], max_num_reorder_pics[ max_sub_layers_minus1 ] and max_ latency_increase_plus1[ max_sub_layers_minus1 ] apply to all sub-layers.

§max_dec_pic_buffering_minus1: [u8; 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: [u8; 7]

max_num_reorder_pics[ i ] 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: [u8; 7]

max_latency_increase_plus1[ i ] not equal to 0 is used to compute the value of SpsMaxLatencyPictures[ 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.

§log2_min_luma_coding_block_size_minus3: u8

min_luma_coding_block_size_minus3 plus 3 specifies the minimum luma coding block size.

§log2_diff_max_min_luma_coding_block_size: u8

Specifies the difference between the maximum and minimum luma coding block size.

§log2_min_luma_transform_block_size_minus2: u8

min_luma_transform_block_size_minus2 plus 2 specifies the minimum luma transform block size.

§log2_diff_max_min_luma_transform_block_size: u8

Specifies the difference between the maximum and minimum luma transform block size.

§max_transform_hierarchy_depth_inter: u8

Specifies the maximum hierarchy depth for transform units of coding units coded in inter prediction mode.

§max_transform_hierarchy_depth_intra: u8

Specifies the maximum hierarchy depth for transform units of coding units coded in intra prediction mode.

§scaling_list_enabled_flag: bool

When true, specifies that a scaling list is used for the scaling process for transform coefficients. When false, specifies that scaling list is not used for the scaling process for transform coefficients.

§scaling_list_data_present_flag: bool

When true, specifies that the scaling_list_data( ) syntax structure is present in the SPS. When false, specifies that the scaling_list_data( ) syntax structure is not present in the SPS.

§scaling_list: ScalingLists

The scaling_list_data() syntax data.

§amp_enabled_flag: bool

When true, specifies that asymmetric motion partitions, i.e., PartMode equal to PART_2NxnU, PART_2NxnD, PART_nLx2N or PART_nRx2N, may be used in CTBs. When false, specifies that asymmetric motion partitions cannot be used in CTBs.

§sample_adaptive_offset_enabled_flag: bool

When true, specifies that the sample adaptive offset process is applied to the reconstructed picture after the deblocking filter process. When false, specifies that the sample adaptive offset process is not applied to the reconstructed picture after the deblocking filter process.

§pcm_enabled_flag: bool

When false, specifies that PCM-related syntax (pcm_sample_bit_depth_luma_minus1, pcm_sample_ bit_depth_chroma_minus1, log2_min_pcm_luma_coding_block_size_minus3, log2_diff_max_min_pcm_luma_ coding_block_size, pcm_loop_filter_disabled_flag, pcm_flag, pcm_alignment_zero_bit syntax elements and pcm_sample( ) syntax structure) is not present in the CVS.

§pcm_sample_bit_depth_luma_minus1: u8§pcm_sample_bit_depth_chroma_minus1: u8

Specifies the number of bits used to represent each of PCM sample values of the luma component.

§log2_min_pcm_luma_coding_block_size_minus3: u8

Specifies the number of bits used to represent each of PCM sample values of the chroma components.

§log2_diff_max_min_pcm_luma_coding_block_size: u8

Specifies the difference between the maximum and minimum size of coding blocks with pcm_flag equal to true.

§pcm_loop_filter_disabled_flag: bool

Specifies whether the loop filter process is disabled on reconstructed samples in a coding unit with pcm_flag equal to true as follows:

– If pcm_loop_filter_disabled_flag is set, the deblocking filter and sample adaptive offset filter processes on the reconstructed samples in a coding unit with pcm_flag set are disabled.

– Otherwise (pcm_loop_filter_disabled_flag value is not set), the deblocking filter and sample adaptive offset filter processes on the reconstructed samples in a coding unit with pcm_flag set are not disabled.

§num_short_term_ref_pic_sets: u8

Specifies the number of st_ref_pic_set( ) syntax structures included in the SPS.

§short_term_ref_pic_set: Vec<ShortTermRefPicSet>

the st_ref_pic_set() data.

§long_term_ref_pics_present_flag: bool

If unset, specifies that no long-term reference picture is used for inter prediction of any coded picture in the CVS. If set, specifies that long-term reference pictures may be used for inter prediction of one or more coded pictures in the CVS.

§num_long_term_ref_pics_sps: u8

Specifies the number of candidate long-term reference pictures that are specified in the SPS.

§lt_ref_pic_poc_lsb_sps: [u32; 32]

lt_ref_pic_poc_lsb_sps[ i ] specifies the picture order count modulo MaxPicOrderCntLsb of the i-th candidate long-term reference picture specified in the SPS.

§used_by_curr_pic_lt_sps_flag: [bool; 32]

used_by_curr_pic_lt_sps_flag[ i ] equal to false specifies that the i-th candidate long-term reference picture specified in the SPS is not used for reference by a picture that includes in its long-term reference picture set (RPS) the i-th candidate long-term reference picture specified in the SPS.

§temporal_mvp_enabled_flag: bool

When set, specifies that slice_temporal_mvp_enabled_flag is present in the slice headers of non-IDR pictures in the CVS. When not set, specifies that slice_temporal_mvp_enabled_flag is not present in slice headers and that temporal motion vector predictors are not used in the CVS.

§strong_intra_smoothing_enabled_flag: bool

When set, specifies that bi-linear interpolation is conditionally used in the intraprediction filtering process in the CVS as specified in clause 8.4.4.2.3.

§vui_parameters_present_flag: bool

When set, specifies that the vui_parameters( ) syntax structure as specified in Annex E is present. When not set, specifies that the vui_parameters( ) syntax structure as specified in Annex E is not present.

§vui_parameters: VuiParams

The vui_parameters() data.

§extension_present_flag: bool

When set, specifies that the syntax elements sps_range_extension_flag, sps_multilayer_extension_flag, sps_3d_extension_flag, sps_scc_extension_flag, and sps_extension_4bits are present in the SPS RBSP syntax structure. When not set, specifies that these syntax elements are not present.

§range_extension_flag: bool§range_extension: SpsRangeExtension

The sps_range_extension() data.

§scc_extension_flag: bool

When set, specifies that the sps_scc_extension( ) syntax structure is present in the SPS RBSP syntax structure. When not set, specifies that this syntax structure is not present

§scc_extension: SpsSccExtension

The sps_scc_extension() data.

§min_cb_log2_size_y: u32

Equivalent to MinCbLog2SizeY in the specification.

§ctb_log2_size_y: u32

Equivalent to CtbLog2SizeY in the specification.

§ctb_size_y: u32

Equivalent to CtbSizeY in the specification.

§pic_height_in_ctbs_y: u32

Equivalent to PicHeightInCtbsY in the specification.

§pic_width_in_ctbs_y: u32

Equivalent to PicWidthInCtbsY in the specification.

§pic_size_in_ctbs_y: u32

Equivalent to PicSizeInCtbsY in the specification.

§chroma_array_type: u8

Equivalent to ChromaArrayType in the specification.

§wp_offset_half_range_y: u32

Equivalent to WpOffsetHalfRangeY in the specification.

§wp_offset_half_range_c: u32

Equivalent to WpOffsetHalfRangeC in the specification.

§max_tb_log2_size_y: u32

Equivalent to MaxTbLog2SizeY in the specification.

§pic_size_in_samples_y: u32

Equivalent to PicSizeInSamplesY in the specification.

Implementations§

Source§

impl Sps

Source

pub fn max_dpb_size(&self) -> usize

Source

pub fn width(&self) -> u16

Source

pub fn height(&self) -> u16

Source

pub fn visible_rectangle(&self) -> Rect<u32>

Trait Implementations§

Source§

impl Clone for Sps

Source§

fn clone(&self) -> Sps

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Sps

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Sps

Source§

fn default() -> Sps

Returns the “default value” for a type. Read more
Source§

impl PartialEq for Sps

Source§

fn eq(&self, other: &Sps) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for Sps

Source§

impl StructuralPartialEq for Sps

Auto Trait Implementations§

§

impl Freeze for Sps

§

impl RefUnwindSafe for Sps

§

impl Send for Sps

§

impl Sync for Sps

§

impl Unpin for Sps

§

impl UnwindSafe for Sps

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.