Class H264QSVSettings
- Namespace
- VisioForge.Core.Types.FFMPEGEXE
- Assembly
- VisioForge.Core.dll
H264 Intel Quick Sync Video (QSV) encoder settings. Provides hardware-accelerated H.264/AVC encoding using Intel integrated graphics. Requires Intel processor with Intel HD Graphics, Iris Graphics, or Intel Arc Graphics. Available on Intel 2nd generation Core processors (Sandy Bridge) and newer.
public class H264QSVSettings : BasicVideoSettingsInheritance
Inherited Members
Constructors
H264QSVSettings()
Initializes a new instance of the VisioForge.Core.Types.FFMPEGEXE.H264QSVSettings class.
public H264QSVSettings()Properties
A53CC
Use A53 Closed Captions (if available). Default is true.
public bool A53CC { get; set; }Property Value
AUD
Insert the Access Unit Delimiter NAL. Default is false.
public bool AUD { get; set; }Property Value
AVBRAccuracy
Accuracy of the AVBR (Average Variable Bitrate) rate control (from 0 to INT_MAX). Default is 0. AVBR is Intel's intelligent rate control that maintains specified average bitrate with better quality. Higher values provide more accurate bitrate control but may impact encoding performance. Only effective when using AVBR rate control mode.
public int AVBRAccuracy { get; set; }Property Value
AVBRConvergence
Convergence of the AVBR (Average Variable Bitrate) rate control (from 0 to INT_MAX). Default is 0. Controls how quickly the encoder converges to the target average bitrate. Higher values make the encoder converge faster to the target bitrate. Only effective when using AVBR rate control mode.
public int AVBRConvergence { get; set; }Property Value
AdaptiveB
Adaptive B-frame placement (from -1 to 1). Default is -1.
public int AdaptiveB { get; set; }Property Value
AdaptiveI
Adaptive I-frame placement (from -1 to 1). Default is -1.
public int AdaptiveI { get; set; }Property Value
AsyncDepth
Maximum processing parallelism (from 1 to INT_MAX). Default is 4. Controls the number of asynchronous operations that Intel Media SDK can perform simultaneously. Higher values improve throughput on multi-core systems but increase memory usage. Recommended: 4-16 for optimal balance between performance and resource usage.
public int AsyncDepth { get; set; }Property Value
BStrategy
Strategy to choose between I/P/B-frames (from -1 to 1). Default is -1.
public int BStrategy { get; set; }Property Value
BitrateLimit
Toggle bitrate limitations (from -1 to 1). Default is -1.
public int BitrateLimit { get; set; }Property Value
CAVLC
Enable CAVLC. Default is false.
public bool CAVLC { get; set; }Property Value
ExtBRC
Extended bitrate control (from -1 to 1). Default is -1. Intel's enhanced rate control algorithms for improved quality and bitrate accuracy. Includes advanced features like adaptive quantization and better scene detection. 0 = disabled, 1 = enabled, -1 = auto. Recommended to leave as auto.
public int ExtBRC { get; set; }Property Value
ForcedIDR
Forcing I frames as IDR frames. Default is false.
public bool ForcedIDR { get; set; }Property Value
IDRInterval
Distance (in I-frames) between IDR frames (from 0 to INT_MAX). Default is 0.
public int IDRInterval { get; set; }Property Value
IntRefCycleSize
Number of frames in the intra refresh cycle (from -1 to 65535). Default is -1.
public int IntRefCycleSize { get; set; }Property Value
IntRefQPDelta
QP difference for the refresh MBs (from -32768 to 32767). Default is -32768.
public int IntRefQPDelta { get; set; }Property Value
IntRefType
Intra refresh type (from -1 to 65535). Default is -1.
public int IntRefType { get; set; }Property Value
LookAhead
Use VBR algorithm with look ahead. Default is false. Look Ahead analyzes future frames to make better encoding decisions. Improves quality and bitrate distribution in Variable Bitrate mode. Requires more memory and introduces encoding delay based on LookAheadDepth. Recommended for non-real-time encoding where quality is prioritized.
public bool LookAhead { get; set; }Property Value
LookAheadDepth
Depth of look ahead in number frames (from 0 to 100). Default is 0. Number of frames to analyze ahead for better rate control decisions. Higher values improve quality and bitrate accuracy but increase latency and memory usage. Typical values: 10-40 frames. Maximum effectiveness usually achieved around 25-40 frames. Only used when LookAhead is enabled.
public int LookAheadDepth { get; set; }Property Value
LookAheadDownsampling
Downscaling factor for the frames saved for the lookahead analysis. Default is Unknown.
public QSVH264LookAheadDownsampling LookAheadDownsampling { get; set; }Property Value
LowPower
Enable low power mode (experimental with many limitations). Default is false. Uses Intel's fixed-function encoding pipeline for reduced power consumption. Available on Intel 6th generation Core processors (Skylake) and newer. Provides faster encoding and lower power usage but with reduced feature set and quality options. Not recommended for professional use cases requiring maximum quality.
public bool LowPower { get; set; }Property Value
MBBRC
Macroblock level bitrate control (from -1 to 1). Default is -1. MBBRC allows more precise bitrate allocation at the macroblock level. Improves quality in scenes with mixed complexity by better distributing bits. 0 = disabled, 1 = enabled, -1 = auto (recommended for most use cases).
public int MBBRC { get; set; }Property Value
MaxDecFrameBuffering
Maximum number of frames buffered in the DPB (from 0 to 65535). Default is 0.
public int MaxDecFrameBuffering { get; set; }Property Value
MaxFrameSize
Maximum encoded frame size in bytes (from -1 to 65535). Default is -1.
public int MaxFrameSize { get; set; }Property Value
MaxSliceSize
Maximum encoded slice size in bytes (from -1 to 65535). Default is -1.
public int MaxSliceSize { get; set; }Property Value
PictureTimingSEI
Insert picture timing SEI with pic_struct_syntax element. Default true.
public bool PictureTimingSEI { get; set; }Property Value
Preset
Preset quality/speed trade-off (from 1 [veryslow] to 7 [veryfast]). Default is 4 (medium).
public QSVPreset Preset { get; set; }Property Value
Profile
Encoder profile.
public QSVH264Profile Profile { get; set; }Property Value
RDO
Enable rate distortion optimization (from -1 to 1). Default is -1. RDO improves compression efficiency by optimizing coding decisions based on rate-distortion cost. 0 = disabled (faster encoding), 1 = enabled (better quality), -1 = auto (driver decides). Enabling RDO increases encoding time but improves visual quality at same bitrate.
public int RDO { get; set; }Property Value
RecoveryPointSEI
Insert recovery point SEI messages (from -1 to 1). Default is -1.
public int RecoveryPointSEI { get; set; }Property Value
RepeatPPS
Repeat pps for every frame. Default is false.
public bool RepeatPPS { get; set; }Property Value
SingleSEINALUUnit
Put all the SEI messages into one NALU (from -1 to 1). Default is -1.
public int SingleSEINALUUnit { get; set; }Property Value
VCM
Use the video conferencing mode ratecontrol. Default is false. VCM (Video Conferencing Mode) optimizes for low latency and consistent quality. Prioritizes stable framerate and quick adaptation to scene changes. Ideal for real-time communication applications like video calls and live streaming. May sacrifice some compression efficiency for reduced latency.
public bool VCM { get; set; }