Struct Pps

Source
pub struct Pps {
Show 46 fields pub pic_parameter_set_id: u8, pub seq_parameter_set_id: u8, pub dependent_slice_segments_enabled_flag: bool, pub output_flag_present_flag: bool, pub num_extra_slice_header_bits: u8, pub sign_data_hiding_enabled_flag: bool, pub cabac_init_present_flag: bool, pub num_ref_idx_l0_default_active_minus1: u8, pub num_ref_idx_l1_default_active_minus1: u8, pub init_qp_minus26: i8, pub constrained_intra_pred_flag: bool, pub transform_skip_enabled_flag: bool, pub cu_qp_delta_enabled_flag: bool, pub diff_cu_qp_delta_depth: u8, pub cb_qp_offset: i8, pub cr_qp_offset: i8, pub slice_chroma_qp_offsets_present_flag: bool, pub weighted_pred_flag: bool, pub weighted_bipred_flag: bool, pub transquant_bypass_enabled_flag: bool, pub tiles_enabled_flag: bool, pub entropy_coding_sync_enabled_flag: bool, pub num_tile_columns_minus1: u8, pub num_tile_rows_minus1: u8, pub uniform_spacing_flag: bool, pub column_width_minus1: [u32; 19], pub row_height_minus1: [u32; 21], pub loop_filter_across_tiles_enabled_flag: bool, pub loop_filter_across_slices_enabled_flag: bool, pub deblocking_filter_control_present_flag: bool, pub deblocking_filter_override_enabled_flag: bool, pub deblocking_filter_disabled_flag: bool, pub beta_offset_div2: i8, pub tc_offset_div2: i8, pub scaling_list_data_present_flag: bool, pub scaling_list: ScalingLists, pub lists_modification_present_flag: bool, pub log2_parallel_merge_level_minus2: u8, pub slice_segment_header_extension_present_flag: bool, pub extension_present_flag: bool, pub range_extension_flag: bool, pub range_extension: PpsRangeExtension, pub scc_extension_flag: bool, pub scc_extension: PpsSccExtension, pub qp_bd_offset_y: u32, pub temporal_id: u8,
}
Expand description

A H.265 Picture Parameter Set.

Fields§

§pic_parameter_set_id: u8

Identifies the PPS for reference by other syntax elements.

§seq_parameter_set_id: u8

Specifies the value of sps_seq_parameter_set_id for the active SPS.

§dependent_slice_segments_enabled_flag: bool

When set, specifies the presence of the syntax element dependent_slice_segment_flag in the slice segment headers for coded pictures referring to the PPS. When not set, specifies the absence of the syntax element dependent_slice_segment_flag in the slice segment headers for coded pictures referring to the PPS.

§output_flag_present_flag: bool

When set, indicates that the pic_output_flag syntax element is present in the associated slice headers. When not set, indicates that the pic_output_flag syntax element is not present in the associated slice headers.

§num_extra_slice_header_bits: u8

Specifies the number of extra slice header bits that are present in the slice header RBSP for coded pictures referring to the PPS.

§sign_data_hiding_enabled_flag: bool

When not set, specifies that sign bit hiding is disabled. Whens set, specifies that sign bit hiding is enabled.

§cabac_init_present_flag: bool

When set, specifies that cabac_init_flag is present in slice headers referring to the PPS. When not set, specifies that cabac_init_flag is not present in slice headers referring to the PPS.

§num_ref_idx_l0_default_active_minus1: u8

Specifies the inferred value of num_ref_idx_l0_active_minus1 for P and B slices with num_ref_idx_active_override_flag not set.

§num_ref_idx_l1_default_active_minus1: u8

Specifies the inferred value of num_ref_idx_l1_active_minus1 for B slices with num_ref_idx_active_override_flag not set.

§init_qp_minus26: i8

init_qp_minus26 plus 26 specifies the initial value of SliceQpY for each slice referring to the PPS. The initial value of SliceQpY is modified at the slice segment layer when a non-zero value of slice_qp_delta is decoded.

§constrained_intra_pred_flag: bool

When not set, specifies that intra prediction allows usage of residual data and decoded samples of neighbouring coding blocks coded using either intra or inter prediction modes. When set, specifies constrained intra prediction, in which case intra prediction only uses residual data and decoded samples from neighbouring coding blocks coded using intra prediction modes.

§transform_skip_enabled_flag: bool

When set, specifies that transform_skip_flag may be present in the residual coding syntax. When not set, specifies that transform_skip_flag is not present in the residual coding syntax.

§cu_qp_delta_enabled_flag: bool

When set, specifies that the diff_cu_qp_delta_depth syntax element is present in the PPS and that cu_qp_delta_abs may be present in the transform unit syntax and the palette syntax. When not set, specifies that the diff_cu_qp_delta_depth syntax element is not present in the PPS and that cu_qp_delta_abs is not present in the transform unit syntax and the palette syntax.

§diff_cu_qp_delta_depth: u8

Specifies the difference between the luma CTB size and the minimum luma coding block size of coding units that convey cu_qp_delta_abs and cu_qp_delta_sign_flag.

§cb_qp_offset: i8

Specifies the offsets to the luma quantization parameter Qp′Y used for deriving Qp′Cb and Qp′Cr, respectively.

§cr_qp_offset: i8

Specifies the offsets to the luma quantization parameter Qp′Y used for deriving Qp′Cb and Qp′Cr, respectively.

§slice_chroma_qp_offsets_present_flag: bool

When set, indicates that the slice_cb_qp_offset and slice_cr_qp_offset syntax elements are present in the associated slice headers. When not set, indicates that these syntax elements are not present in the associated slice headers. When ChromaArrayType is equal to 0, pps_slice_chroma_qp_offsets_present_flag shall be equal to 0

§weighted_pred_flag: bool

When not set, specifies that weighted prediction is not applied to P slices. When set, specifies that weighted prediction is applied to P slices.

§weighted_bipred_flag: bool

When not set, specifies that the default weighted prediction is applied to B slices. When set, specifies that weighted prediction is applied to B slices.

§transquant_bypass_enabled_flag: bool

When set, specifies that cu_transquant_bypass_flag is present, When not set, specifies that cu_transquant_bypass_flag is not present.

§tiles_enabled_flag: bool

When set, specifies that there is more than one tile in each picture referring to the PPS. When not set, specifies that there is only one tile in each picture referring to the PPS.

§entropy_coding_sync_enabled_flag: bool

When set, specifies that a specific synchronization process for context variables, and when applicable, Rice parameter initialization states and palette predictor variables, is invoked before decoding the CTU which includes the first CTB of a row of CTBs in each tile in each picture referring to the PPS, and a specific storage process for context variables, and when applicable, Rice parameter initialization states and palette predictor variables, is invoked after decoding the CTU which includes the second CTB of a row of CTBs in each tile in each picture referring to the PPS. When not set, specifies that no specific synchronization process for context variables, and when applicable, Rice parameter initialization states and palette predictor variables, is required to be invoked before decoding the CTU which includes the first CTB of a row of CTBs in each tile in each picture referring to the PPS, and no specific storage process for context variables, and when applicable, Rice parameter initialization states and palette predictor variables, is required to be invoked after decoding the CTU which includes the second CTB of a row of CTBs in each tile in each picture referring to the PPS.

§num_tile_columns_minus1: u8

num_tile_columns_minus1 plus 1 specifies the number of tile columns partitioning the picture.

§num_tile_rows_minus1: u8

num_tile_rows_minus1 plus 1 specifies the number of tile rows partitioning the picture.

§uniform_spacing_flag: bool

When set, specifies that tile column boundaries and likewise tile row boundaries are distributed uniformly across the picture. When not set, specifies that tile column boundaries and likewise tile row boundaries are not distributed uniformly across the picture but signalled explicitly using the syntax elements column_width_minus1[ i ] and row_height_minus1[ i ].

§column_width_minus1: [u32; 19]

column_width_minus1[ i ] plus 1 specifies the width of the i-th tile column in units of CTBs.

§row_height_minus1: [u32; 21]

row_height_minus1[ i ] plus 1 specifies the height of the i-th tile row in units of CTBs.

§loop_filter_across_tiles_enabled_flag: bool

When set, specifies that in-loop filtering operations may be performed across tile boundaries in pictures referring to the PPS. When not set, specifies that in-loop filtering operations are not performed across tile boundaries in pictures referring to the PPS. The in-loop filtering operations include the deblocking filter and sample adaptive offset filter operations.

§loop_filter_across_slices_enabled_flag: bool

When set, specifies that in-loop filtering operations may be performed across left and upper boundaries of slices referring to the PPS. When not set, specifies that in-loop filtering operations are not performed across left and upper boundaries of slices referring to the PPS. The in- loop filtering operations include the deblocking filter and sample adaptive offset filter operations.

§deblocking_filter_control_present_flag: bool

When set, specifies the presence of deblocking filter control syntax elements in the PPS. When not set, specifies the absence of deblocking filter control syntax elements in the PPS.

§deblocking_filter_override_enabled_flag: bool

When set, specifies the presence of deblocking_filter_override_flag in the slice headers for pictures referring to the PPS. When not set, specifies the absence of deblocking_filter_override_flag in the slice headers for pictures referring to the PPS.

§deblocking_filter_disabled_flag: bool

When set, specifies that the operation of deblocking filter is not applied for slices referring to the PPS in which slice_deblocking_filter_disabled_flag is not present. When not set, specifies that the operation of the deblocking filter is applied for slices referring to the PPS in which slice_deblocking_filter_disabled_flag is not present.

§beta_offset_div2: i8

Specify the default deblocking parameter offsets for β and tC (divided by 2) that are applied for slices referring to the PPS, unless the default deblocking parameter offsets are overridden by the deblocking parameter offsets present in the slice headers of the slices referring to the PPS.

§tc_offset_div2: i8

Specify the default deblocking parameter offsets for β and tC (divided by 2) that are applied for slices referring to the PPS, unless the default deblocking parameter offsets are overridden by the deblocking parameter offsets present in the slice headers of the slices referring to the PPS.

§scaling_list_data_present_flag: bool

When set, specifies that the scaling list data used for the pictures referring to the PPS are derived based on the scaling lists specified by the active SPS and the scaling lists specified by the PPS. pps_scaling_list_data_present_flag equal to 0 specifies that the scaling list data used for the pictures referring to the PPS are inferred to be equal to those specified by the active SPS.

§scaling_list: ScalingLists

The scaling list data.

§lists_modification_present_flag: bool

When set, specifies that the syntax structure ref_pic_lists_modification( ) is present in the slice segment header. When not set, specifies that the syntax structure ref_pic_lists_modification( ) is not present in the slice segment header

§log2_parallel_merge_level_minus2: u8

log2_parallel_merge_level_minus2 plus 2 specifies the value of the variable Log2ParMrgLevel, which is used in the derivation process for luma motion vectors for merge mode as specified in clause 8.5.3.2.2 and the derivation process for spatial merging candidates as specified in clause 8.5.3.2.3.

§slice_segment_header_extension_present_flag: bool

When not set, specifies that no slice segment header extension syntax elements are present in the slice segment headers for coded pictures referring to the PPS. When set, specifies that slice segment header extension syntax elements are present in the slice segment headers for coded pictures referring to the PPS.

§extension_present_flag: bool

When set, specifies that the syntax elements pps_range_extension_flag, pps_multilayer_extension_flag, pps_3d_extension_flag, pps_scc_extension_flag, and pps_extension_4bits are present in the picture parameter set RBSP syntax structure. When not set, specifies that these syntax elements are not present.

§range_extension_flag: bool

When setspecifies that the pps_range_extension( ) syntax structure is present in the PPS RBSP syntax structure. When not set, specifies that this syntax structure is not present.

§range_extension: PpsRangeExtension

The range extension data.

§scc_extension_flag: bool§scc_extension: PpsSccExtension

The SCC extension data.

§qp_bd_offset_y: u32

Equivalent to QpBdOffsetY in the specification.

§temporal_id: u8

The nuh_temporal_id_plus1 - 1 of the associated NALU.

Trait Implementations§

Source§

impl Clone for Pps

Source§

fn clone(&self) -> Pps

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 Pps

Source§

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

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

impl Default for Pps

Source§

fn default() -> Self

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

impl PartialEq for Pps

Source§

fn eq(&self, other: &Pps) -> 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 Pps

Source§

impl StructuralPartialEq for Pps

Auto Trait Implementations§

§

impl Freeze for Pps

§

impl RefUnwindSafe for Pps

§

impl Send for Pps

§

impl Sync for Pps

§

impl Unpin for Pps

§

impl UnwindSafe for Pps

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.