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

Get a reference to the header’s profile.

Get a reference to the header’s bit depth.

Get a reference to the header’s subsampling x.

Get a reference to the header’s subsampling y.

Get a reference to the header’s color space.

Get a reference to the header’s color range.

Get a reference to the header’s show existing frame.

Get a reference to the header’s frame to show map idx.

Get a reference to the header’s frame type.

Get a reference to the header’s show frame.

Get a reference to the header’s error resilient mode.

Get a reference to the header’s width.

Get a reference to the header’s height.

Get a reference to the header’s render and frame size different.

Get a reference to the header’s render width.

Get a reference to the header’s render height.

Get a reference to the header’s intra only.

Get a reference to the header’s reset frame context.

Get a reference to the header’s refresh frame flags.

Get a reference to the header’s ref frame idx.

Get a reference to the header’s ref frame sign bias.

Get a reference to the header’s allow high precision mv.

Get a reference to the header’s interpolation filter.

Get a reference to the header’s refresh frame context.

Get a reference to the header’s frame parallel decoding mode.

Get a reference to the header’s frame context idx.

Get a reference to the header’s lf.

Get a reference to the header’s quant.

Get a reference to the header’s seg.

Get a reference to the header’s tile cols log2.

Get a reference to the header’s tile rows log2.

Get a reference to the header’s lossless.

Get a reference to the header’s header size in bytes.

Get a reference to the header’s uncompressed header size in bytes.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
Returns the VA profile of the stream.
Returns the RT format of the stream.
Returns the minimum number of surfaces required to decode the stream.
Returns the coded size of the surfaces required to decode the stream.
Returns the visible rectangle within the coded size for the stream.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.