Class MFH264EncoderSettings
Media Foundation H264 encoder settings. Implements the IH264EncoderSettings.
Inherited Members
Namespace: VisioForge.Core.Types.X.VideoEncoders
Assembly: VisioForge.Core.dll
Syntax
public class MFH264EncoderSettings : IH264EncoderSettings, IVideoEncoder
Constructors
MFH264EncoderSettings(Int32)
Initializes a new instance of the MFH264EncoderSettings class.
Declaration
public MFH264EncoderSettings(int id = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | id | The device identifier. Use GetDeviceIDs call to list IDs. 0 to use default device. |
Properties
BFrames
Gets or sets the maximum number of consecutive B frames.
Declaration
public uint BFrames { get; set; }
Property Value
| Type | Description |
|---|---|
| UInt32 | The b frames. |
Bitrate
Gets or sets the bitrate in (Kbit/s).
Declaration
public uint Bitrate { get; set; }
Property Value
| Type | Description |
|---|---|
| UInt32 | The bitrate. |
CABAC
Gets or sets a value indicating whether CABAC entropy coding is enabled.
Declaration
public bool CABAC { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
|
DeviceID
Gets the device identifier. Use GetDeviceIDs call to list IDs.
Declaration
public int DeviceID { get; }
Property Value
| Type | Description |
|---|---|
| Int32 | 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 |
|---|---|
| Int32 | The size of the GOP. |
Level
Gets or sets the level.
Declaration
public MFH264EncoderLevel Level { get; set; }
Property Value
| Type | Description |
|---|---|
| MFH264EncoderLevel | The level. |
LowLatency
Gets or sets a value indicating whether low latency is enabled.
Declaration
public bool LowLatency { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
|
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 |
|---|---|
| UInt32 | The maximum bitrate. |
NumOfReferenceFrames
Gets or sets the number of reference frames.
Declaration
public uint NumOfReferenceFrames { get; set; }
Property Value
| Type | Description |
|---|---|
| UInt32 | The number of reference frames. |
Profile
Gets or sets the profile.
Declaration
public MFH264EncoderProfile Profile { get; set; }
Property Value
| Type | Description |
|---|---|
| MFH264EncoderProfile | The profile. |
QP
Gets or sets the QP applied when rc-mode is "QVBR".
Declaration
public uint QP { get; set; }
Property Value
| Type | Description |
|---|---|
| UInt32 | The QP. |
QPB
Gets or sets the QP applied to B frames.
Declaration
public uint QPB { get; set; }
Property Value
| Type | Description |
|---|---|
| UInt32 | The QPB. |
QPI
Gets or sets the QP applied to I frames.
Declaration
public uint QPI { get; set; }
Property Value
| Type | Description |
|---|---|
| UInt32 | The QPI. |
QPP
Gets or sets the QP applied to P frames.
Declaration
public uint QPP { get; set; }
Property Value
| Type | Description |
|---|---|
| UInt32 | 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 |
|---|---|
| UInt32 | The quality vs speed tradeoff. |
RateControl
Gets or sets the rate control mode.
Declaration
public MFH264EncoderRCMode RateControl { get; set; }
Property Value
| Type | Description |
|---|---|
| MFH264EncoderRCMode | The RC mode. |
VBVBufferSize
Gets or sets the size of the VBV buffer. 0 = MFT default.
Declaration
public uint VBVBufferSize { get; set; }
Property Value
| Type | Description |
|---|---|
| UInt32 | The size of the VBV buffer. |
Methods
GetDeviceCache()
Gets the device cache.
Declaration
public static List<Tuple<int, string, string>> GetDeviceCache()
Returns
| Type | Description |
|---|---|
| List<Tuple<Int32, 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<Int32, String>> | int[]. |
GetEncoderType()
Gets the type of the encoder.
Declaration
public H264EncoderType GetEncoderType()
Returns
| Type | Description |
|---|---|
| H264EncoderType | H264EncoderType. |
GetLevelList()
Gets the level list.
Declaration
public static IEnumerable<string> GetLevelList()
Returns
| Type | Description |
|---|---|
| IEnumerable<String> | IEnumerable<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 instance is available.
Declaration
public static bool IsAvailable()
Returns
| Type | Description |
|---|---|
| Boolean |
|