pub struct FrameStatistics {
pub frame_index: u64,
pub frame_type: FrameType,
pub qp: f64,
pub bits: u64,
pub complexity: FrameComplexity,
pub avg_motion: f64,
pub psnr: Option<f64>,
pub ssim: Option<f64>,
}Expand description
Statistics for a single encoded frame.
Fields§
§frame_index: u64Frame index in the stream.
frame_type: FrameTypeFrame type.
qp: f64Quantization parameter used.
bits: u64Actual bits used to encode this frame.
complexity: FrameComplexityFrame complexity metrics.
avg_motion: f64Motion estimation data (average motion vector magnitude).
psnr: Option<f64>Peak Signal-to-Noise Ratio (if available).
ssim: Option<f64>Structural Similarity Index (if available).
Implementations§
Source§impl FrameStatistics
impl FrameStatistics
Sourcepub fn new(
frame_index: u64,
frame_type: FrameType,
qp: f64,
bits: u64,
complexity: FrameComplexity,
) -> Self
pub fn new( frame_index: u64, frame_type: FrameType, qp: f64, bits: u64, complexity: FrameComplexity, ) -> Self
Create new frame statistics.
Sourcepub fn set_motion(&mut self, avg_motion: f64)
pub fn set_motion(&mut self, avg_motion: f64)
Set motion estimation data.
Sourcepub fn set_quality_metrics(&mut self, psnr: f64, ssim: f64)
pub fn set_quality_metrics(&mut self, psnr: f64, ssim: f64)
Set quality metrics.
Sourcepub fn bits_per_pixel(&self, width: u32, height: u32) -> f64
pub fn bits_per_pixel(&self, width: u32, height: u32) -> f64
Get bits per pixel.
Trait Implementations§
Source§impl Clone for FrameStatistics
impl Clone for FrameStatistics
Source§fn clone(&self) -> FrameStatistics
fn clone(&self) -> FrameStatistics
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 FrameStatistics
impl RefUnwindSafe for FrameStatistics
impl Send for FrameStatistics
impl Sync for FrameStatistics
impl Unpin for FrameStatistics
impl UnsafeUnpin for FrameStatistics
impl UnwindSafe for FrameStatistics
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