Struct SliceHeader

Source
pub struct SliceHeader {
Show 53 fields pub first_slice_segment_in_pic_flag: bool, pub no_output_of_prior_pics_flag: bool, pub pic_parameter_set_id: u8, pub dependent_slice_segment_flag: bool, pub segment_address: u32, pub type_: SliceType, pub pic_output_flag: bool, pub colour_plane_id: u8, pub pic_order_cnt_lsb: u16, pub short_term_ref_pic_set_sps_flag: bool, pub short_term_ref_pic_set: ShortTermRefPicSet, pub short_term_ref_pic_set_idx: u8, pub num_long_term_sps: u8, pub num_long_term_pics: u8, pub lt_idx_sps: [u8; 16], pub poc_lsb_lt: [u32; 16], pub used_by_curr_pic_lt: [bool; 16], pub delta_poc_msb_present_flag: [bool; 16], pub delta_poc_msb_cycle_lt: [u32; 16], pub temporal_mvp_enabled_flag: bool, pub sao_luma_flag: bool, pub sao_chroma_flag: bool, pub num_ref_idx_active_override_flag: bool, pub num_ref_idx_l0_active_minus1: u8, pub num_ref_idx_l1_active_minus1: u8, pub ref_pic_list_modification: RefPicListModification, pub mvd_l1_zero_flag: bool, pub cabac_init_flag: bool, pub collocated_from_l0_flag: bool, pub collocated_ref_idx: u8, pub pred_weight_table: PredWeightTable, pub five_minus_max_num_merge_cand: u8, pub use_integer_mv_flag: bool, pub qp_delta: i8, pub cb_qp_offset: i8, pub cr_qp_offset: i8, pub slice_act_y_qp_offset: i8, pub slice_act_cb_qp_offset: i8, pub slice_act_cr_qp_offset: i8, pub cu_chroma_qp_offset_enabled_flag: bool, pub deblocking_filter_override_flag: bool, pub deblocking_filter_disabled_flag: bool, pub beta_offset_div2: i8, pub tc_offset_div2: i8, pub loop_filter_across_slices_enabled_flag: bool, pub num_entry_point_offsets: u32, pub offset_len_minus1: u8, pub entry_point_offset_minus1: [u32; 32], pub num_pic_total_curr: u32, pub header_bit_size: u32, pub n_emulation_prevention_bytes: u32, pub curr_rps_idx: u8, pub st_rps_bits: u32,
}

Fields§

§first_slice_segment_in_pic_flag: bool

When set, specifies that the slice segment is the first slice segment of the picture in decoding order. When not set, specifies that the slice segment is not the first slice segment of the picture in decoding order.

§no_output_of_prior_pics_flag: bool

Affects the output of previously-decoded pictures in the decoded picture buffer after the decoding of an IDR or a BLA picture that is not the first picture in the bitstream as specified in Annex C.

§pic_parameter_set_id: u8

Specifies the value of pps_pic_parameter_set_id for the PPS in use.

§dependent_slice_segment_flag: bool

When set, specifies that the value of each slice segment header syntax element that is not present is inferred to be equal to the value of the corresponding slice segment header syntax element in the slice header.

§segment_address: u32

Specifies the address of the first CTB in the slice segment, in CTB raster scan of a picture.

§type_: SliceType

Specifies the coding type of the slice according to Table 7-7.

§pic_output_flag: bool

Affects the decoded picture output and removal processes as specified in Annex C.

§colour_plane_id: u8

Specifies the colour plane associated with the current slice RBSP when separate_colour_plane_flag is set. The value of colour_plane_id shall be in the range of 0 to 2, inclusive. colour_plane_id values 0, 1 and 2 correspond to the Y, Cb and Cr planes, respectively.

§pic_order_cnt_lsb: u16

Specifies the picture order count modulo MaxPicOrderCntLsb for the current picture. The length of the slice_pic_order_cnt_lsb syntax element is log2_max_pic_order_cnt_lsb_minus4 + 4 bits.

§short_term_ref_pic_set_sps_flag: bool

When set, specifies that the short-term RPS of the current picture is derived based on one of the st_ref_pic_set( ) syntax structures in the active SPS that is identified by the syntax element short_term_ref_pic_set_idx in the slice header. When not set, specifies that the short-term RPS of the current picture is derived based on the st_ref_pic_set( ) syntax structure that is directly included in the slice headers of the current picture.

§short_term_ref_pic_set: ShortTermRefPicSet

The st_ref_pic_set() data.

§short_term_ref_pic_set_idx: u8

Specifies the index, into the list of the st_ref_pic_set( ) syntax structures included in the active SPS, of the st_ref_pic_set( ) syntax structure that is used for derivation of the short-term RPS of the current picture.

§num_long_term_sps: u8

Specifies the number of entries in the long-term RPS of the current picture that are derived based on the candidate long-term reference pictures specified in the active SPS.

§num_long_term_pics: u8

Specifies the number of entries in the long-term RPS of the current picture that are directly signalled in the slice header.

§lt_idx_sps: [u8; 16]

lt_idx_sps[ i ] specifies an index, into the list of candidate long-term reference pictures specified in the active SPS, of the i-th entry in the long-term RPS of the current picture.

§poc_lsb_lt: [u32; 16]

Same as PocLsbLt in the specification.

§used_by_curr_pic_lt: [bool; 16]

Same as UsedByCurrPicLt in the specification.

§delta_poc_msb_present_flag: [bool; 16]

When set, specifies that that delta_poc_msb_cycle_lt[i] is present.

§delta_poc_msb_cycle_lt: [u32; 16]

Same as DeltaPocMsbCycleLt in the specification.

§temporal_mvp_enabled_flag: bool

Specifies whether temporal motion vector predictors can be used for inter prediction. If slice_temporal_mvp_enabled_flag is not set, the syntax elements of the current picture shall be constrained such that no temporal motion vector predictor is used in decoding of the current picture. Otherwise (slice_temporal_mvp_enabled_flag is set), temporal motion vector predictors may be used in decoding of the current picture.

§sao_luma_flag: bool

When set, specifies that SAO is enabled for the luma component in the current slice; slice_sao_luma_flag not set specifies that SAO is disabled for the luma component in the current slice.

§sao_chroma_flag: bool

When set, specifies that SAO is enabled for the chroma component in the current slice; When not set, specifies that SAO is disabled for the chroma component in the current slice.

§num_ref_idx_active_override_flag: bool

When set, specifies that the syntax element num_ref_idx_l0_active_minus1 is present for P and B slices and that the syntax element num_ref_idx_l1_active_minus1 is present for B slices. When not set, specifies that the syntax elements num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1 are not present.

§num_ref_idx_l0_active_minus1: u8

Specifies the maximum reference index for reference picture list 0 that may be used to decode the slice.

§num_ref_idx_l1_active_minus1: u8

Specifies the maximum reference index for reference picture list 1 that may be used to decode the slice.

§ref_pic_list_modification: RefPicListModification

The RefPicListModification data.

§mvd_l1_zero_flag: bool

When set, indicates that the mvd_coding( x0, y0, 1 ) syntax structure is not parsed and MvdL1[ x0 ][ y0 ][ compIdx ] is set equal to 0 for compIdx = 0..1. When not set, indicates that the mvd_coding( x0, y0, 1 ) syntax structure is parsed.

§cabac_init_flag: bool

Specifies the method for determining the initialization table used in the initialization process for context variables.

§collocated_from_l0_flag: bool

When set, specifies that the collocated picture used for temporal motion vector prediction is derived from reference picture list 0. When not set, specifies that the collocated picture used for temporal motion vector prediction is derived from reference picture list 1.

§collocated_ref_idx: u8

Specifies the reference index of the collocated picture used for temporal motion vector prediction.

§pred_weight_table: PredWeightTable

The PredWeightTable data.

§five_minus_max_num_merge_cand: u8

Specifies the maximum number of merging motion vector prediction (MVP) candidates supported in the slice subtracted from 5.

§use_integer_mv_flag: bool

Specifies that the resolution of motion vectors for inter prediction in the current slice is integer. When not set, specifies that the resolution of motion vectors for inter prediction in the current slice that refer to pictures other than the current picture is fractional with quarter-sample precision in units of luma samples.

§qp_delta: i8

Specifies the initial value of QpY to be used for the coding blocks in the slice until modified by the value of CuQpDeltaVal in the coding unit layer.

§cb_qp_offset: i8

Specifies a difference to be added to the value of pps_cb_qp_offset when determining the value of the Qp′Cb quantization parameter.

§cr_qp_offset: i8

Specifies a difference to be added to the value of pps_cb_qr_offset when determining the value of the Qp′Cr quantization parameter.

§slice_act_y_qp_offset: i8

Specifies offsets to the quantization parameter values qP derived in clause 8.6.2 for luma, Cb, and Cr components, respectively.

§slice_act_cb_qp_offset: i8

Specifies offsets to the quantization parameter values qP derived in clause 8.6.2 for luma, Cb, and Cr components, respectively.

§slice_act_cr_qp_offset: i8

Specifies offsets to the quantization parameter values qP derived in clause 8.6.2 for luma, Cb, and Cr components, respectively.

§cu_chroma_qp_offset_enabled_flag: bool

When set, specifies that the cu_chroma_qp_offset_flag may be present in the transform unit syntax. When not set, specifies that the cu_chroma_qp_offset_flag is not present in the transform unit syntax.

§deblocking_filter_override_flag: bool

When set, specifies that deblocking parameters are present in the slice header. When not set, specifies that deblocking parameters are not present in the slice header.

§deblocking_filter_disabled_flag: bool

When set, specifies that the operation of the deblocking filter is not applied for the current slice. When not set, specifies that the operation of the deblocking filter is applied for the current slice.

§beta_offset_div2: i8

Specifies the deblocking parameter offsets for β and tC (divided by 2) for the current slice.

§tc_offset_div2: i8

Specifies the deblocking parameter offsets for β and tC (divided by 2) for the current slice.

§loop_filter_across_slices_enabled_flag: bool

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

§num_entry_point_offsets: u32

Specifies the number of entry_point_offset_minus1[ i ] syntax elements in the slice header.

§offset_len_minus1: u8

offset_len_minus1 plus 1 specifies the length, in bits, of the entry_point_offset_minus1[ i ] syntax elements.

§entry_point_offset_minus1: [u32; 32]

entry_point_offset_minus1[ i ] plus 1 specifies the i-th entry point offset in bytes, and is represented by offset_len_minus1 plus 1 bits. The slice segment data that follow the slice segment header consists of num_entry_point_offsets + 1 subsets, with subset index values ranging from 0 to num_entry_point_offsets, inclusive. See the specification for more details.

§num_pic_total_curr: u32

Same as NumPicTotalCurr in the specification.

§header_bit_size: u32§n_emulation_prevention_bytes: u32§curr_rps_idx: u8

Same as CurrRpsIdx in the specification.

§st_rps_bits: u32

Number of bits taken by st_ref_pic_set minus Emulation Prevention Bytes.

Trait Implementations§

Source§

impl Clone for SliceHeader

Source§

fn clone(&self) -> SliceHeader

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 SliceHeader

Source§

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

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

impl Default for SliceHeader

Source§

fn default() -> Self

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

impl PartialEq for SliceHeader

Source§

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

Source§

impl StructuralPartialEq for SliceHeader

Auto Trait Implementations§

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.