#[repr(C)]pub enum VSFilterMode {
Parallel = 0,
ParallelRequests = 1,
Unordered = 2,
FrameState = 3,
}Expand description
Controls how a filter will be multithreaded, if at all.
Variants§
Parallel = 0
Completely parallel execution. Multiple threads will call a filter’s “getFrame” function, to fetch several frames in parallel.
ParallelRequests = 1
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 = 2
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 = 3
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§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§impl PartialEq for VSFilterMode
impl PartialEq for VSFilterMode
Source§impl PartialOrd for VSFilterMode
impl PartialOrd for VSFilterMode
impl Copy for VSFilterMode
impl Eq for VSFilterMode
impl StructuralPartialEq for VSFilterMode
Auto Trait Implementations§
impl Freeze for VSFilterMode
impl RefUnwindSafe for VSFilterMode
impl Send for VSFilterMode
impl Sync for VSFilterMode
impl Unpin for VSFilterMode
impl UnwindSafe for VSFilterMode
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)