pub struct EncodeMetrics {
pub name: String,
pub encode_time: Duration,
pub file_size_bytes: u64,
pub bitrate_kbps: f64,
pub duration_secs: f64,
pub speed_factor: f64,
pub psnr_db: Option<f64>,
pub ssim: Option<f64>,
pub vmaf: Option<f64>,
}Expand description
Quality and performance metrics from a single encode run.
Fields§
§name: StringCandidate name.
encode_time: DurationWall-clock encoding time.
file_size_bytes: u64Encoded file size in bytes.
bitrate_kbps: f64Average bitrate in kbps (computed from size and duration).
duration_secs: f64Content duration in seconds.
speed_factor: f64Encoding speed factor (content_duration / encode_time).
psnr_db: Option<f64>Peak signal-to-noise ratio (dB) — None if not measured.
ssim: Option<f64>Structural similarity (0.0–1.0) — None if not measured.
vmaf: Option<f64>Video Multi-Method Assessment Fusion score — None if not measured.
Implementations§
Trait Implementations§
Source§impl Clone for EncodeMetrics
impl Clone for EncodeMetrics
Source§fn clone(&self) -> EncodeMetrics
fn clone(&self) -> EncodeMetrics
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 EncodeMetrics
impl RefUnwindSafe for EncodeMetrics
impl Send for EncodeMetrics
impl Sync for EncodeMetrics
impl Unpin for EncodeMetrics
impl UnsafeUnpin for EncodeMetrics
impl UnwindSafe for EncodeMetrics
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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