Class QSVVP9EncoderPage
- Assembly
- VisioForge.Core.dll
Configuration page for the Intel Quick Sync Video (QSV) VP9 hardware encoder.
public class QSVVP9EncoderPage : Page, IAnimatable, ISupportInitialize, IFrameworkInputElement, IInputElement, IQueryAmbient, IAddChild, INotifyPropertyChanged, IComponentConnectorInheritance
Implements
Inherited Members
Remarks
The QSV VP9 encoder provides hardware-accelerated VP9 video encoding using Intel's integrated graphics. VP9 is an open-source, royalty-free video codec developed by Google that offers comparable compression efficiency to HEVC while avoiding licensing fees. It's widely used for web video and streaming platforms.
Key features of the QSV VP9 encoder: - Hardware acceleration on select Intel processors - Royalty-free codec suitable for web deployment - Excellent compression efficiency similar to HEVC - Multiple rate control modes (CQP, CBR, VBR, ICQ) - Low latency mode for real-time applications - Widely supported by web browsers and streaming platforms
Common use cases: - YouTube and web video streaming - WebRTC video communication - Progressive download video delivery - Applications requiring royalty-free codecs - Cross-platform video distribution
Hardware requirements: - Intel 11th Gen (Tiger Lake) or newer processors with VP9 encoding support - Intel Iris Xe graphics or newer - Intel Media SDK or oneVPL runtime with VP9 support - Updated graphics drivers
Note: This encoder page is partially implemented as QSV VP9 support is relatively new and may have limited availability depending on hardware and driver versions.
Constructors
QSVVP9EncoderPage()
Initializes a new instance of the VisioForge.Core.UI.WPF.Dialogs.OutputFormats.Pages.QSVVP9EncoderPage class. Sets up the UI components and populates rate control options.
public QSVVP9EncoderPage()Properties
Bitrate
Gets or sets the target bitrate for encoding in kilobits per second (Kbps).
public int Bitrate { get; set; }Property Value
GOPSize
Gets or sets the Group of Pictures (GOP) size.
public string GOPSize { get; set; }Property Value
ICQ
Gets or sets the Intelligent Constant Quality (ICQ) level.
public double ICQ { get; set; }Property Value
LowLatency
Gets or sets a value indicating whether low latency mode is enabled.
public bool LowLatency { get; set; }Property Value
MaxBitrate
Gets or sets the maximum bitrate for variable bitrate modes.
public string MaxBitrate { get; set; }Property Value
QPI
Gets or sets the quantization parameter for I-frames (keyframes).
public double QPI { get; set; }Property Value
QPP
Gets or sets the quantization parameter for P-frames (predicted frames).
public double QPP { get; set; }Property Value
RateControl
Gets or sets the rate control mode for encoding.
public QSVVP9EncRateControl RateControl { get; set; }Property Value
RateControlModes
Gets or sets the rate control mode list.
public ObservableCollection<string> RateControlModes { get; set; }Property Value
RateControlStr
Gets or sets the rate control (as string).
public string RateControlStr { get; set; }Property Value
Methods
Fill(ref QSVVP9EncoderSettings)
Fills the provided settings object with values from the UI controls.
public void Fill(ref QSVVP9EncoderSettings settings)Parameters
settingsQSVVP9EncoderSettings-
The settings object to populate. Note: Implementation is currently incomplete.
GetPageType()
Gets the encoder settings type associated with this configuration page.
public Type GetPageType()Returns
- Type
-
The VisioForge.Core.Types.X.VideoEncoders.QSVVP9EncoderSettings type.
Init(QSVVP9EncoderSettings)
Initializes the encoder page with existing settings.
public void Init(QSVVP9EncoderSettings settings)Parameters
settingsQSVVP9EncoderSettings-
The QSV VP9 encoder settings to load. Note: Implementation is currently incomplete.
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