Struct Pps

Source
pub struct Pps {
Show 21 fields pub pic_parameter_set_id: u8, pub seq_parameter_set_id: u8, pub entropy_coding_mode_flag: bool, pub bottom_field_pic_order_in_frame_present_flag: bool, pub num_slice_groups_minus1: u32, pub num_ref_idx_l0_default_active_minus1: u8, pub num_ref_idx_l1_default_active_minus1: u8, pub weighted_pred_flag: bool, pub weighted_bipred_idc: u8, pub pic_init_qp_minus26: i8, pub pic_init_qs_minus26: i8, pub chroma_qp_index_offset: i8, pub deblocking_filter_control_present_flag: bool, pub constrained_intra_pred_flag: bool, pub redundant_pic_cnt_present_flag: bool, pub transform_8x8_mode_flag: bool, pub pic_scaling_matrix_present_flag: bool, pub scaling_lists_4x4: [[u8; 16]; 6], pub scaling_lists_8x8: [[u8; 64]; 6], pub second_chroma_qp_index_offset: i8, pub sps: Rc<Sps>,
}
Expand description

A H264 Picture Parameter Set. A syntax structure containing syntax elements that apply to zero or more entire coded pictures as determined by the pic_parameter_set_id syntax element found in each slice header.

Fields§

§pic_parameter_set_id: u8

Identifies the picture parameter set that is referred to in the slice header.

§seq_parameter_set_id: u8

Refers to the active sequence parameter set.

§entropy_coding_mode_flag: bool

Selects the entropy decoding method to be applied for the syntax elements for which two descriptors appear in the syntax tables as follows: If entropy_coding_mode_flag is false, the method specified by the left descriptor in the syntax table is applied (Exp-Golomb coded, see clause 9.1 or CAVLC, see clause 9.2). Otherwise (entropy_coding_mode_flag is true), the method specified by the right descriptor in the syntax table is applied (CABAC, see clause 9.3).

§bottom_field_pic_order_in_frame_present_flag: bool

If true, specifies that the syntax elements delta_pic_order_cnt_bottom (when pic_order_cnt_type is equal to 0) or delta_pic_order_cnt[1] (when pic_order_cnt_type is equal to 1), which are related to picture order counts for the bottom field of a coded frame, are present in the slice headers for coded frames as specified in clause 7.3.3. Otherwise, specifies that the syntax elements delta_pic_order_cnt_bottom and delta_pic_order_cnt[1] are not present in the slice headers.

§num_slice_groups_minus1: u32

Plus 1 specifies the number of slice groups for a picture. When num_slice_groups_minus1 is equal to 0, all slices of the picture belong to the same slice group. The allowed range of num_slice_groups_minus1 is specified in Annex A.

§num_ref_idx_l0_default_active_minus1: u8

Specifies how num_ref_idx_l0_active_minus1 is inferred for P, SP, and B slices with num_ref_idx_active_override_flag not set.

§num_ref_idx_l1_default_active_minus1: u8

Specifies how num_ref_idx_l1_active_minus1 is inferred for B slices with num_ref_idx_active_override_flag not set.

§weighted_pred_flag: bool

If not set, specifies that the default weighted prediction shall be applied to P and SP slices. If set, specifies that explicit weighted prediction shall be applied to P and SP slices.

§weighted_bipred_idc: u8

weighted_bipred_idc equal to 0 specifies that the default weighted prediction shall be applied to B slices. weighted_bipred_idc equal to 1 specifies that explicit weighted prediction shall be applied to B slices. weighted_bipred_idc equal to 2 specifies that implicit weighted prediction shall be applied to B slices

§pic_init_qp_minus26: i8

Specifies the initial value minus 26 of SliceQPY for each slice. The initial value is modified at the slice layer when a non-zero value of slice_qp_delta is decoded, and is modified further when a non-zero value of mb_qp_delta is decoded at the macroblock layer.

§pic_init_qs_minus26: i8

Specifies the initial value minus 26 of SliceQSY for all macroblocks in SP or SI slices. The initial value is modified at the slice layer when a non-zero value of slice_qs_delta is decoded.

§chroma_qp_index_offset: i8

Specifies the offset that shall be added to QP Y and QSY for addressing the table of QPC values for the Cb chroma component.

§deblocking_filter_control_present_flag: bool

If set, specifies that a set of syntax elements controlling the characteristics of the deblocking filter is present in the slice header. If not set, specifies that the set of syntax elements controlling the characteristics of the deblocking filter is not present in the slice headers and their inferred values are in effect.

§constrained_intra_pred_flag: bool

If not set, specifies that intra prediction allows usage of residual data and decoded samples of neighbouring macroblocks coded using Inter macroblock prediction modes for the prediction of macroblocks coded using Intra macroblock prediction modes. If set, specifies constrained intra prediction, in which case prediction of macroblocks coded using Intra macroblock prediction modes only uses residual data and decoded samples from I or SI macroblock types.

§redundant_pic_cnt_present_flag: bool

If not set, specifies that the redundant_pic_cnt syntax element is not present in slice headers, coded slice data partition B NAL units, and coded slice data partition C NAL units that refer (either directly or by association with a corresponding coded slice data partition A NAL unit) to the picture parameter set. If set, specifies that the redundant_pic_cnt syntax element is present in all slice headers, coded slice data partition B NAL units, and coded slice data partition C NAL units that refer (either directly or by association with a corresponding coded slice data partition A NAL unit) to the picture parameter set.

§transform_8x8_mode_flag: bool

If set, specifies that the 8x8 transform decoding process may be in use (see clause 8.5). If not set, specifies that the 8x8 transform decoding process is not in use.

§pic_scaling_matrix_present_flag: bool

If set, specifies that parameters are present to modify the scaling lists specified in the sequence parameter set. If not set, specifies that the scaling lists used for the picture shall be inferred to be equal to those specified by the sequence parameter set.

§scaling_lists_4x4: [[u8; 16]; 6]

4x4 Scaling list as read with 7.3.2.1.1.1

§scaling_lists_8x8: [[u8; 64]; 6]

8x8 Scaling list as read with 7.3.2.1.1.1

§second_chroma_qp_index_offset: i8

Specifies the offset that shall be added to QPY and QSY for addressing the table of QPC values for the Cr chroma component. When second_chroma_qp_index_offset is not present, it shall be inferred to be equal to chroma_qp_index_offset.

§sps: Rc<Sps>

The SPS referenced by this PPS.

Trait Implementations§

Source§

impl Debug for Pps

Source§

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

Formats the value using the given formatter. 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> 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, 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.