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, IEncoderTextInfo
Constructors
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 Name
Field 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 |
|