Class MFHEVCEncoderSettings
Media Foundation HEVC encoder settings. Implements the IHEVCEncoderSettings.
Inherited Members
Namespace: VisioForge.Core.Types.X.VideoEncoders
Assembly: VisioForge.Core.dll
Syntax
public class MFHEVCEncoderSettings : IHEVCEncoderSettings, IVideoEncoder, IMediaBlockSettings, IEncoderTextInfoConstructors
MFHEVCEncoderSettings()
Initializes a new instance of the MFHEVCEncoderSettings class.
Declaration
public MFHEVCEncoderSettings()MFHEVCEncoderSettings(int)
Initializes a new instance of the MFHEVCEncoderSettings class.
Declaration
public MFHEVCEncoderSettings(int id)Parameters
| Type | Name | Description | 
|---|---|---|
| int | id | The device identifier. Use GetDeviceIDs call to list IDs. 0 to use default device. | 
Fields
Name
The name.
Declaration
public static string NameField Value
| Type | Description | 
|---|---|
| string | 
Properties
BFrames
Gets or sets the maximum number of consecutive B frames.
Declaration
public uint BFrames { get; set; }Property Value
| Type | Description | 
|---|---|
| uint | The b frames. | 
Bitrate
Gets or sets the bitrate in (Kbit/s).
Declaration
public uint Bitrate { get; set; }Property Value
| Type | Description | 
|---|---|
| uint | The bitrate. | 
DeviceID
Gets the device identifier. Use GetDeviceIDs call to list IDs.
Declaration
public int DeviceID { get; }Property Value
| Type | Description | 
|---|---|
| int | The device identifier. | 
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).
Declaration
public int GOPSize { get; set; }Property Value
| Type | Description | 
|---|---|
| int | The size of the GOP. | 
LowLatency
Gets or sets a value indicating whether low latency is enabled.
Declaration
public bool LowLatency { get; set; }Property Value
| Type | Description | 
|---|---|
| bool | 
 | 
MaxBitrate
Gets or sets the maximum bitrate applied when rc-mode is "PCVBR" (Kbit/sec).
Declaration
public uint MaxBitrate { get; set; }Property Value
| Type | Description | 
|---|---|
| uint | The maximum bitrate. | 
NumOfReferenceFrames
Gets or sets the number of reference frames.
Declaration
public uint NumOfReferenceFrames { get; set; }Property Value
| Type | Description | 
|---|---|
| uint | The number of reference frames. | 
ParseStream
Gets or sets a value indicating whether to parse the video stream. True by default. Disable it for SRT streaming.
Declaration
public bool ParseStream { get; set; }Property Value
| Type | Description | 
|---|---|
| bool | 
 | 
Profile
Gets or sets the profile.
Declaration
public MFHEVCEncoderProfile Profile { get; set; }Property Value
| Type | Description | 
|---|---|
| MFHEVCEncoderProfile | The profile. | 
QP
Gets or sets the QP applied when rc-mode is "QVBR".
Declaration
public uint QP { get; set; }Property Value
| Type | Description | 
|---|---|
| uint | The QP. | 
QPB
Gets or sets the QP applied to B frames.
Declaration
public uint QPB { get; set; }Property Value
| Type | Description | 
|---|---|
| uint | The QPB. | 
QPI
Gets or sets the QP applied to I frames.
Declaration
public uint QPI { get; set; }Property Value
| Type | Description | 
|---|---|
| uint | The QPI. | 
QPP
Gets or sets the QP applied to P frames.
Declaration
public uint QPP { get; set; }Property Value
| Type | Description | 
|---|---|
| uint | The QPP. | 
QualityVSSpeed
Gets or sets the quality vs speed tradeoff. [0, 33]: low complexity. [34, 66]: medium complexity. [67, 100]: high complexity.
Declaration
public uint QualityVSSpeed { get; set; }Property Value
| Type | Description | 
|---|---|
| uint | The quality vs speed tradeoff. | 
RateControl
Gets or sets the rate control.
Declaration
public MFHEVCEncoderRCMode RateControl { get; set; }Property Value
| Type | Description | 
|---|---|
| MFHEVCEncoderRCMode | The rate control. | 
VBVBufferSize
Gets or sets the size of the VBV buffer. 0 = MFT default.
Declaration
public uint VBVBufferSize { get; set; }Property Value
| Type | Description | 
|---|---|
| uint | The size of the VBV buffer. | 
Methods
CreateBlock()
Creates the block.
Declaration
public MediaBlock CreateBlock()Returns
| Type | Description | 
|---|---|
| MediaBlock | MediaBlock. | 
GetCaps()
Gets the caps.
Declaration
public string GetCaps()Returns
| Type | Description | 
|---|---|
| string | System.String. | 
GetDeviceCache()
Gets the device cache.
Declaration
public static List<Tuple<int, string, string>> GetDeviceCache()Returns
| Type | Description | 
|---|---|
| List<Tuple<int, string, string>> | List<Tuple<System.Int32, System.String, System.String>>. | 
GetDeviceIDs()
Gets the device IDs.
Declaration
public static List<Tuple<int, string>> GetDeviceIDs()Returns
| Type | Description | 
|---|---|
| List<Tuple<int, string>> | int[]. | 
GetEncoderType()
Gets the type of the encoder.
Declaration
public HEVCEncoderType GetEncoderType()Returns
| Type | Description | 
|---|---|
| HEVCEncoderType | HEVCEncoderType. | 
GetParameters()
Gets the parameters as string.
Declaration
public string GetParameters()Returns
| Type | Description | 
|---|---|
| string | System.String. | 
GetProfileList()
Gets the profile list.
Declaration
public static IEnumerable<string> GetProfileList()Returns
| Type | Description | 
|---|---|
| IEnumerable<string> | IEnumerable<System.String>. | 
GetRateControlList()
Gets the rate control mode list.
Declaration
public static IEnumerable<string> GetRateControlList()Returns
| Type | Description | 
|---|---|
| IEnumerable<string> | IEnumerable<System.String>. | 
IsAvailable()
Determines whether this encoder is available.
Declaration
public static bool IsAvailable()Returns
| Type | Description | 
|---|---|
| bool | 
 |