pub struct Av1SequenceHeader {Show 35 fields
pub seq_profile: u8,
pub still_picture: bool,
pub reduced_still_picture_header: bool,
pub max_frame_width_minus1: u32,
pub max_frame_height_minus1: u32,
pub seq_level_idx_0: u8,
pub seq_tier_0: u8,
pub bit_depth: u8,
pub monochrome: bool,
pub color_primaries: u8,
pub transfer_characteristics: u8,
pub matrix_coefficients: u8,
pub color_range: bool,
pub chroma_subsampling_x: bool,
pub chroma_subsampling_y: bool,
pub film_grain_params_present: bool,
pub enable_filter_intra: bool,
pub enable_intra_edge_filter: bool,
pub enable_interintra_compound: bool,
pub enable_masked_compound: bool,
pub enable_warped_motion: bool,
pub enable_dual_filter: bool,
pub enable_order_hint: bool,
pub enable_jnt_comp: bool,
pub enable_ref_frame_mvs: bool,
pub enable_superres: bool,
pub enable_cdef: bool,
pub enable_restoration: bool,
pub order_hint_bits: u8,
pub seq_force_screen_content_tools: u8,
pub seq_force_integer_mv: u8,
pub frame_width_bits_minus_1: u8,
pub frame_height_bits_minus_1: u8,
pub use_128x128_superblock: bool,
pub separate_uv_delta_q: bool,
}Expand description
Parsed AV1 sequence header fields (from OBU type 1, §5.5.2).
Minimum subset needed to build StdVideoAV1SequenceHeader for
Vulkan AV1 decode session parameters.
Fields§
§seq_profile: u8§still_picture: bool§reduced_still_picture_header: bool§max_frame_width_minus1: u32§max_frame_height_minus1: u32§seq_level_idx_0: u8§seq_tier_0: u8seq_tier[0] from AV1 §5.5.1. Only carried in the bitstream
when seq_level_idx_0 > 7 (i.e. level >= 4.0); below that the
spec says tier is implicitly 0 (Main). 0 = Main, 1 = High.
Required for the AV1 ISOBMFF codec string av01.P.LLT.DD...
(the T character).
bit_depth: u8§monochrome: bool§color_primaries: u8§transfer_characteristics: u8§matrix_coefficients: u8§color_range: bool§chroma_subsampling_x: bool§chroma_subsampling_y: bool§film_grain_params_present: bool§enable_filter_intra: bool§enable_intra_edge_filter: bool§enable_interintra_compound: bool§enable_masked_compound: bool§enable_warped_motion: bool§enable_dual_filter: bool§enable_order_hint: bool§enable_jnt_comp: bool§enable_ref_frame_mvs: bool§enable_superres: bool§enable_cdef: bool§enable_restoration: bool§order_hint_bits: u8§seq_force_screen_content_tools: u8Per AV1 §5.5.1: 0 = all frames block screen-content tools, 1 = all frames enable them, 2 = SELECT (each frame signals its own bit in the uncompressed_header). Our frame-header parser reads a per-frame bit only when this field == 2.
seq_force_integer_mv: u80 = all frames force non-integer MV, 1 = all force integer, 2 = SELECT. Only relevant when screen-content tools allow.
frame_width_bits_minus_1: u8Bit-width of max_frame_width_minus_1 / max_frame_height_minus_1 fields in the sequence header. Vulkan’s Std SPS requires these to match so the session parameters object is byte-compatible with what the driver re-parses from the bitstream.
frame_height_bits_minus_1: u8§use_128x128_superblock: bool§separate_uv_delta_q: boolAV1 §5.5.2 color_config bit — signals that U and V planes
carry separate q-delta values. Feeds
StdVideoAV1ColorConfigFlags.separate_uv_delta_q which the
Vulkan AV1 decoder reads at session-parameters creation.
Trait Implementations§
Source§impl Clone for Av1SequenceHeader
impl Clone for Av1SequenceHeader
Source§fn clone(&self) -> Av1SequenceHeader
fn clone(&self) -> Av1SequenceHeader
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for Av1SequenceHeader
Source§impl Debug for Av1SequenceHeader
impl Debug for Av1SequenceHeader
impl Eq for Av1SequenceHeader
Source§impl PartialEq for Av1SequenceHeader
impl PartialEq for Av1SequenceHeader
Source§fn eq(&self, other: &Av1SequenceHeader) -> bool
fn eq(&self, other: &Av1SequenceHeader) -> bool
self and other values to be equal, and is used by ==.