Enum vapoursynth4_sys::VSFilterMode
source · #[repr(C)]pub enum VSFilterMode {
Parallel,
ParallelRequests,
Unordered,
FrameState,
}Expand description
Controls how a filter will be multithreaded, if at all.
Variants§
Parallel
Completely parallel execution. Multiple threads will call a filter’s “getFrame” function, to fetch several frames in parallel.
ParallelRequests
For filters that are serial in nature but can request in advance one or more frames
they need. A filter’s “getFrame” function will be called from multiple threads at a time
with activation reason VSActivationReason::Initial,
but only one thread will call it with activation reason
VSActivationReason::AllFramesReady at a time.
Unordered
Only one thread can call the filter’s “getFrame” function at a time. Useful for filters that modify or examine their internal state to determine which frames to request.
While the “getFrame” function will only run in one thread at a time,
the calls can happen in any order. For example, it can be called with reason
VSActivationReason::Initial for frame 0, then again with reason
VSActivationReason::Initial for frame 1,
then with reason VSActivationReason::AllFramesReady for frame 0.
FrameState
For compatibility with other filtering architectures.
DO NOT USE IN NEW FILTERS. The filter’s “getFrame” function only ever gets called from
one thread at a time. Unlike Unordered,
only one frame is processed at a time.
Trait Implementations§
source§impl Clone for VSFilterMode
impl Clone for VSFilterMode
source§fn clone(&self) -> VSFilterMode
fn clone(&self) -> VSFilterMode
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for VSFilterMode
impl Debug for VSFilterMode
source§impl Hash for VSFilterMode
impl Hash for VSFilterMode
source§impl Ord for VSFilterMode
impl Ord for VSFilterMode
source§fn cmp(&self, other: &VSFilterMode) -> Ordering
fn cmp(&self, other: &VSFilterMode) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
source§impl PartialEq<VSFilterMode> for VSFilterMode
impl PartialEq<VSFilterMode> for VSFilterMode
source§fn eq(&self, other: &VSFilterMode) -> bool
fn eq(&self, other: &VSFilterMode) -> bool
self and other values to be equal, and is used
by ==.source§impl PartialOrd<VSFilterMode> for VSFilterMode
impl PartialOrd<VSFilterMode> for VSFilterMode
source§fn partial_cmp(&self, other: &VSFilterMode) -> Option<Ordering>
fn partial_cmp(&self, other: &VSFilterMode) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self and other) and is used by the <=
operator. Read more