pub struct FrameComplexity {
pub frame_index: u64,
pub frame_type: FrameType,
pub spatial_complexity: f64,
pub temporal_complexity: f64,
pub combined_complexity: f64,
pub sad: u64,
pub variance: f64,
pub encoding_difficulty: f64,
pub is_scene_change: bool,
}Expand description
Frame complexity metrics for bitrate allocation.
Fields§
§frame_index: u64Frame index in the stream.
frame_type: FrameTypeFrame type (Key, Inter, BiDir).
spatial_complexity: f64Spatial complexity (0.0-1.0, based on variance).
temporal_complexity: f64Temporal complexity (0.0-1.0, based on motion).
combined_complexity: f64Combined complexity metric.
sad: u64Sum of Absolute Differences with previous frame.
variance: f64Average luma variance across blocks.
encoding_difficulty: f64Estimated encoding difficulty (1.0 = average).
is_scene_change: boolIs this frame a scene change.
Implementations§
Trait Implementations§
Source§impl Clone for FrameComplexity
impl Clone for FrameComplexity
Source§fn clone(&self) -> FrameComplexity
fn clone(&self) -> FrameComplexity
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for FrameComplexity
impl RefUnwindSafe for FrameComplexity
impl Send for FrameComplexity
impl Sync for FrameComplexity
impl Unpin for FrameComplexity
impl UnsafeUnpin for FrameComplexity
impl UnwindSafe for FrameComplexity
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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