#[non_exhaustive]pub enum NativeEncoderClass {
Software,
Hardware,
Hybrid,
}Expand description
How a concrete encoder executes, as the linked runtime declares it.
Taken from AV_CODEC_CAP_HARDWARE / AV_CODEC_CAP_HYBRID rather than the name
suffix, so unknown encoders classify correctly. A few misdeclared encoders are
corrected by declared_encoder_class.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Software
Runs on the CPU and draws on the software codec thread budget.
Hardware
Runs on a hardware engine and ignores the thread budget.
Hybrid
Can do either. MediaFoundation’s _mf encoders enumerate a synchronous software transform
with hw_encoding=0 and an asynchronous hardware one with hw_encoding=1.
Implementations§
Trait Implementations§
Source§impl Clone for NativeEncoderClass
impl Clone for NativeEncoderClass
impl Copy for NativeEncoderClass
Source§impl Debug for NativeEncoderClass
impl Debug for NativeEncoderClass
impl Eq for NativeEncoderClass
Source§impl Hash for NativeEncoderClass
impl Hash for NativeEncoderClass
Source§impl PartialEq for NativeEncoderClass
impl PartialEq for NativeEncoderClass
impl StructuralPartialEq for NativeEncoderClass
Auto Trait Implementations§
impl Freeze for NativeEncoderClass
impl RefUnwindSafe for NativeEncoderClass
impl Send for NativeEncoderClass
impl Sync for NativeEncoderClass
impl Unpin for NativeEncoderClass
impl UnsafeUnpin for NativeEncoderClass
impl UnwindSafe for NativeEncoderClass
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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