Struct FrameHeaderObu

Source
pub struct FrameHeaderObu {
Show 64 fields pub obu_header: ObuHeader, pub show_existing_frame: bool, pub frame_to_show_map_idx: u8, pub frame_presentation_time: u32, pub display_frame_id: u32, pub frame_type: FrameType, pub show_frame: bool, pub showable_frame: bool, pub error_resilient_mode: bool, pub disable_cdf_update: bool, pub allow_screen_content_tools: u32, pub force_integer_mv: u32, pub current_frame_id: u32, pub frame_size_override_flag: bool, pub order_hint: u32, pub primary_ref_frame: u32, pub buffer_removal_time_present_flag: bool, pub buffer_removal_time: Vec<u32>, pub refresh_frame_flags: u32, pub ref_order_hint: [u32; 8], pub allow_intrabc: bool, pub frame_refs_short_signaling: bool, pub last_frame_idx: u8, pub gold_frame_idx: u8, pub ref_frame_idx: [u8; 7], pub allow_high_precision_mv: bool, pub is_motion_mode_switchable: bool, pub use_ref_frame_mvs: bool, pub disable_frame_end_update_cdf: bool, pub allow_warped_motion: bool, pub reduced_tx_set: bool, pub render_and_frame_size_different: bool, pub use_superres: bool, pub is_filter_switchable: bool, pub interpolation_filter: InterpolationFilter, pub loop_filter_params: LoopFilterParams, pub quantization_params: QuantizationParams, pub segmentation_params: SegmentationParams, pub tile_info: TileInfo, pub cdef_params: CdefParams, pub loop_restoration_params: LoopRestorationParams, pub tx_mode_select: u32, pub skip_mode_present: bool, pub reference_select: bool, pub global_motion_params: GlobalMotionParams, pub film_grain_params: FilmGrainParams, pub superres_denom: u32, pub frame_is_intra: bool, pub order_hints: [u32; 8], pub ref_frame_sign_bias: [bool; 8], pub coded_lossless: bool, pub all_lossless: bool, pub lossless_array: [bool; 8], pub seg_qm_level: [[u32; 8]; 3], pub upscaled_width: u32, pub frame_width: u32, pub frame_height: u32, pub render_width: u32, pub render_height: u32, pub tx_mode: TxMode, pub skip_mode_frame: [u32; 2], pub mi_cols: u32, pub mi_rows: u32, pub header_bytes: usize,
}
Expand description

A FrameHeaderOBU

Fields§

§obu_header: ObuHeader

The original OBU header. This may be from a FrameOBU or a FrameHeaderOBU directly.

§show_existing_frame: bool

If set, indicates the frame indexed by frame_to_show_map_idx is to be output; If not set, indicates that further processing is required.

§frame_to_show_map_idx: u8

Specifies the frame to be output. It is only available if show_existing_frame is set.

§frame_presentation_time: u32

Specifies the length of the frame_presentation_time syntax element, in bits.

§display_frame_id: u32

Provides the frame id number for the frame to output.

§frame_type: FrameType

Specifies the type of the frame

§show_frame: bool

If set, specifies that this frame should be immediately output once decoded. If not set specifies that this frame should not be immediately output. (It may be output later if a later uncompressed header uses show_existing_frame is set).

§showable_frame: bool

When set, specifies that the frame may be output using the show_existing_frame mechanism. When not set, specifies that this frame will not be output using the show_existing_frame mechanism.

§error_resilient_mode: bool

If set, indicates that error resilient mode is enabled; error_resilient_mode equal to 0 indicates that error resilient mode is disabled.

§disable_cdf_update: bool

Specifies whether the CDF update in the symbol decoding process should be disabled.

§allow_screen_content_tools: u32

When set, indicates that intra blocks may use palette encoding; When not set, indicates that palette encoding is never used.

§force_integer_mv: u32

If set, specifies that motion vectors will always be integers. If not set, specifies that motion vectors can contain fractional bits.

§current_frame_id: u32

Specifies the frame id number for the current frame. Frame id numbers are additional information that do not affect the decoding process, but provide decoders with a way of detecting missing reference frames so that appropriate action can be taken.

§frame_size_override_flag: bool

If not set, specifies that the frame size is equal to the size in the sequence header. If set, specifies that the frame size will either be specified as the size of one of the reference frames, or computed from the frame_width_minus_1 and frame_height_minus_1 syntax elements.

§order_hint: u32

Specifies OrderHintBits least significant bits of the expected output order for this frame.

§primary_ref_frame: u32

Specifies which reference frame contains the CDF values and other state that should be loaded at the start of the frame.

§buffer_removal_time_present_flag: bool

If set, specifies that buffer_removal_time is present. If not set, specifies that buffer_removal_time is not present.

§buffer_removal_time: Vec<u32>

Specifies the frame removal time in units of DecCT clock ticks counted from the removal time of the last random access point for operating point opNum. buffer_removal_time is signaled as a fixed length unsigned integer with a length in bits given by buffer_removal_time_length_minus_1 + 1.

§refresh_frame_flags: u32

Contains a bitmask that specifies which reference frame slots will be updated with the current frame after it is decoded.

§ref_order_hint: [u32; 8]

Specifies the expected output order hint for each reference frame.

§allow_intrabc: bool

If set, indicates that intra block copy may be used in this frame. If not set indicates that intra block copy is not allowed in this frame.

§frame_refs_short_signaling: bool

If set, indicates that only two reference frames are explicitly signaled. If not set, indicates that all reference frames are explicitly signaled.

§last_frame_idx: u8

Specifies the reference frame to use for LAST_FRAME.

§gold_frame_idx: u8

Specifies the reference frame to use for GOLDEN_FRAME.

§ref_frame_idx: [u8; 7]

Specifies which reference frames are used by inter frames

§allow_high_precision_mv: bool

If not set, specifies that motion vectors are specified to quarter pel precision; If set, specifies that motion vectors are specified to eighth pel precision.

§is_motion_mode_switchable: bool

If not set, specifies that only the SIMPLE motion mode will be used.

§use_ref_frame_mvs: bool

If set, specifies that motion vector information from a previous frame can be used when decoding the current frame. If not set, specifies that this information will not be used.

§disable_frame_end_update_cdf: bool

If set, indicates that the end of frame CDF update is disabled; If not set, indicates that the end of frame CDF update is enabled.

§allow_warped_motion: bool

If set, indicates that the syntax element motion_mode may be present. If not set, indicates that the syntax element motion_mode will not be present

§reduced_tx_set: bool

If set, specifies that the frame is restricted to a reduced subset of the full set of transform types.

§render_and_frame_size_different: bool

If not set, 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.

§use_superres: bool

If not set, indicates that no upscaling is needed. If set, indicates that upscaling is needed.

§is_filter_switchable: bool

If set indicates that the filter selection is signaled at the block level; If not set, indicates that the filter selection is signaled at the frame level.

§interpolation_filter: InterpolationFilter

The interpolation filter parameters.

§loop_filter_params: LoopFilterParams

The loop filter parameters.

§quantization_params: QuantizationParams

The quantization parameters.

§segmentation_params: SegmentationParams

The segmentation parameters.

§tile_info: TileInfo

The tile info.

§cdef_params: CdefParams

The CDEF parameters.

§loop_restoration_params: LoopRestorationParams

The loop restoration parameters.

§tx_mode_select: u32

Used to compute TxMode.

§skip_mode_present: bool

If set specifies that the syntax element skip_mode will be present. If not set, specifies that skip_mode will not be used for this frame.

§reference_select: bool

If set, specifies that the mode info for inter blocks contains the syntax element comp_mode that indicates whether to use single or compound reference prediction. If not set, specifies that all inter blocks will use single prediction.

§global_motion_params: GlobalMotionParams

The global motion parameters.

§film_grain_params: FilmGrainParams

The film grain parameters.

§superres_denom: u32§frame_is_intra: bool§order_hints: [u32; 8]§ref_frame_sign_bias: [bool; 8]§coded_lossless: bool§all_lossless: bool§lossless_array: [bool; 8]§seg_qm_level: [[u32; 8]; 3]§upscaled_width: u32§frame_width: u32§frame_height: u32§render_width: u32§render_height: u32§tx_mode: TxMode§skip_mode_frame: [u32; 2]§mi_cols: u32§mi_rows: u32§header_bytes: usize

Trait Implementations§

Source§

impl Clone for FrameHeaderObu

Source§

fn clone(&self) -> FrameHeaderObu

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FrameHeaderObu

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for FrameHeaderObu

Source§

fn default() -> FrameHeaderObu

Returns the “default value” for a type. Read more
Source§

impl From<&FrameHeaderObu> for AV1FilmGrain

Source§

fn from(hdr: &FrameHeaderObu) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for FrameHeaderObu

Source§

fn eq(&self, other: &FrameHeaderObu) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for FrameHeaderObu

Source§

impl StructuralPartialEq for FrameHeaderObu

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.