Class NVENCH264EncoderPage
- Assembly
- VisioForge.Core.dll
Represents a WPF page for configuring NVIDIA NVENC H.264 encoder settings. This page provides UI controls for setting various H.264 encoding parameters using NVIDIA's hardware acceleration.
public class NVENCH264EncoderPage : Page, IAnimatable, ISupportInitialize, IFrameworkInputElement, IInputElement, IQueryAmbient, IAddChild, INotifyPropertyChanged, IComponentConnectorInheritance
Implements
Inherited Members
Constructors
NVENCH264EncoderPage()
Initializes a new instance of the VisioForge.Core.UI.WPF.Dialogs.OutputFormats.Pages.NVENCH264EncoderPage class. Sets up the data context and populates the UI control collections with available options.
public NVENCH264EncoderPage()Properties
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
Level
Gets or sets the H.264 encoder level. Levels define constraints on bitrate, resolution, and frame rate.
public NVENCH264Level Level { get; set; }Property Value
LevelStr
Gets or sets the encoder level as a string representation. Used for data binding with UI controls.
public string LevelStr { get; set; }Property Value
Levels
Gets or sets the collection of available encoder levels for UI selection.
public ObservableCollection<string> Levels { 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
MaxQP
Gets or sets the maximum quantization parameter. Limits the lowest quality (highest QP) the encoder can use. A value of -1 uses encoder default.
public double MaxQP { get; set; }Property Value
MinQP
Gets or sets the minimum quantization parameter. Limits the highest quality (lowest QP) the encoder can use. A value of -1 uses encoder default.
public double MinQP { get; set; }Property Value
Preset
Gets or sets the encoder quality preset. Presets provide a balance between encoding speed and quality/compression ratio.
public NVENCPreset Preset { get; set; }Property Value
PresetStr
Gets or sets the encoder preset as a string representation. Used for data binding with UI controls.
public string PresetStr { get; set; }Property Value
Presets
Gets or sets the collection of available encoder presets for UI selection.
public ObservableCollection<string> Presets { get; set; }Property Value
Profile
Gets or sets the H.264 encoder profile. Profiles define the feature set and compression tools available (Baseline, Main, High).
public NVENCH264Profile 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 constant 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
RateControl
Gets or sets the rate control mode. Determines how the encoder manages bitrate allocation (ConstQP, CBR, VBR, etc.).
public NVENCRateControl 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
Usages
Gets or sets the collection of available usage modes for UI selection.
public ObservableCollection<string> Usages { get; set; }Property Value
ZeroLatency
Gets or sets a value indicating whether zero latency mode is enabled. Zero latency mode optimizes encoder for real-time streaming applications.
public bool ZeroLatency { get; set; }Property Value
Methods
Fill(ref NVENCH264EncoderSettings)
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 NVENCH264EncoderSettings settings)Parameters
settingsNVENCH264EncoderSettings-
The NVIDIA NVENC H.264 encoder settings object to populate.
GetPageType()
Gets the encoder settings type associated with this page.
public Type GetPageType()Returns
- Type
-
The type of NVENCH264EncoderSettings.
Init(NVENCH264EncoderSettings)
Initializes the page with existing encoder settings. Loads all encoder parameters from the provided settings object into the UI controls.
public void Init(NVENCH264EncoderSettings settings)Parameters
settingsNVENCH264EncoderSettings-
The NVIDIA NVENC H.264 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