VCEEnc

May 20, 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 (VCE) of AMD. 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.

VCEEncC.exe … Command line version supporting transcoding.
VCEEnc.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 (VCEEnc.auo)
AviUtl 2.00 beta19 or later (VCEEnc.auo2)
Hardware which supports VCE
AMD GPU Radeon HD 7xxx or later
AMD APU Trinity (2nd Gen) or later
AMD driver 25.10.2 or later

Linux

Debian/Ubuntu (x64)
AMD GPU Radeon RX5xxx (RDNA1) or later
AMD driver 25.20 or later
It may be possible to run on other distributions (not tested).

Usage and options of VCEEncC

Option list and details of VCEEncC

Precautions for using VCEEnc

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

Main usable functions

Common to VCEEnc / VCEEncC

  • Encoding using VCE/VCN
    • H.264/AVC
    • HEVC
    • AV1
  • Each encode mode of VCE
    • CQP (fixed quantization)
    • CBR (Constant bitrate)
    • VBR (Variable bitrate)
  • supports setting of codec profile & level, SAR, colormatrix, maxbitrate, GOP len, etc...

VCEEncC

  • Supports hw decoding
    • H.264 / AVC
    • HEVC
    • MPEG2
    • VP9
    • VC-1
  • Supports various formats such as avs, vpy, y4m, and raw
  • Supports demux/muxing using libavformat
  • Supports decode using libavcodec
  • Parallel encoding supporting multi GPU
  • Calculation of ssim/psnr of the encode
  • High performance filtering (VPP, Video Pre-Processing)
    • GPU filtering by OpenCL
      • deinterlacer
        • afs (Automatic field shift)
        • nnedi
      • colorspace conversion
        • hdr2sdr
      • subburn
      • resize
        • spline16, spline36, spline64
        • lanczos2, lanczos3, lanczos4
      • transpose / rotate / flip
      • padding
      • deband
      • noise reduction
        • knn (K-nearest neighbor)
        • pmd (modified pmd method)
      • edge / detail enhancement
        • unsharp
        • edgelevel (edge ​​level adjustment)
        • warpsharp

VCEEnc.auo (Aviutl plugin)

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

VCEEnc.auo

Supported HW Encode Codecs

GPU ArchGPU GendGPUiGPUVCE/VCN GenH.264HEVCAV1
GCNSouthern/Sea IslandsHD7xxx, RX2xxVCE1, VCE28bit
Volcanic IslandsRX3xxVCE38bit
PolarisRX4xx, RX5xxVCE3.48bit8bit
VegaVegaVCE48bit8bit
VegaRyzenAPU(2xxx-3xxx)VCN18bit8bit
VegaRyzenAPU(4xxx-5xxx)VCN28bit10bit
RDNARDNA1RX5xxxVCN28bit10bit
RDNA2RX6xxx*Zen4 APUVCN38bit10bit
RDNA3RX7xxxVCN48bit10bit10bit
RDNA4RX8xxxVCN58bit10bit10bit
RDNA4RX9xxxVCN58bit10bit10bit
  • RX 6400 and RX 6500 XT not supported, due to lack of HW Encoder on these cards.

Auto GPU selection in multi GPU envinronment

VCEEncC will automatically select a GPU depending on the options used, when there are multiple GPUs available which support VCE/VCN. --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. Prefer GPU which supports...
  • B frame support
  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.

AMD Driver Requirements of previous versions

VCEEncrequired graphics driver version
VCEEnc 3.00 or laterAMD driver 17.1.1 (16.50.2611) or later
VCEEnc 5.00 or laterAMD driver 19.7.1 or later
VCEEnc 5.01 or laterAMD driver 19.12.1 or later
VCEEnc 5.02 or laterAMD driver 20.2.1 or later
VCEEnc 6.09 or laterAMD driver 20.11.2 or later
VCEEnc 6.13 or laterAMD driver 21.6.1 or later
VCEEnc 6.17 or laterAMD driver 21.12.1 or later
VCEEnc 7.00 or laterAMD driver 22.3.1 or later
VCEEnc 7.03 or laterAMD driver 22.7.1 or later
VCEEnc 7.15 or laterAMD driver 22.12.1 or later
VCEEnc 8.07 or laterAMD driver 23.1.2 or later
VCEEnc 8.17 or laterAMD driver 23.5.2 or later
VCEEnc 8.23 or laterAMD driver 24.6.1 or later
VCEEnc 8.24 or laterAMD driver 24.9.1 or later
VCEEnc 8.24 or laterAMD driver 24.9.1 or later
VCEEnc 8.33 or laterAMD driver 25.1.1 or later
VCEEnc 9.02 or laterAMD driver 25.10.2 or later

VCEEnc source code

  • MIT license.
  • This program is based on samples of AMD Media Framework, and contains source code provided by AMD Media Framework. For these licenses, please see the header part of the corresponding source and VCEEnc_license.txt.
  • This software depends on ffmpeg, libplacebo, libhdr10plus, libdovi, tinyxml2, dtl, clRNG, ttmath & Caption2Ass. For these licenses, please see the header part of the corresponding source and VCEEnc_license.txt.

About source code

Windows ... VC build

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