PrGPUFilter

Struct PrGPUFilter 

Source
#[repr(C, packed(1))]
pub struct PrGPUFilter { pub CreateInstance: Option<unsafe extern "C" fn(ioInstanceData: *mut PrGPUFilterInstance) -> prSuiteError>, pub DisposeInstance: Option<unsafe extern "C" fn(ioInstanceData: *mut PrGPUFilterInstance) -> prSuiteError>, pub GetFrameDependencies: Option<unsafe extern "C" fn(inInstanceData: *mut PrGPUFilterInstance, inRenderParams: *const PrGPUFilterRenderParams, ioQueryIndex: *mut csSDK_int32, outFrameDependencies: *mut PrGPUFilterFrameDependency) -> prSuiteError>, pub Precompute: Option<unsafe extern "C" fn(inInstanceData: *mut PrGPUFilterInstance, inRenderParams: *const PrGPUFilterRenderParams, inIndex: csSDK_int32, inFrame: PPixHand) -> prSuiteError>, pub Render: Option<unsafe extern "C" fn(inInstanceData: *mut PrGPUFilterInstance, inRenderParams: *const PrGPUFilterRenderParams, inFrames: *const PPixHand, inFrameCount: csSDK_size_t, outFrame: *mut PPixHand) -> prSuiteError>, }
Expand description

GPU Filter callbacks.

Fields§

§CreateInstance: Option<unsafe extern "C" fn(ioInstanceData: *mut PrGPUFilterInstance) -> prSuiteError>

Creates a GPU filter instance representing an effect or transition on a track item. Returning an error from CreateInstance will cause this node to be rendered in software for the current set of parameters. Separate instances may be called concurrently.

§DisposeInstance: Option<unsafe extern "C" fn(ioInstanceData: *mut PrGPUFilterInstance) -> prSuiteError>§GetFrameDependencies: Option<unsafe extern "C" fn(inInstanceData: *mut PrGPUFilterInstance, inRenderParams: *const PrGPUFilterRenderParams, ioQueryIndex: *mut csSDK_int32, outFrameDependencies: *mut PrGPUFilterFrameDependency) -> prSuiteError>

Return dependency information about a render, or nothing if only the current frame is required.

§Precompute: Option<unsafe extern "C" fn(inInstanceData: *mut PrGPUFilterInstance, inRenderParams: *const PrGPUFilterRenderParams, inIndex: csSDK_int32, inFrame: PPixHand) -> prSuiteError>

Precompute a result into preallocated uninitialized host (pinned) memory. Will only be called if PrGPUDependency_Precompute was returned from GetFrameDependencies. Precomputation may be called ahead of render time. Results will be uploaded to the GPU by the host. If outPrecomputePixelFormat is not custom, frames will be converted to the GPU pixel format.

§Render: Option<unsafe extern "C" fn(inInstanceData: *mut PrGPUFilterInstance, inRenderParams: *const PrGPUFilterRenderParams, inFrames: *const PPixHand, inFrameCount: csSDK_size_t, outFrame: *mut PPixHand) -> prSuiteError>

Render into an allocated outFrame allocated with PrSDKGPUDeviceSuite or operate in place. Result must be in the same pixel format as the input. For effects, frame 0 will always be the frame at the current time, other input frames will be in the same order as returned from GetFrameDependencies. For transitions frame 0 will be the incoming frame and frame 1 the outgoing frame. Transitions may not have other frame dependencies.

Trait Implementations§

Source§

impl Clone for PrGPUFilter

Source§

fn clone(&self) -> PrGPUFilter

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PrGPUFilter

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Copy for PrGPUFilter

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.