Class HEVCEncoderBlock
- 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, IMediaBlockInternalsInheritance
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
settingsIHEVCEncoderSettings-
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
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
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
Type
Gets the type.
public override MediaBlockType Type { get; }Property Value
Methods
Build()
Builds this instance.
public override bool Build()Returns
- bool
-
trueif successful,falseotherwise.
CleanUp()
Cleans up.
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 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
settingsIHEVCEncoderSettings-
The HEVC encoder settings to validate.
Returns
- bool
-
trueif HEVC encoding is available; otherwise,false.
IMediaBlockInternals.SetContext(MediaBlocksPipeline)
Sets the context.
void IMediaBlockInternals.SetContext(MediaBlocksPipeline pipeline)Parameters
pipelineMediaBlocksPipeline-
The pipeline.