pub struct Header {Show 34 fields
profile: Profile,
bit_depth: BitDepth,
subsampling_x: bool,
subsampling_y: bool,
color_space: ColorSpace,
color_range: ColorRange,
show_existing_frame: bool,
frame_to_show_map_idx: u8,
frame_type: FrameType,
show_frame: bool,
error_resilient_mode: bool,
width: u32,
height: u32,
render_and_frame_size_different: bool,
render_width: u32,
render_height: u32,
intra_only: bool,
reset_frame_context: u8,
refresh_frame_flags: u8,
ref_frame_idx: [u8; 3],
ref_frame_sign_bias: [u8; 4],
allow_high_precision_mv: bool,
interpolation_filter: InterpolationFilter,
refresh_frame_context: bool,
frame_parallel_decoding_mode: bool,
frame_context_idx: u8,
lf: LoopFilterParams,
quant: QuantizationParams,
seg: SegmentationParams,
tile_cols_log2: u8,
tile_rows_log2: u8,
lossless: bool,
header_size_in_bytes: u16,
uncompressed_header_size_in_bytes: u16,
}
Expand description
A VP9 frame header.
Fields
profile: Profile
A subset of syntax, semantics and algorithms defined in a part.
bit_depth: BitDepth
The bit depth of the frame.
subsampling_x: bool
Specifies the chroma subsampling format.
subsampling_y: bool
Specifies the chroma subsampling format.
color_space: ColorSpace
Specifies the color space of the stream.
color_range: ColorRange
Specifies the black level and range of the luma and chroma signals as specified in Rec. ITU-R BT.709-6 and Rec. ITU-R BT.2020-2
show_existing_frame: bool
Indicates the frame indexed by frame_to_show_map_idx is to be displayed. If unset, indicates that further processing is required.
frame_to_show_map_idx: u8
Specifies the frame to be displayed. It is only available if show_existing_frame is set.
frame_type: FrameType
Indicates whether a frame is a key frame.
show_frame: bool
Whether this frame should be displayed.
error_resilient_mode: bool
Whether error resilient mode is enabled.
width: u32
The width of the frame in pixels.
height: u32
The height of the frame in pixels.
render_and_frame_size_different: bool
If unset, means that the render width and height are inferred from the frame width and height. If set, means that the render width and height are explicitly coded in the bitstream.
render_width: u32
The render width of the frame in pixels.
render_height: u32
The render height of the frame in pixels.
intra_only: bool
If set, indicates that this frame is an intra-only frame. If unset, indicates that this frame is a inter frame.
reset_frame_context: u8
Specifies whether the frame context should be reset to default values.
refresh_frame_flags: u8
Contains a bitmask that specifies which reference frame slots will be updated with the current frame after it is decoded.
ref_frame_idx: [u8; 3]
Specifies which reference frames are used by inter frames. It is a requirement of bitstream conformance that the selected reference frames match the current frame in bit depth, profile, chroma subsampling, and color space.
ref_frame_sign_bias: [u8; 4]
Specifies the intended direction of the motion vector in time for each reference frame. A sign bias equal to 0 indicates that the reference frame is a backwards reference; a sign bias equal to 1 indicates that the reference frame is a forwards reference
allow_high_precision_mv: bool
If unset, specifies that motion vectors are specified to quarter pel precision. If set, specifies that motion vectors are specified to eighth pel precision.
interpolation_filter: InterpolationFilter
The interpolation filter parameters.
refresh_frame_context: bool
If set, indicates that the probabilities computed for this frame (after adapting to the observed frequencies if adaption is enabled) should be stored for reference by future frames. If unset, indicates that the probabilities should be discarded at the end of the frame.
frame_parallel_decoding_mode: bool
Whether parallel decoding mode is enabled.
frame_context_idx: u8
Indicates the frame context to use.
lf: LoopFilterParams
The loop filter parameters
quant: QuantizationParams
The quantization parameters.
seg: SegmentationParams
The segmentation parameters
tile_cols_log2: u8
Specifies the base 2 logarithm of the width of each tile (where the width is measured in units of 8x8 blocks). It is a requirement of bitstream conformance that tile_cols_log2 is less than or equal to 6.
tile_rows_log2: u8
Specifies the base 2 logarithm of the height of each tile (where the height is measured in units of 8x8 blocks).
lossless: bool
Computed from the syntax elements. If set, indicates that the frame is coded using a special 4x4 transform designed for encoding frames that are bit-identical with the original frames.
header_size_in_bytes: u16
Indicates the size of the compressed header in bytes.
uncompressed_header_size_in_bytes: u16
Indicates the size of the uncompressed header in bytes.
Implementations
sourceimpl Header
impl Header
sourcepub fn subsampling_x(&self) -> bool
pub fn subsampling_x(&self) -> bool
Get a reference to the header’s subsampling x.
sourcepub fn subsampling_y(&self) -> bool
pub fn subsampling_y(&self) -> bool
Get a reference to the header’s subsampling y.
sourcepub fn color_space(&self) -> ColorSpace
pub fn color_space(&self) -> ColorSpace
Get a reference to the header’s color space.
sourcepub fn color_range(&self) -> ColorRange
pub fn color_range(&self) -> ColorRange
Get a reference to the header’s color range.
sourcepub fn show_existing_frame(&self) -> bool
pub fn show_existing_frame(&self) -> bool
Get a reference to the header’s show existing frame.
sourcepub fn frame_to_show_map_idx(&self) -> u8
pub fn frame_to_show_map_idx(&self) -> u8
Get a reference to the header’s frame to show map idx.
sourcepub fn frame_type(&self) -> FrameType
pub fn frame_type(&self) -> FrameType
Get a reference to the header’s frame type.
sourcepub fn show_frame(&self) -> bool
pub fn show_frame(&self) -> bool
Get a reference to the header’s show frame.
sourcepub fn error_resilient_mode(&self) -> bool
pub fn error_resilient_mode(&self) -> bool
Get a reference to the header’s error resilient mode.
sourcepub fn render_and_frame_size_different(&self) -> bool
pub fn render_and_frame_size_different(&self) -> bool
Get a reference to the header’s render and frame size different.
sourcepub fn render_width(&self) -> u32
pub fn render_width(&self) -> u32
Get a reference to the header’s render width.
sourcepub fn render_height(&self) -> u32
pub fn render_height(&self) -> u32
Get a reference to the header’s render height.
sourcepub fn intra_only(&self) -> bool
pub fn intra_only(&self) -> bool
Get a reference to the header’s intra only.
sourcepub fn reset_frame_context(&self) -> u8
pub fn reset_frame_context(&self) -> u8
Get a reference to the header’s reset frame context.
sourcepub fn refresh_frame_flags(&self) -> u8
pub fn refresh_frame_flags(&self) -> u8
Get a reference to the header’s refresh frame flags.
sourcepub fn ref_frame_idx(&self) -> [u8; 3]
pub fn ref_frame_idx(&self) -> [u8; 3]
Get a reference to the header’s ref frame idx.
sourcepub fn ref_frame_sign_bias(&self) -> [u8; 4]
pub fn ref_frame_sign_bias(&self) -> [u8; 4]
Get a reference to the header’s ref frame sign bias.
sourcepub fn allow_high_precision_mv(&self) -> bool
pub fn allow_high_precision_mv(&self) -> bool
Get a reference to the header’s allow high precision mv.
sourcepub fn interpolation_filter(&self) -> InterpolationFilter
pub fn interpolation_filter(&self) -> InterpolationFilter
Get a reference to the header’s interpolation filter.
sourcepub fn refresh_frame_context(&self) -> bool
pub fn refresh_frame_context(&self) -> bool
Get a reference to the header’s refresh frame context.
sourcepub fn frame_parallel_decoding_mode(&self) -> bool
pub fn frame_parallel_decoding_mode(&self) -> bool
Get a reference to the header’s frame parallel decoding mode.
sourcepub fn frame_context_idx(&self) -> u8
pub fn frame_context_idx(&self) -> u8
Get a reference to the header’s frame context idx.
sourcepub fn lf(&self) -> &LoopFilterParams
pub fn lf(&self) -> &LoopFilterParams
Get a reference to the header’s lf.
sourcepub fn quant(&self) -> &QuantizationParams
pub fn quant(&self) -> &QuantizationParams
Get a reference to the header’s quant.
sourcepub fn seg(&self) -> &SegmentationParams
pub fn seg(&self) -> &SegmentationParams
Get a reference to the header’s seg.
sourcepub fn tile_cols_log2(&self) -> u8
pub fn tile_cols_log2(&self) -> u8
Get a reference to the header’s tile cols log2.
sourcepub fn tile_rows_log2(&self) -> u8
pub fn tile_rows_log2(&self) -> u8
Get a reference to the header’s tile rows log2.
sourcepub fn header_size_in_bytes(&self) -> u16
pub fn header_size_in_bytes(&self) -> u16
Get a reference to the header’s header size in bytes.
sourcepub fn uncompressed_header_size_in_bytes(&self) -> u16
pub fn uncompressed_header_size_in_bytes(&self) -> u16
Get a reference to the header’s uncompressed header size in bytes.