Class MFHEVCEncoderPage
- Assembly
- VisioForge.Core.dll
Represents a WPF page for configuring Media Foundation HEVC (H.265) encoder settings. This page provides UI controls for setting various HEVC encoding parameters using the Windows Media Foundation framework.
public class MFHEVCEncoderPage : Page, IAnimatable, ISupportInitialize, IFrameworkInputElement, IInputElement, IQueryAmbient, IAddChild, INotifyPropertyChanged, IComponentConnectorInheritance
Implements
Inherited Members
Constructors
MFHEVCEncoderPage()
Initializes a new instance of the VisioForge.Core.UI.WPF.Dialogs.OutputFormats.Pages.MFHEVCEncoderPage class. Sets up the data context and populates the UI control collections with available options.
public MFHEVCEncoderPage()Properties
BFrames
Gets or sets the number of B-frames between reference frames. B-frames improve compression but increase latency. Set to 0 to disable B-frames.
public uint BFrames { get; set; }Property Value
Bitrate
Gets or sets the target bitrate for encoding in kilobits per second. Used when rate control mode is set to bitrate-based modes like CBR or VBR.
public uint Bitrate { get; set; }Property Value
GOPSize
Gets or sets the Group of Pictures (GOP) size. Defines the maximum distance between I-frames (keyframes). A value of -1 uses encoder default.
public int GOPSize { get; set; }Property Value
LowLatency
Gets or sets a value indicating whether low latency mode is enabled. Low latency mode optimizes encoder settings for real-time applications.
public bool LowLatency { get; set; }Property Value
MaxBitrate
Gets or sets the maximum bitrate for encoding in kilobits per second. Used in variable bitrate modes to cap the maximum bitrate.
public uint MaxBitrate { get; set; }Property Value
Profile
Gets or sets the HEVC encoder profile. Profiles define the feature set and compression tools available (Main, Main10, etc.).
public MFHEVCEncoderProfile Profile { get; set; }Property Value
ProfileStr
Gets or sets the encoder profile as a string representation. Used for data binding with UI controls.
public string ProfileStr { get; set; }Property Value
Profiles
Gets or sets the collection of available encoder profiles for UI selection.
public ObservableCollection<string> Profiles { get; set; }Property Value
QP
Gets or sets the quantization parameter for quality-based encoding. Lower values mean higher quality and higher bitrate. Typical range is 0-51.
public double QP { get; set; }Property Value
QPB
Gets or sets the quantization parameter for B-frames. Lower values mean higher quality and higher bitrate. Typical range is 0-51.
public double QPB { get; set; }Property Value
QPI
Gets or sets the quantization parameter for I-frames. Lower values mean higher quality and higher bitrate. Typical range is 0-51.
public double QPI { get; set; }Property Value
QPP
Gets or sets the quantization parameter for P-frames. Lower values mean higher quality and higher bitrate. Typical range is 0-51.
public double QPP { get; set; }Property Value
RateControl
Gets or sets the rate control mode. Determines how the encoder manages bitrate allocation (CBR, VBR, QVBR, etc.).
public MFHEVCEncoderRCMode RateControl { get; set; }Property Value
RateControlModes
Gets or sets the collection of available rate control modes for UI selection.
public ObservableCollection<string> RateControlModes { get; set; }Property Value
RateControlStr
Gets or sets the rate control mode as a string representation. Used for data binding with UI controls.
public string RateControlStr { get; set; }Property Value
Methods
Fill(ref MFHEVCEncoderSettings)
Fills the provided settings object with current UI values. Exports all encoder parameters from the UI controls to the settings object.
public void Fill(ref MFHEVCEncoderSettings settings)Parameters
settingsMFHEVCEncoderSettings-
The Media Foundation HEVC encoder settings object to populate.
GetPageType()
Gets the encoder settings type associated with this page.
public Type GetPageType()Returns
- Type
-
The type of MFHEVCEncoderSettings.
Init(MFHEVCEncoderSettings)
Initializes the page with existing encoder settings. Loads all encoder parameters from the provided settings object into the UI controls.
public void Init(MFHEVCEncoderSettings settings)Parameters
settingsMFHEVCEncoderSettings-
The Media Foundation HEVC encoder settings to load.
InitializeComponent()
InitializeComponent
public void InitializeComponent()SetProperty<T>(ref T, T, string)
Sets the property.
protected bool SetProperty<T>(ref T field, T newValue, string propertyName = null)Parameters
fieldT-
The field.
newValueT-
The new value.
propertyNamestring-
Name of the property.
Returns
- bool
-
trueif successful,falseotherwise.
Type Parameters
T-
Type.
PropertyChanged
Property changed event.
public event PropertyChangedEventHandler PropertyChanged