Struct cros_codecs::decoders::h264::parser::SliceHeader
source · [−]pub struct SliceHeader {Show 32 fields
first_mb_in_slice: u32,
slice_type: SliceType,
pic_parameter_set_id: u8,
colour_plane_id: u8,
frame_num: u16,
field_pic_flag: bool,
bottom_field_flag: bool,
idr_pic_id: u16,
pic_order_cnt_lsb: u16,
delta_pic_order_cnt_bottom: i32,
delta_pic_order_cnt: [i32; 2],
redundant_pic_cnt: u8,
direct_spatial_mv_pred_flag: bool,
num_ref_idx_active_override_flag: bool,
num_ref_idx_l0_active_minus1: u8,
num_ref_idx_l1_active_minus1: u8,
ref_pic_list_modification_flag_l0: bool,
ref_pic_list_modification_l0: Vec<RefPicListModification>,
ref_pic_list_modification_flag_l1: bool,
ref_pic_list_modification_l1: Vec<RefPicListModification>,
pred_weight_table: PredWeightTable,
dec_ref_pic_marking: RefPicMarking,
cabac_init_idc: u8,
slice_qp_delta: i8,
sp_for_switch_flag: bool,
slice_qs_delta: i8,
disable_deblocking_filter_idc: u8,
slice_alpha_c0_offset_div2: i8,
slice_beta_offset_div2: i8,
max_pic_num: u32,
header_bit_size: usize,
n_emulation_prevention_bytes: usize,
}
Fields
first_mb_in_slice: u32
Specifies the address of the first macroblock in the slice.
slice_type: SliceType
Specifies the coding type of the slice according to Table 7-6.
pic_parameter_set_id: u8
colour_plane_id: u8
Specifies the colour plane associated with the current slice RBSP when
separate_colour_plane_flag
is set.
frame_num: u16
Used as an identifier for pictures and shall be represented by
log2_max_frame_num_minus4 + 4
bits in the bitstream.
field_pic_flag: bool
If set, specifies that the slice is a slice of a coded field. If not set, specifies that the slice is a slice of a coded frame.
bottom_field_flag: bool
If set, specifies that the slice is part of a coded bottom field. If not set, specifies that the picture is a coded top field.
idr_pic_id: u16
Identifies an IDR picture. The values of idr_pic_id
in all the slices
of an IDR picture shall remain unchanged. When two consecutive access
units in decoding order are both IDR access units, the value of
idr_pic_id
in the slices of the first such IDR access unit shall
differ from the idr_pic_id
in the second such IDR access unit
pic_order_cnt_lsb: u16
Specifies the picture order count modulo MaxPicOrderCntLsb
for the top
field of a coded frame or for a coded field. The length of the
pic_order_cnt_lsb
syntax element is
log2_max_pic_order_cnt_lsb_minus4
+ 4 bits.
delta_pic_order_cnt_bottom: i32
Specifies the picture order count difference between the bottom field and the top field of a coded frame as follows
delta_pic_order_cnt: [i32; 2]
The first entry specifies the picture order count difference from the expected picture order count for the top field of a coded frame or for a coded field as specified in clause 8.2.1 The second entry specifies the picture order count difference from the expected picture order count for the bottom field of a coded frame specified in clause 8.2.1.
redundant_pic_cnt: u8
Shall be equal to 0 for slices and slice data partitions belonging to
the primary coded picture. The value of redundant_pic_cnt shall
be
greater than 0 for coded slices or coded slice data partitions of a
redundant coded picture
direct_spatial_mv_pred_flag: bool
Specifies the method used in the decoding process to derive motion vectors and reference indices for inter prediction >
num_ref_idx_active_override_flag: bool
If set, specifies that the syntax element num_ref_idx_l0_active_minus1
is present for P, SP, and B slices and that the syntax element
num_ref_idx_l1_active_minus1
is present for B slices. If 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 shall be used to decode the slice.
num_ref_idx_l1_active_minus1: u8
Specifies the maximum reference index for reference picture list 1 that shall be used to decode the slice.
ref_pic_list_modification_flag_l0: bool
If set, specifies that the syntax element modification_of_pic_nums_idc
is present for specifying reference picture list 0. If not set,
specifies that this syntax element is not present.
ref_pic_list_modification_l0: Vec<RefPicListModification>
Reference picture list 0 modification as parsed with the
ref_pic_list_modification()
process.
ref_pic_list_modification_flag_l1: bool
If set, specifies that the syntax element modification_of_pic_nums_idc
is present for specifying reference picture list 1. If not set,
specifies that this syntax element is not present.
ref_pic_list_modification_l1: Vec<RefPicListModification>
Reference picture list 1 modification as parsed with the
ref_pic_list_modification()
process.
pred_weight_table: PredWeightTable
Prediction weight table as parsed using 7.3.3.2
dec_ref_pic_marking: RefPicMarking
Decoded reference picture marking parsed using 7.3.3.3
cabac_init_idc: u8
Specifies the index for determining the initialization table used in the initialization process for context variables.
slice_qp_delta: i8
Specifies the initial value of QP Y to be used for all the macroblocks
in the slice until modified by the value of mb_qp_delta
in the
macroblock layer. The initial QPY quantization parameter for the slice
is computed using 7-30.
sp_for_switch_flag: bool
Specifies the decoding process to be used to decode P macroblocks in an SP slice.
slice_qs_delta: i8
Specifies the value of QSY for all the macroblocks in SP and SI slices. The QSY quantization parameter for the slice is computed using 7-31.
disable_deblocking_filter_idc: u8
Specifies whether the operation of the deblocking filter shall be disabled across some block edges of the slice and specifies for which edges the filtering is disabled.
slice_alpha_c0_offset_div2: i8
Specifies the offset used in accessing the α and tC0 deblocking filter tables for filtering operations controlled by the macroblocks within the slice. From this value, the offset that shall be applied when addressing these tables shall be computed using 7-32.
slice_beta_offset_div2: i8
Specifies the offset used in accessing the β deblocking filter table for filtering operations controlled by the macroblocks within the slice. From this value, the offset that is applied when addressing the β table of the deblocking filter shall be computed using 7-33.
max_pic_num: u32
Same as MaxPicNum
in the specification.
header_bit_size: usize
Size of the slice_header() in bits
n_emulation_prevention_bytes: usize
Number of emulation prevention bytes (EPB) in this slice_header()
Implementations
sourceimpl SliceHeader
impl SliceHeader
pub fn first_mb_in_slice(&self) -> u32
pub fn slice_type(&self) -> &SliceType
pub fn pic_parameter_set_id(&self) -> u8
pub fn colour_plane_id(&self) -> u8
pub fn frame_num(&self) -> u16
pub fn field_pic_flag(&self) -> bool
pub fn bottom_field_flag(&self) -> bool
pub fn idr_pic_id(&self) -> u16
pub fn pic_order_cnt_lsb(&self) -> u16
pub fn delta_pic_order_cnt_bottom(&self) -> i32
pub fn delta_pic_order_cnt(&self) -> [i32; 2]
pub fn redundant_pic_cnt(&self) -> u8
pub fn direct_spatial_mv_pred_flag(&self) -> bool
pub fn num_ref_idx_active_override_flag(&self) -> bool
pub fn num_ref_idx_l0_active_minus1(&self) -> u8
pub fn num_ref_idx_l1_active_minus1(&self) -> u8
pub fn ref_pic_list_modification_flag_l0(&self) -> bool
pub fn ref_pic_list_modification_l0(&self) -> &Vec<RefPicListModification>
pub fn ref_pic_list_modification_flag_l1(&self) -> bool
pub fn ref_pic_list_modification_l1(&self) -> &Vec<RefPicListModification>
pub fn pred_weight_table(&self) -> &PredWeightTable
pub fn dec_ref_pic_marking(&self) -> &RefPicMarking
pub fn cabac_init_idc(&self) -> u8
pub fn slice_qp_delta(&self) -> i8
pub fn sp_for_switch_flag(&self) -> bool
pub fn slice_qs_delta(&self) -> i8
pub fn disable_deblocking_filter_idc(&self) -> u8
pub fn slice_alpha_c0_offset_div2(&self) -> i8
pub fn slice_beta_offset_div2(&self) -> i8
pub fn max_pic_num(&self) -> u32
pub fn header_bit_size(&self) -> usize
pub fn n_emulation_prevention_bytes(&self) -> usize
Trait Implementations
sourceimpl Clone for SliceHeader
impl Clone for SliceHeader
sourcefn clone(&self) -> SliceHeader
fn clone(&self) -> SliceHeader
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more