Table of Contents

Class MFHEVCEncoderSettings

Namespace
VisioForge.Core.Types.X.VideoEncoders
Assembly
VisioForge.Core.dll

Media Foundation HEVC encoder settings. Implements the VisioForge.Core.Types.X.VideoEncoders.IHEVCEncoderSettings.

public class MFHEVCEncoderSettings : IHEVCEncoderSettings, IVideoEncoder, IMediaBlockSettings, IEncoderTextInfo

Inheritance

Implements

Inherited Members

Constructors

MFHEVCEncoderSettings(int)

Initializes a new instance of the VisioForge.Core.Types.X.VideoEncoders.MFHEVCEncoderSettings class.

public MFHEVCEncoderSettings(int id)

Parameters

id int

The device identifier. Use GetDeviceIDs call to list IDs. 0 to use default device.

MFHEVCEncoderSettings()

Initializes a new instance of the VisioForge.Core.Types.X.VideoEncoders.MFHEVCEncoderSettings class.

public MFHEVCEncoderSettings()

Fields

Name

The name.

public const string Name = "MF HEVC"

Field Value

string

Properties

BFrames

Gets or sets the maximum number of consecutive B frames.

public uint BFrames { get; set; }

Property Value

uint

Bitrate

Gets or sets the bitrate in (Kbit/s).

public uint Bitrate { get; set; }

Property Value

uint

DeviceID

Gets the device identifier. Use GetDeviceIDs call to list IDs.

public int DeviceID { get; }

Property Value

int

GOPSize

Gets or sets the size of the GOP. It's the number of pictures from one GOP header to the next. Depending on GPU vendor implementation, zero gop-size might produce only one keyframe at the beginning (-1 for automatic).

public int GOPSize { get; set; }

Property Value

int

HEVCParseInferTimestamps

Gets or sets h265parse infer-ts setting. Null means use GStreamer default.

public bool? HEVCParseInferTimestamps { get; set; }

Property Value

bool?

HEVCParsePtsInterpolation

Gets or sets h265parse pts-interpolation setting. Null means use GStreamer default.

public bool? HEVCParsePtsInterpolation { get; set; }

Property Value

bool?

LowLatency

Gets or sets a value indicating whether low latency is enabled.

public bool LowLatency { get; set; }

Property Value

bool

MaxBitrate

Gets or sets the maximum bitrate applied when rc-mode is "PCVBR" (Kbit/sec).

public uint MaxBitrate { get; set; }

Property Value

uint

NumOfReferenceFrames

Gets or sets the number of reference frames.

public uint NumOfReferenceFrames { get; set; }

Property Value

uint

ParseStream

Gets or sets a value indicating whether to parse the video stream. True by default. Disable it for SRT streaming.

public bool ParseStream { get; set; }

Property Value

bool

Profile

Gets or sets the profile.

public MFHEVCEncoderProfile Profile { get; set; }

Property Value

MFHEVCEncoderProfile

QP

Gets or sets the QP applied when rc-mode is "QVBR".

public uint QP { get; set; }

Property Value

uint

QPB

Gets or sets the QP applied to B frames.

public uint QPB { get; set; }

Property Value

uint

QPI

Gets or sets the QP applied to I frames.

public uint QPI { get; set; }

Property Value

uint

QPP

Gets or sets the QP applied to P frames.

public uint QPP { get; set; }

Property Value

uint

QualityVSSpeed

Gets or sets the quality vs speed tradeoff. [0, 33]: low complexity. [34, 66]: medium complexity. [67, 100]: high complexity.

public uint QualityVSSpeed { get; set; }

Property Value

uint

RateControl

Gets or sets the rate control.

public MFHEVCEncoderRCMode RateControl { get; set; }

Property Value

MFHEVCEncoderRCMode

VBVBufferSize

Gets or sets the size of the VBV buffer. 0 = MFT default.

public uint VBVBufferSize { get; set; }

Property Value

uint

Methods

CreateBlock()

Creates the block.

public MediaBlock CreateBlock()

Returns

MediaBlock

MediaBlock.

GetCaps()

Gets the caps.

public string GetCaps()

Returns

string

System.String.

GetDeviceCache()

Gets a snapshot of the device cache. Triggers enumeration on first access. Returns a fresh list copy so callers cannot mutate the shared cache.

public static List<Tuple<int, string, string>> GetDeviceCache()

Returns

List<Tuple<int, string, string>>

List<Tuple<System.Int32, System.String, System.String>>.

GetDeviceIDs()

Gets the device IDs.

public static List<Tuple<int, string>> GetDeviceIDs()

Returns

List<Tuple<int, string>>

int[].

GetEncoderType()

Gets the type of the encoder.

public HEVCEncoderType GetEncoderType()

Returns

HEVCEncoderType

HEVCEncoderType.

GetParameters()

Gets the parameters as string.

public string GetParameters()

Returns

string

System.String.

GetProfileList()

Gets the profile list.

public static IEnumerable<string> GetProfileList()

Returns

IEnumerable<string>

IEnumerable<System.String>.

GetRateControlList()

Gets the rate control mode list.

public static IEnumerable<string> GetRateControlList()

Returns

IEnumerable<string>

IEnumerable<System.String>.

IsAvailable()

Determines whether this encoder is available.

public static bool IsAvailable()

Returns

bool

true if this encoder is available; otherwise, false.

See Also