Struct FrameInvariants

Source
pub struct FrameInvariants<T: Pixel> {
Show 67 fields pub sequence: Arc<Sequence>, pub config: Arc<EncoderConfig>, pub width: usize, pub height: usize, pub render_width: u32, pub render_height: u32, pub frame_size_override_flag: bool, pub render_and_frame_size_different: bool, pub sb_width: usize, pub sb_height: usize, pub w_in_b: usize, pub h_in_b: usize, pub input_frameno: u64, pub order_hint: u32, pub show_frame: bool, pub showable_frame: bool, pub error_resilient: bool, pub intra_only: bool, pub allow_high_precision_mv: bool, pub frame_type: FrameType, pub frame_to_show_map_idx: u32, pub use_reduced_tx_set: bool, pub reference_mode: ReferenceMode, pub use_prev_frame_mvs: bool, pub partition_range: PartitionRange, pub globalmv_transformation_type: [GlobalMVMode; 7], pub num_tg: usize, pub large_scale_tile: bool, pub disable_cdf_update: bool, pub allow_screen_content_tools: u32, pub force_integer_mv: u32, pub primary_ref_frame: u32, pub refresh_frame_flags: u32, pub allow_intrabc: bool, pub use_ref_frame_mvs: bool, pub is_filter_switchable: bool, pub is_motion_mode_switchable: bool, pub disable_frame_end_update_cdf: bool, pub allow_warped_motion: bool, pub cdef_search_method: CDEFSearchMethod, pub cdef_damping: u8, pub cdef_bits: u8, pub cdef_y_strengths: [u8; 8], pub cdef_uv_strengths: [u8; 8], pub delta_q_present: bool, pub ref_frames: [u8; 7], pub ref_frame_sign_bias: [bool; 7], pub rec_buffer: ReferenceFramesSet<T>, pub base_q_idx: u8, pub dc_delta_q: [i8; 3], pub ac_delta_q: [i8; 3], pub lambda: f64, pub me_lambda: f64, pub dist_scale: [DistortionScale; 3], pub me_range_scale: u8, pub use_tx_domain_distortion: bool, pub use_tx_domain_rate: bool, pub idx_in_group_output: u64, pub pyramid_level: u64, pub enable_early_exit: bool, pub tx_mode_select: bool, pub enable_inter_txfm_split: bool, pub default_filter: FilterMode, pub enable_segmentation: bool, pub t35_metadata: Box<[T35]>, pub cpu_feature_level: CpuFeatureLevel, pub coded_frame_data: Option<CodedFrameData<T>>,
}

Fields§

§sequence: Arc<Sequence>§config: Arc<EncoderConfig>§width: usize§height: usize§render_width: u32§render_height: u32§frame_size_override_flag: bool§render_and_frame_size_different: bool§sb_width: usize§sb_height: usize§w_in_b: usize§h_in_b: usize§input_frameno: u64§order_hint: u32§show_frame: bool§showable_frame: bool§error_resilient: bool§intra_only: bool§allow_high_precision_mv: bool§frame_type: FrameType§frame_to_show_map_idx: u32§use_reduced_tx_set: bool§reference_mode: ReferenceMode§use_prev_frame_mvs: bool§partition_range: PartitionRange§globalmv_transformation_type: [GlobalMVMode; 7]§num_tg: usize§large_scale_tile: bool§disable_cdf_update: bool§allow_screen_content_tools: u32§force_integer_mv: u32§primary_ref_frame: u32§refresh_frame_flags: u32§allow_intrabc: bool§use_ref_frame_mvs: bool§is_filter_switchable: bool§is_motion_mode_switchable: bool§disable_frame_end_update_cdf: bool§allow_warped_motion: bool§cdef_search_method: CDEFSearchMethod§cdef_damping: u8§cdef_bits: u8§cdef_y_strengths: [u8; 8]§cdef_uv_strengths: [u8; 8]§delta_q_present: bool§ref_frames: [u8; 7]§ref_frame_sign_bias: [bool; 7]§rec_buffer: ReferenceFramesSet<T>§base_q_idx: u8§dc_delta_q: [i8; 3]§ac_delta_q: [i8; 3]§lambda: f64§me_lambda: f64§dist_scale: [DistortionScale; 3]§me_range_scale: u8§use_tx_domain_distortion: bool§use_tx_domain_rate: bool§idx_in_group_output: u64§pyramid_level: u64§enable_early_exit: bool§tx_mode_select: bool§enable_inter_txfm_split: bool§default_filter: FilterMode§enable_segmentation: bool§t35_metadata: Box<[T35]>§cpu_feature_level: CpuFeatureLevel

Target CPU feature level.

§coded_frame_data: Option<CodedFrameData<T>>

Implementations§

Source§

impl<T: Pixel> FrameInvariants<T>

Source

pub fn new(config: Arc<EncoderConfig>, sequence: Arc<Sequence>) -> Self

§Panics
  • If the size of T does not match the sequence’s bit depth
Source

pub fn new_key_frame( config: Arc<EncoderConfig>, sequence: Arc<Sequence>, gop_input_frameno_start: u64, t35_metadata: Box<[T35]>, ) -> Self

Source

pub(crate) fn new_inter_frame( previous_coded_fi: &Self, inter_cfg: &InterConfig, gop_input_frameno_start: u64, output_frameno_in_gop: u64, next_keyframe_input_frameno: u64, error_resilient: bool, t35_metadata: Box<[T35]>, ) -> Option<Self>

Returns the created FrameInvariants, or None if this should be a placeholder frame.

Source

pub fn is_show_existing_frame(&self) -> bool

Source

pub fn clone_without_coded_data(&self) -> Self

Source

pub fn set_ref_frame_sign_bias(&mut self)

Source

pub fn get_frame_subtype(&self) -> usize

Source

fn pick_strength_from_q(&mut self, qps: &QuantizerParameters)

Source

pub fn set_quantizers(&mut self, qps: &QuantizerParameters)

Source

pub fn sb_size_log2(&self) -> usize

Source

pub fn film_grain_params(&self) -> Option<&GrainTableSegment>

Source

pub fn frame_timestamp(&self) -> u64

Trait Implementations§

Source§

impl<T: Clone + Pixel> Clone for FrameInvariants<T>

Source§

fn clone(&self) -> FrameInvariants<T>

Returns a duplicate 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<T: Debug + Pixel> Debug for FrameInvariants<T>

Source§

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

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

impl<T: Pixel> Display for FrameInvariants<T>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T> Freeze for FrameInvariants<T>

§

impl<T> RefUnwindSafe for FrameInvariants<T>
where T: RefUnwindSafe,

§

impl<T> Send for FrameInvariants<T>

§

impl<T> Sync for FrameInvariants<T>

§

impl<T> Unpin for FrameInvariants<T>

§

impl<T> UnwindSafe for FrameInvariants<T>
where T: RefUnwindSafe,

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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.