pub struct Frame { /* private fields */ }
Expand description
A VP9 frame.
Implementations§
Source§impl Frame
impl Frame
Sourcepub fn compressed_header_data(&self) -> &[u8] ⓘ
pub fn compressed_header_data(&self) -> &[u8] ⓘ
Returns a slice into the data of the compressed header.
Sourcepub fn compressed_header_and_tile_data(&self) -> &[u8] ⓘ
pub fn compressed_header_and_tile_data(&self) -> &[u8] ⓘ
Returns a slice into the data of the compressed header and tile data.
Sourcepub fn show_existing_frame(&self) -> bool
pub fn show_existing_frame(&self) -> bool
Indicates that the frame indexed by frame_to_show_map_idx
is to be displayed.
The frame contains no actual frame data.
Sourcepub fn frame_to_show_map_idx(&self) -> Option<u8>
pub fn frame_to_show_map_idx(&self) -> Option<u8>
Specifies the frame to be displayed. It is only available if show_existing_frame
is true.
Sourcepub fn last_frame_type(&self) -> FrameType
pub fn last_frame_type(&self) -> FrameType
The frame type of the previous frame.
Sourcepub fn frame_type(&self) -> FrameType
pub fn frame_type(&self) -> FrameType
The frame type of this frame.
Sourcepub fn show_frame(&self) -> bool
pub fn show_frame(&self) -> bool
Indicates that the frame is to be displayed.
Sourcepub fn error_resilient_mode(&self) -> bool
pub fn error_resilient_mode(&self) -> bool
Indicates that error resilient mode is enabled.
Error resilient mode allows the syntax of a frame to be decoded independently of previous frames.
Sourcepub fn intra_only(&self) -> bool
pub fn intra_only(&self) -> bool
Indicates that a frame is an intra-only
frame.
A key frame is different to an intra-only
frame even though both only use
intra prediction. The difference is that a key frame fully resets the decoding process.
Sourcepub fn reset_frame_context(&self) -> ResetFrameContext
pub fn reset_frame_context(&self) -> ResetFrameContext
Specifies whether the frame context should be reset to default values.
Sourcepub fn ref_frame_indices(&self) -> &[u8; 3]
pub fn ref_frame_indices(&self) -> &[u8; 3]
The indices of the used reference frames.
Sourcepub fn last_ref_frame_index(&self) -> u8
pub fn last_ref_frame_index(&self) -> u8
Last reference frame index.
Sourcepub fn golden_ref_frame_index(&self) -> u8
pub fn golden_ref_frame_index(&self) -> u8
Golden reference frame index.
Sourcepub fn alt_ref_frame_index(&self) -> u8
pub fn alt_ref_frame_index(&self) -> u8
Alternate reference frame index.
Sourcepub fn ref_frame_sign_bias(&self) -> &[bool; 4]
pub fn ref_frame_sign_bias(&self) -> &[bool; 4]
Specifies the intended direction of the motion vector in time for each reference frame.
Sourcepub fn allow_high_precision_mv(&self) -> bool
pub fn allow_high_precision_mv(&self) -> bool
Specifies the precision of the motion vectors.
False = quarter precision, True = eighth precision.
Sourcepub fn refresh_frame_context(&self) -> bool
pub fn refresh_frame_context(&self) -> bool
Specifies that the probabilities computed for this frame should be stored for reference by future frames.
Sourcepub fn refresh_frame_flags(&self) -> u8
pub fn refresh_frame_flags(&self) -> u8
Contains a bitmask that specifies which reference frame slots will be updated with the current frame after it is decoded.
First bit = first frame (1). Last bit = last frame (8).
Sourcepub fn frame_parallel_decoding_mode(&self) -> bool
pub fn frame_parallel_decoding_mode(&self) -> bool
Specifies if parallel decoding mode is activated.
Sourcepub fn frame_context_idx(&self) -> u8
pub fn frame_context_idx(&self) -> u8
Specifies which frame context to use.
Sourcepub fn uncompressed_header_size(&self) -> usize
pub fn uncompressed_header_size(&self) -> usize
The size of the uncompressed header.
Sourcepub fn compressed_header_size(&self) -> usize
pub fn compressed_header_size(&self) -> usize
The size of the uncompressed header.
Sourcepub fn color_depth(&self) -> ColorDepth
pub fn color_depth(&self) -> ColorDepth
The color depth of the frame.
Sourcepub fn color_space(&self) -> ColorSpace
pub fn color_space(&self) -> ColorSpace
The color space of the frame.
Sourcepub fn color_range(&self) -> ColorRange
pub fn color_range(&self) -> ColorRange
The color range of the frame.
Sourcepub fn subsampling(&self) -> Subsampling
pub fn subsampling(&self) -> Subsampling
The subsampling the frame is using.
Sourcepub fn subsampling_x(&self) -> bool
pub fn subsampling_x(&self) -> bool
Indicates if sub sampling is used along the x axis.
Sourcepub fn subsampling_y(&self) -> bool
pub fn subsampling_y(&self) -> bool
Indicates if sub sampling is used along the y axis.
Sourcepub fn render_width(&self) -> u16
pub fn render_width(&self) -> u16
A hint for the application for the desired width to render.
Sourcepub fn render_height(&self) -> u16
pub fn render_height(&self) -> u16
A hint for the application for the desired height to render.
Sourcepub fn mi_cols(&self) -> u16
pub fn mi_cols(&self) -> u16
A variable holding the vertical location of the block in units of 8x8 pixels.
Sourcepub fn mi_rows(&self) -> u16
pub fn mi_rows(&self) -> u16
A variable holding the horizontal location of the block in units of 8x8 pixels.
Sourcepub fn tile_rows_log2(&self) -> u8
pub fn tile_rows_log2(&self) -> u8
The base 2 logarithm of the height of each tile (where the height is measured in units of 8x8 blocks)
Sourcepub fn tile_cols_log2(&self) -> u8
pub fn tile_cols_log2(&self) -> u8
The base 2 logarithm of the width of each tile (where the width is measured in units of 8x8 blocks)
Sourcepub fn interpolation_filter(&self) -> InterpolationFilter
pub fn interpolation_filter(&self) -> InterpolationFilter
The type of filter used in inter prediction.
Sourcepub fn loop_filter_level(&self) -> u8
pub fn loop_filter_level(&self) -> u8
The loop filter strength.
Sourcepub fn loop_filter_sharpness(&self) -> u8
pub fn loop_filter_sharpness(&self) -> u8
The loop filter sharpness.
Sourcepub fn loop_filter_delta_enabled(&self) -> bool
pub fn loop_filter_delta_enabled(&self) -> bool
Indicates that the filter level depends on the mode and reference frame used to predict a block.
Sourcepub fn update_ref_delta(&self) -> bool
pub fn update_ref_delta(&self) -> bool
Indicates that the the bitstream contains the syntax element loop_filter_ref_delta.
Sourcepub fn loop_filter_ref_deltas(&self) -> &[i8; 4]
pub fn loop_filter_ref_deltas(&self) -> &[i8; 4]
Contains the adjustment needed for the filter level based on the chosen reference frame.
Sourcepub fn update_mode_delta(&self) -> bool
pub fn update_mode_delta(&self) -> bool
Indicates that the the bitstream contains the syntax element loop_filter_mode_deltas.
Sourcepub fn loop_filter_mode_deltas(&self) -> &[i8; 2]
pub fn loop_filter_mode_deltas(&self) -> &[i8; 2]
Contains the adjustment needed for the filter level based on the chosen mode.
Sourcepub fn base_q_idx(&self) -> i32
pub fn base_q_idx(&self) -> i32
The base frame qindex. This is used for Y AC coefficients and as the base value for the other quantizers.
Sourcepub fn delta_q_y_dc(&self) -> i32
pub fn delta_q_y_dc(&self) -> i32
The Y DC quantizer relative to base_q_idx.
Sourcepub fn delta_q_uv_dc(&self) -> i32
pub fn delta_q_uv_dc(&self) -> i32
The UV DC quantizer relative to base_q_idx.
Sourcepub fn delta_q_uv_ac(&self) -> i32
pub fn delta_q_uv_ac(&self) -> i32
The UV AC quantizer relative to base_q_idx.
Sourcepub fn lossless(&self) -> bool
pub fn lossless(&self) -> bool
Indicates that the frame is coded using a special 4x4 transform designed for encoding frames that are bit-identical with the original frames.
Sourcepub fn segmentation_enabled(&self) -> bool
pub fn segmentation_enabled(&self) -> bool
Specifies that this frame makes use of the segmentation tool.
Sourcepub fn segmentation_update_map(&self) -> bool
pub fn segmentation_update_map(&self) -> bool
Specifies that the segmentation map should be updated during the decoding of this frame.
Sourcepub fn segment_tree_probs(&self) -> &[u8; 7]
pub fn segment_tree_probs(&self) -> &[u8; 7]
The probability values to be used when decoding segment_id.
Sourcepub fn segment_pred_probs(&self) -> &[u8; 3]
pub fn segment_pred_probs(&self) -> &[u8; 3]
The probability values to be used when decoding seg_id_predicted.
Sourcepub fn segmentation_temporal_update(&self) -> bool
pub fn segmentation_temporal_update(&self) -> bool
Indicates that the updates to the segmentation map are coded relative to the existing segmentation map.
Sourcepub fn segmentation_update_data(&self) -> bool
pub fn segmentation_update_data(&self) -> bool
Indicates that new parameters are about to be specified for each segment.
Sourcepub fn segmentation_abs_or_delta_update(&self) -> bool
pub fn segmentation_abs_or_delta_update(&self) -> bool
Indicates that the segmentation parameters represent the actual values to be used, otherwise the segmentation parameters represent adjustments relative to the standard values.
Sourcepub fn segment_feature_enabled(&self) -> &[[bool; 4]; 8]
pub fn segment_feature_enabled(&self) -> &[[bool; 4]; 8]
Indicates that the corresponding feature is used in a segment.
Sourcepub fn segment_feature_data(&self) -> &[[i16; 4]; 8]
pub fn segment_feature_data(&self) -> &[[i16; 4]; 8]
Specifies the values of the active features of a segment.