pub struct SliceWalkInputs {Show 15 fields
pub pic_width: u32,
pub pic_height: u32,
pub ctb_log2_size_y: u32,
pub min_cb_log2_size_y: u32,
pub max_tb_log2_size_y: u32,
pub chroma_format_idc: u32,
pub cu_qp_delta_enabled: bool,
pub sps_ibc_flag: bool,
pub log2_max_ibc_cand_size: u32,
pub slice_alf_enabled_flag: bool,
pub slice_alf_map_flag: bool,
pub slice_chroma_alf_enabled_flag: bool,
pub slice_alf_chroma_map_flag: bool,
pub slice_chroma2_alf_enabled_flag: bool,
pub slice_alf_chroma2_map_flag: bool,
}Expand description
Static SPS/PPS state that the walker needs to make
per-syntax-element decisions. Only the fields actually consulted by
the Baseline-profile path are surfaced; the rest are tracked
implicitly (e.g. sps_btt_flag = 0 is hard-wired in the walker).
Fields§
§pic_width: u32pic_width_in_luma_samples (§7.4.3.1).
pic_height: u32pic_height_in_luma_samples (§7.4.3.1).
ctb_log2_size_y: u32CtbLog2SizeY = log2_ctu_size_minus5 + 5 (§7.4.3.1). Default for
Baseline is 64×64 → 6.
min_cb_log2_size_y: u32MinCbLog2SizeY — drives recursion termination. Baseline uses
log2_min_cb_size_minus2 + 2 = 2 (4×4 minimum).
max_tb_log2_size_y: u32MaxTbLog2SizeY — caps the transform unit dimension. Baseline
caps at 6 (64×64).
chroma_format_idc: u32chroma_format_idc (§7.4.3.1). Baseline supports 0 (mono) or 1
(4:2:0).
cu_qp_delta_enabled: boolcu_qp_delta_enabled_flag (PPS). When false, cu_qp_delta_* is
not in the bitstream.
sps_ibc_flag: boolsps_ibc_flag (§7.4.3.1). When true, the coding_unit() walker
evaluates isIbcAllowed (§7.4.5) per-CU and conditionally emits
the ibc_flag syntax element. When false (Baseline default),
the IBC branch is suppressed wholesale per the SPS gate.
log2_max_ibc_cand_size: u32log2MaxIbcCandSize = 2 + log2_max_ibc_cand_size_minus2 per
eq. 70. Only consulted when sps_ibc_flag is true. The walker
gates ibc_flag emission on log2CbWidth ≤ log2MaxIbcCandSize && log2CbHeight ≤ log2MaxIbcCandSize per §7.4.5.
slice_alf_enabled_flag: boolslice_alf_enabled_flag (§7.4.5). When true (and the SPS-level
sps_alf_flag is set, which the slice header enforces) the
coding_tree_unit() may carry the per-CTU ALF applicability map.
slice_alf_map_flag: boolslice_alf_map_flag (§7.4.5). Per §7.3.8.2 line 2626 the luma
alf_ctb_flag bin is present in coding_tree_unit() iff
slice_alf_enabled_flag && slice_alf_map_flag.
slice_chroma_alf_enabled_flag: boolsliceChromaAlfEnabledFlag (§7.4.5 derived). Gates
alf_ctb_chroma_flag together with slice_alf_chroma_map_flag
(line 2628). For Baseline 4:2:0 the chroma map flag is inferred
0 so this only contributes when ChromaArrayType == 3.
slice_alf_chroma_map_flag: boolslice_alf_chroma_map_flag (§7.4.5). Inferred 0 unless
ChromaArrayType == 3.
slice_chroma2_alf_enabled_flag: boolsliceChroma2AlfEnabledFlag (§7.4.5 derived). Gates
alf_ctb_chroma2_flag together with slice_alf_chroma2_map_flag
(line 2630).
slice_alf_chroma2_map_flag: boolslice_alf_chroma2_map_flag (§7.4.5). Inferred 0 unless
ChromaArrayType == 3.
Trait Implementations§
Source§impl Clone for SliceWalkInputs
impl Clone for SliceWalkInputs
Source§fn clone(&self) -> SliceWalkInputs
fn clone(&self) -> SliceWalkInputs
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more