Table of Contents

Namespace VisioForge.Core.Types

Namespaces

VisioForge.Core.Types.AudioEffects
VisioForge.Core.Types.Decklink
VisioForge.Core.Types.Events
VisioForge.Core.Types.FFMPEGEXE
VisioForge.Core.Types.FastImageProcessing
VisioForge.Core.Types.Helpers
VisioForge.Core.Types.MediaInfo
VisioForge.Core.Types.MediaPlayer
VisioForge.Core.Types.Output
VisioForge.Core.Types.VideoCapture
VisioForge.Core.Types.VideoEdit
VisioForge.Core.Types.VideoEffects
VisioForge.Core.Types.VideoProcessing
VisioForge.Core.Types.X

Classes

AudioChannelMapperItem

Represents a single audio channel mapping rule, specifying how a source channel is routed and amplified to a target channel.

AudioChannelMapperSettings

Represents configuration settings for audio channel mapping operations. This class allows you to define how audio channels from a source should be routed to output channels, including volume adjustments for each channel mapping.

AudioFrame

Represents a single frame of audio data, including its raw data, format information, and timing. This class is used to pass audio data between different components of the framework.

AudioMixerValues

Represents the configuration values for an audio mixer, including volume, panning, and equalization settings.

AudioPCMConverterSettings

Audio PCM converter settings. Defines the parameters for converting audio to PCM (Pulse Code Modulation) format. PCM is an uncompressed digital audio format commonly used for audio processing and storage.

ChromaKeySettings

Chroma-key settings. Configures the chroma key (green screen) effect that replaces a specific color in the video with a background image. Commonly used for video compositing and special effects.

CustomProcessingFilter

Represents a custom DirectShow filter to be inserted into the video processing pipeline.

DataFrame

Represents a generic frame of data, which can be used for various media types, not limited to audio or video. This class provides a buffer for raw data along with timing and format information. It includes methods for manual memory management of the underlying data buffer.

DisplayInfo

Represents detailed information about a display device, including its resolution, working area, and DPI settings.

GIFStatusOverlay

Represents a status overlay that displays an animated GIF image on top of a video stream.

ImageStatusOverlay

Represents a status overlay that displays a bitmap image on top of video content.

MaxineSuperResSettings

Configures the NVIDIA Maxine Super Resolution effect, which uses AI to upscale video with enhanced quality.

MaxineUpscaleSettings

Configures the NVIDIA Maxine Upscale effect, which increases video resolution and enhances details.

MediaFileTags

Represents a comprehensive collection of metadata tags for a media file. This class aggregates various pieces of information commonly found in audio and video file tags (e.g., ID3, MP4 tags, Vorbis Comments).

RAWAudioFrameEventArgs

Provides data for events that deliver raw audio frames. This class encapsulates a VisioForge.Core.Types.RAWAudioFrame, allowing it to be passed as an argument in event handlers.

RAWVideoColorSpaceHelper

Provides helper methods for working with VisioForge.Core.Types.RAWVideoColorSpace. This static class facilitates conversions between different color space representations and calculates image stride.

RAWVideoFrameEventArgs

Provides data for events that deliver raw video frames. This class encapsulates a VisioForge.Core.Types.RAWVideoFrame, allowing it to be passed as an argument in event handlers.

Rect

Represents a rectangular area defined by its left, top, right, and bottom coordinates. This class provides properties to access the dimensions and check if the rectangle is empty.

Size

Represents the size of a two-dimensional object, typically in pixels. This class encapsulates a width and a height, providing a convenient way to manage dimensions.

SubtitlesSettings

Configures the settings for displaying subtitles during video playback.

TextStatusOverlay

Represents a status overlay that displays text on top of the video stream.

VUMeterEventArgs

Provides data for events that report VU (Volume Unit) meter levels for audio visualization and monitoring.

VUMeterFFTEventArgs

Provides data for events that report Fast Fourier Transform (FFT) results for audio frequency analysis.

VUMeterMaxSampleEventArgs

Provides data for events that report the minimum and maximum audio sample values for peak level monitoring.

VideoCropSettings

Defines settings for cropping a video frame, specifying the region to be retained.

VideoRendererAdjustmentSupported

Represents the video adjustment capabilities supported by a specific video renderer implementation.

VideoRendererSettings

Provides comprehensive settings for configuring the video renderer, including mode, rotation, deinterlacing, and aspect ratio.

VideoRendererVideoAdjustRanges

Defines the valid range and step for video renderer adjustment properties like brightness, contrast, hue, and saturation.

VideoResizeSettings

Defines settings for resizing video frames, including the target dimensions and the resizing algorithm.

WindowCaptureEventArgs

Provides data for events related to window capture, typically used to identify a window for screen recording or streaming.

YouTubeVideoInfo

Represents detailed information about a specific YouTube video stream format.

YouTubeVideoPlaybackEventArgs

Provides data for events related to YouTube video playback, specifically when available video formats are detected.

Structs

EncryptedFileInfo

Contains information about the media streams present in an encrypted file.

HWEncodersAvailableInfo

Provides a summary of available hardware-accelerated video and audio encoders on the system.

RAWAudioFrame

Represents a raw audio frame, designed for direct memory manipulation and interop scenarios. This struct holds a pointer to the raw audio data, its size, and basic audio format information, along with timing details.

RAWBaseAudioInfo

Represents fundamental information about a raw audio stream. This struct provides details such as the sample container width, number of channels, sample rate, and audio format.

RAWBaseVideoInfo

Represents fundamental information about a raw video stream or frame. This struct provides details such as width, height, color space, stride, and frame rate.

RAWImage

Represents a raw image frame, providing direct access to image data in unmanaged memory. This struct is designed for high-performance image processing and interoperation with native code.

RAWVideoFrame

Represents a raw video frame, designed for direct memory manipulation and interop scenarios. This struct holds a pointer to the raw video data, its size, and basic video format information, along with timing details.

VFRectIntl

Represents an internal rectangular area defined by its left, top, right, and bottom coordinates. This struct is primarily used for interoperation with native code due to its sequential memory layout.

VFSizeIntl

Represents an internal size structure defined by its width and height. This struct is primarily used for interoperation with native code due to its sequential memory layout.

VideoFrame

Represents a single frame of video data, including its raw data, format information, and timing. This struct provides a managed way to work with video frames, abstracting some of the complexities of unmanaged memory.

VideoFrameRate

Represents a video frame rate, typically expressed as a fraction (numerator/denominator) or a floating-point value. This struct provides methods for comparison, conversion, and common frame rate constants.

Interfaces

IBitmap

Represents a platform-agnostic bitmap image. This interface is used as a common wrapper for different bitmap implementations across various platforms (e.g., Windows, Android, iOS).

IMPVCVECore

Defines a common interface for core functionalities shared across Video Capture, Video Edit, and Media Player components.

IMediaPlayerControls

Defines a standard set of controls for a media player component. This interface provides a common API for controlling playback of media files, including play, pause, stop, seek, and volume adjustments. It also includes asynchronous versions of most methods for use in responsive UI applications.

IStatusOverlay

Defines an interface for a status overlay, which is used to display real-time information on top of a video stream. This can include details like frame rate, resolution, timecode, recording status, or custom text provided by the application.

IVRVideoControl

Defines an interface for controlling Virtual Reality (VR) video playback parameters. This interface allows manipulation of camera orientation (yaw, pitch, roll), field of view, and the VR projection mode.

IVideoCaptureControls

Defines a standard set of controls for a video capture component. This interface provides a common API for managing the lifecycle of a video capture session, including starting, pausing, and stopping. It also provides access to audio volume controls during capture.

IVideoEffectsControls

Defines a standard set of controls for applying basic real-time video effects. This interface provides methods to adjust common image properties such as brightness, contrast, and saturation, as well as apply simple transformations like grayscale, flip, and invert.

IVideoRendererBase

Base interface for video renderer components, providing a common contract for different renderer implementations.

IVideoRendererVMR9

Defines the contract for the Video Mixing Renderer 9 (VMR-9), which is used for rendering video on Windows.

IVideoResizeSettings

Defines a marker interface for video resize settings implementations.

IVideoView

Defines a platform-agnostic interface for a video rendering view. This interface abstracts the underlying UI control used for displaying video, allowing the core engine to remain independent of any specific UI framework (e.g., WinForms, WPF, Android, iOS).

IVideoViewNativeRendering

Defines an interface for video view components that support switching to a native rendering backend. This is typically used to improve performance in demanding scenarios, such as playing high-resolution (4K/8K) video or using hardware-accelerated GPU decoding.

IVideoViewPushFrame

Defines an interface for video views that support direct pushing of video frames for rendering. This interface is crucial for scenarios where raw video data needs to be displayed without relying on a traditional media pipeline (e.g., for custom video processing or real-time frame injection).

Enums

AudioFormat

Defines the audio format for raw audio data, specifying whether it is Pulse-Code Modulation (PCM), IEEE floating-point, or encoded. This enumeration is crucial for configuring audio streams and ensuring correct data interpretation throughout the framework.

AudioMixerValueType

Audio mixer value type. Specifies the type of audio mixer parameter that can be controlled.

DataFrameType

Identifies the type of data carried in a VisioForge.Core.Types.DataFrame.

DebugLevel

Specifies the severity level for logging and debug messages. This enumeration is used to filter the verbosity of diagnostic output.

DpiType

Identifies the dots per inch (DPI) setting for a monitor.

FFMPEGCodecID

Defines a comprehensive list of codec identifiers from the FFmpeg library. These IDs are used to uniquely identify specific audio, video, subtitle, and data compression formats.

FilterCategoryX

Specifies the category of a DirectShow filter, which determines its function within the graph.

GIFResizeStretchMode

Defines how a GIF frame should be resized or stretched to fit a target dimension.

LicenseLevel

Defines the different licensing tiers available for VisioForge products. Each level typically unlocks a different set of features or capabilities within the framework.

MediaFileTagTypes

Specifies the types of metadata tags that can be present in a media file. This enumeration is a bit field, meaning its members can be combined using bitwise operations to indicate the presence of multiple tag types.

MediaTypeCategory

Specifies the category of a media type, typically used to identify the type of data flowing through a filter pin.

MessageBoxDialogButtons

Specifies constants defining the buttons to display on a message box. This enumeration is used to control the user's interaction options within a dialog.

MessageBoxResult

Specifies constants defining the result of a message box dialog. This enumeration is used to identify which button a user clicked on a message box.

MouseButton

Specifies constants that define which mouse button was pressed. This enumeration is used in mouse-related events to identify the specific button involved in the event.

PlaybackState

Defines the possible states of a media playback or capture session. This enumeration is used to indicate whether the media is actively playing, paused, or in an idle state.

PropertyPageType

Specifies the type of property page to be displayed for a DirectShow filter.

RAWVideoColorSpace

Defines various raw video color space formats. This enumeration is used to specify how pixel data is arranged and interpreted in raw video frames.

RotateMode

Specifies the rotation mode for video frames.

SpecialFilterType

Defines special types of DirectShow filters that are commonly used in media processing.

VRMode

Specifies the different Virtual Reality (VR) projection modes supported for video playback. Not all modes may be supported by every component (e.g., specific video blocks, effects, or renderers).

VideoEffectStretchMode

Stretch mode.

VideoInterpolationMode

Specifies the interpolation algorithm used when resizing or scaling video frames.

VideoRendererAdjustment

Specifies the types of visual adjustments that can be applied to a video renderer for real-time video processing.

VideoRendererEVRDeinterlaceMode

Specifies the deinterlacing modes available for the Enhanced Video Renderer (EVR). Deinterlacing converts interlaced video (where each frame consists of two fields captured at different times) into progressive video (where each frame contains all lines of a single moment in time).

VideoRendererMode

Specifies the video rendering engine to be used for displaying video frames. The choice of renderer can impact performance, compatibility, and available features.

VideoRendererStretchMode

Specifies how video frames are scaled or stretched to fit the display area of a video renderer. This enumeration controls the aspect ratio preservation and filling behavior.

VideoResizeMode

Specifies the algorithm used for resizing video frames.

VideoStreamType

Defines the type of a video stream, typically used in frame grabber events or when managing multiple video sources. This enumeration helps distinguish between main video, preview, capture, and Picture-in-Picture (PIP) streams.

VideoViewUIEngine

Specifies the UI framework or rendering technology used by a video view component. This enumeration helps the framework adapt its rendering pipeline to different platforms and UI environments.

YouTubeVideoInfoFormat

Specifies the format of a YouTube video stream, indicating the container and codec used.