Interface IVideoProcessor
- Assembly
- VisioForge.Core.dll
Defines the contract for a video processing component. This interface provides methods for processing individual video frames and querying supported formats.
public interface IVideoProcessorRemarks
Implementations of this interface can perform various video manipulations, such as applying effects, analyzing content, or transforming frames. It supports processing both legacy VisioForge.Core.Types.VideoFrame and modern VisioForge.Core.Types.X.VideoFrameX types. ProcessFrame methods accept video frames and perform operations like filtering, effects, analysis, or content detection. GetSupportedFrameFormats enables format negotiation, informing the pipeline which pixel formats the processor can handle. SetContext provides dependency injection for resources, configurations, or shared components needed by the processor. VideoFrameX is the modern format used by MediaBlocks engine with enhanced metadata and performance optimizations. VideoFrame is the legacy format maintained for backward compatibility with older components. Implementations must handle frame processing efficiently as they operate in real-time video pipelines. Video processors can be chained in pipelines, with each processor transforming or analyzing frames sequentially. Common processor types include color correction, denoising, sharpening, overlay rendering, motion detection, and object recognition. Thread safety is crucial as processors may handle frames from multiple sources or parallel pipelines. Performance optimization considerations include SIMD operations, GPU acceleration, frame skipping, and multi-threading.
Methods
GetSupportedFrameFormats()
Retrieves an array of VisioForge.Core.Types.X.VideoFormatX that are supported by this video processor.
VideoFormatX[] GetSupportedFrameFormats()Returns
- VideoFormatX[]
-
An array of supported video formats.
ProcessFrame(VideoFrameX)
Processes a video frame of type VisioForge.Core.Types.X.VideoFrameX. This method is typically used for processing frames from the MediaBlocks engine.
void ProcessFrame(VideoFrameX frame)Parameters
frameVideoFrameX-
The VisioForge.Core.Types.X.VideoFrameX to process.
ProcessFrame(VideoFrame)
Processes a video frame of type VisioForge.Core.Types.VideoFrame. This method is typically used for processing frames from legacy video sources.
void ProcessFrame(VideoFrame frame)Parameters
frameVideoFrame-
The VisioForge.Core.Types.VideoFrame to process.
SetContext(BaseContext)
Sets the operational context for the video processor. This can be used to provide necessary dependencies or shared resources to the processor.
void SetContext(BaseContext context)Parameters
contextBaseContext-
The VisioForge.Core.BaseContext to set.