Table of Contents

Class HEVCEncoderBlock

Namespace
VisioForge.Core.MediaBlocks.VideoEncoders
Assembly
VisioForge.Core.dll

HEVC/H.265 encoder block for high-efficiency video compression with superior quality-to-bitrate ratio. This block provides advanced HEVC encoding capabilities offering up to 50% better compression efficiency compared to H.264 while maintaining equivalent visual quality. Features hardware acceleration support via NVIDIA NVENC, AMD AMF, and Intel QSV, with advanced encoding options including HDR support, 4K/8K encoding, and sophisticated rate control algorithms. Essential for 4K content delivery, bandwidth-constrained applications, and next-generation video streaming services. Implements the VisioForge.Core.MediaBlocks.MediaBlock. Implements the VisioForge.Core.MediaBlocks.IMediaBlockInternals. Implements the IDisposable.

public class HEVCEncoderBlock : MediaBlock, IMediaBlock, IDisposable, IMediaBlockInternals

Inheritance

Implements

Inherited Members

Extension Methods

Constructors

HEVCEncoderBlock(IHEVCEncoderSettings)

Initializes a new instance of the VisioForge.Core.MediaBlocks.VideoEncoders.HEVCEncoderBlock class with specified HEVC encoder settings.

public HEVCEncoderBlock(IHEVCEncoderSettings settings)

Parameters

settings IHEVCEncoderSettings

The HEVC encoder configuration settings.

HEVCEncoderBlock()

Initializes a new instance of the VisioForge.Core.MediaBlocks.VideoEncoders.HEVCEncoderBlock class with automatically selected optimal encoder settings based on available hardware acceleration.

public HEVCEncoderBlock()

Properties

Input

Gets the input.

public override MediaBlockPad Input { get; }

Property Value

MediaBlockPad

Inputs

Gets the inputs.

public override MediaBlockPad[] Inputs { get; }

Property Value

MediaBlockPad[]

Output

Gets the output.

public override MediaBlockPad Output { get; }

Property Value

MediaBlockPad

Outputs

Gets the outputs.

public override MediaBlockPad[] Outputs { get; }

Property Value

MediaBlockPad[]

Settings

Gets or sets the HEVC encoder settings. Contains comprehensive configuration parameters for HEVC encoding including profile selection, tier levels, bitrate control, and hardware acceleration options.

public IHEVCEncoderSettings Settings { get; set; }

Property Value

IHEVCEncoderSettings

Type

Gets the type.

public override MediaBlockType Type { get; }

Property Value

MediaBlockType

Methods

Build()

Builds this instance.

public override bool Build()

Returns

bool

true if successful, false otherwise.

CleanUp()

Cleans up.

public void CleanUp()

Dispose(bool)

Releases unmanaged and - optionally - managed resources.

protected override void Dispose(bool disposing)

Parameters

disposing bool

true to release both managed and unmanaged resources; false to release only unmanaged resources.

GetCore()

Gets core.

public BaseElement GetCore()

Returns

BaseElement

VisioForge.Core.GStreamer.Base.BaseElement.

GetDefaultSettings()

Gets the optimal default HEVC encoder settings based on available hardware acceleration. Automatically selects the best available hardware encoder. Returns null if no HEVC encoder is available, as HEVC typically requires hardware acceleration for practical performance.

public static IHEVCEncoderSettings GetDefaultSettings()

Returns

IHEVCEncoderSettings

The optimal HEVC encoder settings for the current system, or null if unavailable.

GetElement()

Gets the element.

public Element GetElement()

Returns

Element

Gst.Element.

IsAvailable(IHEVCEncoderSettings)

Determines whether HEVC encoding is available with the specified settings. Checks for required codec libraries and hardware acceleration support.

public static bool IsAvailable(IHEVCEncoderSettings settings)

Parameters

settings IHEVCEncoderSettings

The HEVC encoder settings to validate.

Returns

bool

true if HEVC encoding is available; otherwise, false.

IMediaBlockInternals.SetContext(MediaBlocksPipeline)

Sets the context.

void IMediaBlockInternals.SetContext(MediaBlocksPipeline pipeline)

Parameters

pipeline MediaBlocksPipeline

The pipeline.

See Also