QSVEnc

May 15, 2026 · View on GitHub

by rigaya

Build Windows Releases Build Linux Packages

日本語版はこちら>>

This software is meant to investigate performance and image quality of HW encoder (QSV) of Intel. There are 2 types of software developed, one is command line version that runs independently, and the nother is a output plug-in of Aviutl.

  • QSVEncC.exe ... Command line version supporting transcoding.
  • QSVEnc.auo ... Output plugin for Aviutl.

Downloads & update history

rigayaの日記兼メモ帳>>
github releases

Install

Install instructions for Windows and Linux

Build

Build instructions for Windows and Linux

System Requirements

Windows

Windows 10/11 (x86/x64)
AviUtl 1.00/1.10 (QSVEnc.auo)
AviUtl 2.00 beta19 or later (QSVEnc.auo2)

Linux

Debian/Ubuntu (QSVEncC)
Fedora (QSVEncC)
Requires Broadwell CPU or later.
It may be possible to run on other distributions (not tested).

Precautions for using QSVEnc

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.

Usage and options of QSVEncC

Option list and details of QSVEncC

Major Features

Common to QSVEnc.auo / QSVEncC

  • Encoding using QuickSyncVideo
    • H.264/AVC
    • H.265/HEVC (8bit/10bit)
    • MPEG2
    • VP9 (8bit/10bit)
    • AV1 (8bit/10bit)
  • Encode mode of QuickSyncVideo
    • CQP (Fixed Quantization)
    • CBR (Constant bitrate)
    • VBR (Variable bitrate)
    • AVBR (Adaptive Variable bitrate)
    • QVBR (Quality based Variable bitrate)
    • LA (Lookahead mode)
    • LA-HRD (HRD compatible Lookahead mode)
    • ICQ (Constant Quality)
    • LA-ICQ (Constant Quality with Lookahead)
    • VCM (Video Conference mode)
  • Quality preset of 7 steps
  • Interlaced encoding (by PAFF)
  • Supports setting of codec profile & level, SAR, colormatrix, maxbitrate, GOP len, etc...
  • Parallel encoding supporting multi GPU
  • Calculation of ssim/psnr of the encode
  • Supports various vpp(video pre-processing) filters
    • MFX (Media Fixed function) filters
      • resize
      • deinterlace (normal / bob / it)
      • detail enhancement
      • denoise
      • image stablizier
    • OpenCL filters
      • deinterlacer
        • afs (Automatic field shift)
        • nnedi
      • decimate
      • mpdecimate
      • colorspace conversion
      • delogo
      • subburn
      • resize
        • bilinear
        • spline16, spline36, spline64
        • lanczos2, lanczos3, lanczos4
        • libplacebo
      • transpose / rotate / flip
      • padding
      • deband
      • noise reduction
        • knn (K-nearest neighbor)
        • pmd (modified pmd method)
      • edge / detail enhancement
        • unsharp
        • edgelevel (edge ​​level adjustment)
        • warpsharp
        • maa (masked anti-aliasing)

QSVEncC

  • Supports QSV(hw) decoding
    • MPEG2
    • H.264/AVC
    • HEVC
    • VP8
    • VP9
    • AV1
  • Supports various formats such as avs, vpy, y4m, and raw
  • Supports demux/muxing using libavformat
  • Supports decode using libavcodec

QSVEnc.auo (Aviutl plugin)

  • Audio encoding
  • Mux audio and chapter
  • afs (Automatic field shift) support

QSVEnc.auo

Supported Features

This depends on the version of QSVEnc, the generation of the GPU, and also the GPU driver.

CPU GenGPU GenWindowsLinux
SandyBridgeGen6i5 2410M
IvyBridgeGen7
HaswellGen7.5i3 4170 i7 4610Y
BroadwellGen8i7 5500Ui7 5500U
SkyLakeGen9
KabyLakeGen9.5i5 7500i7 7700K i7 7500
CoffeeLakeGen9.5
CommetLakeGen9.5
CannonlakeGen10
IceLakeGen11i5 1035G7i5 1035G7
TigerLakeGen12
RocketLakeGen12i7 11700Ki7 11700K
AlderLakeGen12i9 12900K i3 N305i9 12900K i3 N305
ArrowLakeGen12.74u5 245K
AlchemistDG2(ACM)Arc A380Arc A380 Arc A310
BattlemageBMGArc A580

Supported HW Encoder (@ Windows OS)

CPU GenGPU GenMPEG2H.264 PGH.264 FFHEVC PGHEVC FFVP9 FFAV1 FF
SandyBridgeGen68bit8bit
IvyBridgeGen78bit8bit
HaswellGen7.58bit8bit
BroadwellGen88bit8bit
SkyLakeGen98bit8bit8bit
KabyLakeGen9.58bit8bit8bit10bit
CoffeeLakeGen9.58bit8bit8bit10bit
CommetLakeGen9.58bit8bit8bit10bit
CannonLakeGen10-------
IceLakeGen118bit8bit8bit10bit10bit10bit
TigerLakeGen128bit8bit8bit10bit10bit10bit
RocketLakeGen128bit8bit8bit10bit10bit10bit
AlderLakeGen128bit8bit8bit10bit10bit10bit
ArrowLakeGen12.748bit10bit10bit10bit
AlchemistDG2(ACM)8bit10bit10bit10bit
BattlemageBMG8bit10bit10bit10bit

Supported HW Decoder

CPU GenGPU GenMPEG2H.264HEVCVP8VP9AV1
SandyBridgeGen68bit8bit
IvyBridgeGen78bit8bit
HaswellGen7.58bit8bit
BroadwellGen88bit8bit8bit
SkyLakeGen98bit8bit8bit8bit
KabyLakeGen9.58bit8bit10bit8bit8bit
CoffeeLakeGen9.58bit8bit10bit8bit8bit
CommetLakeGen9.58bit8bit10bit8bit8bit
CannonLakeGen10------
IceLakeGen118bit8bit10bit8bit10bit
TigerLakeGen128bit8bit12bit12bit10bit
RocketLakeGen128bit8bit12bit12bit10bit
AlderLakeGen128bit8bit12bit12bit10bit
ArrowLakeGen12.748bit8bit12bit12bit12bit
AlchemistDG2(ACM)8bit8bit12bit12bit12bit
BattlemageBMG8bit8bit12bit12bit12bit

Auto GPU selection in multi GPU envinronment (Windows Only)

QSVEncC will automatically select a GPU depending on the options used, when there are multiple GPUs available which support QSV. --device option can be used to specify on which GPU to run manually.

  1. Select GPU which supports...
    Items below will be checked whether the GPU supports it or not
  • Codec, Profile, Level
  • Additionally, below items will be checked if specified
    • 10bit depth encoding
    • HW decode
  1. If there are multiple GPUs which suports all the items checked in 1. and 2., GPU below will be prefered.
  • GPU which has low Video Engine(VE) utilization
  • GPU which has low GPU core utilization

The purpose of selecting GPU with lower VE/GPU ulitization is to assign tasks to mulitple GPUs and improve the throughput of the tasks.

Please note that VE and GPU ulitization are check at the initialization pahse of the app, and there are delays in values taken. Therefore, it is likely that the multiple tasks started at the same time to run on the same GPU, and divided into multiple GPUs, even if the options are supported in every GPUs.

QSVEnc source code

About source code

Windows ... VC build
Linux ... makefile + gcc/clang build

Character code: UTF-8-BOM
Line feed: CRLF
Indent: blank x4