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: ProfileA subset of syntax, semantics and algorithms defined in a part.
bit_depth: BitDepthThe bit depth of the frame.
subsampling_x: boolSpecifies the chroma subsampling format.
subsampling_y: boolSpecifies the chroma subsampling format.
color_space: ColorSpaceSpecifies the color space of the stream.
color_range: ColorRangeSpecifies 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: boolIndicates 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: u8Specifies the frame to be displayed. It is only available if show_existing_frame is set.
frame_type: FrameTypeIndicates whether a frame is a key frame.
show_frame: boolWhether this frame should be displayed.
error_resilient_mode: boolWhether error resilient mode is enabled.
width: u32The width of the frame in pixels.
height: u32The height of the frame in pixels.
render_and_frame_size_different: boolIf 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: u32The render width of the frame in pixels.
render_height: u32The render height of the frame in pixels.
intra_only: boolIf set, indicates that this frame is an intra-only frame. If unset, indicates that this frame is a inter frame.
reset_frame_context: u8Specifies whether the frame context should be reset to default values.
refresh_frame_flags: u8Contains 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: boolIf 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: InterpolationFilterThe interpolation filter parameters.
refresh_frame_context: boolIf 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: boolWhether parallel decoding mode is enabled.
frame_context_idx: u8Indicates the frame context to use.
lf: LoopFilterParamsThe loop filter parameters
quant: QuantizationParamsThe quantization parameters.
seg: SegmentationParamsThe segmentation parameters
tile_cols_log2: u8Specifies 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: u8Specifies the base 2 logarithm of the height of each tile (where the height is measured in units of 8x8 blocks).
lossless: boolComputed 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: u16Indicates the size of the compressed header in bytes.
uncompressed_header_size_in_bytes: u16Indicates 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.