pub enum YuvConversionMode {
Fast,
Balanced,
Professional,
}
Expand description
Declares YUV conversion accuracy mode
In common case, each step for increasing accuracy have at least 30% slowdown.
Variants§
Fast
fast_mode
only.Minimal precision, but the fastest option. Same as libyuv does use.
This may encode with notable changes in the image,
consider using this when you’re migrating from libyuv and want same,
or fastest performance, or you just need the fastest available performance.
On aarch64 i8mm
activated feature may be preferred, nightly compiler channel is required,
when encoding RGBA/BGRA only.
For x86
consider activating avx512
feature ( nightly compiler channel is required ),
it may significantly increase throughout on some modern CPU’s,
even without AVX-512 available. avxvnni
may be used instead.
Balanced
Mixed, but high precision, very good performance. This is still a VERY fast method, with much more precise encoding. This option is more suitable for common encoding, where fast speed is critical along the high precision.
Professional
professional_mode
only.Maximizes quality and precision over speed while maintaining reasonable performance.
Trait Implementations§
Source§impl Clone for YuvConversionMode
impl Clone for YuvConversionMode
Source§fn clone(&self) -> YuvConversionMode
fn clone(&self) -> YuvConversionMode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for YuvConversionMode
impl Debug for YuvConversionMode
Source§impl Default for YuvConversionMode
impl Default for YuvConversionMode
Source§fn default() -> YuvConversionMode
fn default() -> YuvConversionMode
Source§impl Display for YuvConversionMode
impl Display for YuvConversionMode
Source§impl Ord for YuvConversionMode
impl Ord for YuvConversionMode
Source§fn cmp(&self, other: &YuvConversionMode) -> Ordering
fn cmp(&self, other: &YuvConversionMode) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for YuvConversionMode
impl PartialEq for YuvConversionMode
Source§impl PartialOrd for YuvConversionMode
impl PartialOrd for YuvConversionMode
impl Copy for YuvConversionMode
impl Eq for YuvConversionMode
impl StructuralPartialEq for YuvConversionMode
Auto Trait Implementations§
impl Freeze for YuvConversionMode
impl RefUnwindSafe for YuvConversionMode
impl Send for YuvConversionMode
impl Sync for YuvConversionMode
impl Unpin for YuvConversionMode
impl UnwindSafe for YuvConversionMode
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
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>
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>
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