#[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
impl Clone for PrGPUFilter
Source§fn clone(&self) -> PrGPUFilter
fn clone(&self) -> PrGPUFilter
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more