Table of Contents

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 : BasicVideoSettings

Inheritance

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

bool

AUD

Insert the Access Unit Delimiter NAL. Default is false.

public bool AUD { get; set; }

Property Value

bool

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

int

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

int

AdaptiveB

Adaptive B-frame placement (from -1 to 1). Default is -1.

public int AdaptiveB { get; set; }

Property Value

int

AdaptiveI

Adaptive I-frame placement (from -1 to 1). Default is -1.

public int AdaptiveI { get; set; }

Property Value

int

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

int

BStrategy

Strategy to choose between I/P/B-frames (from -1 to 1). Default is -1.

public int BStrategy { get; set; }

Property Value

int

BitrateLimit

Toggle bitrate limitations (from -1 to 1). Default is -1.

public int BitrateLimit { get; set; }

Property Value

int

CAVLC

Enable CAVLC. Default is false.

public bool CAVLC { get; set; }

Property Value

bool

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

int

ForcedIDR

Forcing I frames as IDR frames. Default is false.

public bool ForcedIDR { get; set; }

Property Value

bool

IDRInterval

Distance (in I-frames) between IDR frames (from 0 to INT_MAX). Default is 0.

public int IDRInterval { get; set; }

Property Value

int

IntRefCycleSize

Number of frames in the intra refresh cycle (from -1 to 65535). Default is -1.

public int IntRefCycleSize { get; set; }

Property Value

int

IntRefQPDelta

QP difference for the refresh MBs (from -32768 to 32767). Default is -32768.

public int IntRefQPDelta { get; set; }

Property Value

int

IntRefType

Intra refresh type (from -1 to 65535). Default is -1.

public int IntRefType { get; set; }

Property Value

int

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

bool

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

int

LookAheadDownsampling

Downscaling factor for the frames saved for the lookahead analysis. Default is Unknown.

public QSVH264LookAheadDownsampling LookAheadDownsampling { get; set; }

Property Value

QSVH264LookAheadDownsampling

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

bool

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

int

MaxDecFrameBuffering

Maximum number of frames buffered in the DPB (from 0 to 65535). Default is 0.

public int MaxDecFrameBuffering { get; set; }

Property Value

int

MaxFrameSize

Maximum encoded frame size in bytes (from -1 to 65535). Default is -1.

public int MaxFrameSize { get; set; }

Property Value

int

MaxSliceSize

Maximum encoded slice size in bytes (from -1 to 65535). Default is -1.

public int MaxSliceSize { get; set; }

Property Value

int

PictureTimingSEI

Insert picture timing SEI with pic_struct_syntax element. Default true.

public bool PictureTimingSEI { get; set; }

Property Value

bool

Preset

Preset quality/speed trade-off (from 1 [veryslow] to 7 [veryfast]). Default is 4 (medium).

public QSVPreset Preset { get; set; }

Property Value

QSVPreset

Profile

Encoder profile.

public QSVH264Profile Profile { get; set; }

Property Value

QSVH264Profile

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

int

RecoveryPointSEI

Insert recovery point SEI messages (from -1 to 1). Default is -1.

public int RecoveryPointSEI { get; set; }

Property Value

int

RepeatPPS

Repeat pps for every frame. Default is false.

public bool RepeatPPS { get; set; }

Property Value

bool

SingleSEINALUUnit

Put all the SEI messages into one NALU (from -1 to 1). Default is -1.

public int SingleSEINALUUnit { get; set; }

Property Value

int

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; }

Property Value

bool