Class VAAPIVC1DecoderBlock
- Namespace
- VisioForge.Core.MediaBlocks.Sources
- Assembly
- VisioForge.Core.dll
VAAPI VC-1 hardware decoder block for Linux systems using Video Acceleration API. This block provides GPU-accelerated VC-1 video decoding through VA-API, enabling efficient playback of Windows Media Video (WMV) and VC-1 encoded content. VC-1 is Microsoft's video codec standard used in WMV9, WMV HD, Blu-ray discs, and Xbox content. Supports Intel, AMD, and NVIDIA GPUs with appropriate VA-API drivers. Features include support for VC-1 Simple, Main, and Advanced profiles, interlaced and progressive content, resolutions up to 1080p, and efficient decoding of WMV files and Blu-ray VC-1 streams. Essential for media players handling Windows Media content, Blu-ray playback applications, video converters, and any Linux application requiring VC-1/WMV9 decoding capability. Implements the VisioForge.Core.MediaBlocks.MediaBlock. Implements the VisioForge.Core.MediaBlocks.IMediaBlockInternals. Implements the IDisposable.
public class VAAPIVC1DecoderBlock : MediaBlock, IMediaBlock, IDisposable, IMediaBlockInternalsInheritance
Implements
Inherited Members
Extension Methods
Constructors
VAAPIVC1DecoderBlock()
Initializes a new instance of the VisioForge.Core.MediaBlocks.Sources.VAAPIVC1DecoderBlock class.
public VAAPIVC1DecoderBlock()Properties
Input
Gets the input.
public override MediaBlockPad Input { get; }Property Value
Inputs
Gets the inputs.
public override MediaBlockPad[] Inputs { get; }Property Value
Output
Gets the output.
public override MediaBlockPad Output { get; }Property Value
Outputs
Gets the outputs.
public override MediaBlockPad[] Outputs { get; }Property Value
Type
Gets the type.
public override MediaBlockType Type { get; }Property Value
Methods
Build()
Constructs and initializes the VAAPI VC-1 decoder and its associated GStreamer elements. This method creates the hardware decoder, establishes input and output pads, and prepares the block for GPU-accelerated VC-1 decoding through the Linux VA-API interface.
public override bool Build()Returns
- bool
-
trueif the decoder was successfully built and configured;falseif initialization failed.
CleanUp()
Releases all resources and performs cleanup operations for this VAAPI VC-1 decoder block. This method disposes of the GStreamer elements and releases VA-API resources.
public void CleanUp()Dispose(bool)
Releases unmanaged and - optionally - managed resources.
protected override void Dispose(bool disposing)Parameters
disposingbool-
trueto release both managed and unmanaged resources;falseto release only unmanaged resources.
GetCore()
Gets the core BaseElement wrapper that provides additional functionality around the GStreamer VAAPI VC-1 decoder element.
public BaseElement GetCore()Returns
- BaseElement
-
The BaseElement wrapper instance that encapsulates the GStreamer VAAPI VC-1 decoder.
GetElement()
Gets the underlying GStreamer element that performs VAAPI VC-1 hardware decoding.
public Element GetElement()Returns
- Element
-
The GStreamer Element instance representing the VAAPI VC-1 decoder.
IsAvailable()
Determines whether this media block is available. Correct NuGet SDK redist should be included into your project.
public static bool IsAvailable()Returns
- bool
-
trueif this media block is available; otherwise,false.
IMediaBlockInternals.SetContext(MediaBlocksPipeline)
Associates this VAAPI VC-1 decoder block with a pipeline and initializes its internal context. This method is called internally when the block is added to a pipeline.
void IMediaBlockInternals.SetContext(MediaBlocksPipeline pipeline)Parameters
pipelineMediaBlocksPipeline-
The MediaBlocksPipeline instance that will manage this block.