Supported Hardware and Configurations
- AMD Radeon RX5000 (RDNA) and RX6000 (RDNA2) series GPU or better
- Ubuntu Linux 20.04 or later
- Windows 10
Please note, these are not hard limits. Hardware encoding via VCE might work on older series GPUs and older operating systems, but this is not officially supported.
On Ubuntu Linux, AMD Radeon Software for Linux version 19.20 or later is required to use the VCE encoder. Install using the
amdgpu-pro-install script according to AMD’s installation guide. Additionally, you must manually install the
amf-amdgpu-pro package included in the download.
Support for the AMD VCE encoder is enabled in preferences on the video tab. If your system is not supported, the option will be disabled.
The following presets are available under the ‘Hardware’ category in the presets menu:
- H.265 VCN 2160P 4K
- H.265 VCN 1080p
These are a good starting point for configuring HandBrake to use these encoders.
HandBrake supports the AMD VCE encoder but does not support the VCN decoder.
The CPU will still be used for:
- Video decoding
- All video filters
- Audio encoding
- HandBrake’s engine, A/V sync etc
These operations all happen in parallel as the job progresses. As such, it is normal to see high (or even 100%) CPU utilisation even when using VCE.
It is also common, particularly on lower-end or older hardware, for the CPU to be a bottleneck which will cause lower than expected performance. To minimize this effect, disable any filters that you do not require.
The AMD VCE hardware encoder has a limited set of advanced encoder options. Generally speaking, it is not recommended to change these parameters, as the built-in presets offer a good range of options for common uses.
If using HandBrake’s graphical interface, you can set the options in the
Advanced Options field on the
Video tab in the following format:
If using HandBrake’s command line interface, use the
--encopts parameter as follows:
Option value types
The following value types are supported (each option only accepts one value type):
A number that can be written without a fractional or decimal component.
0 means off (or disabled).
1 means on (or enabled).
An alphanumeric string of characters. See the option’s comments for acceptable values.
|coder||string||✓|| Coder selection. Values:
|preanalysis||boolean||✓||✓|| Set to
|vbaq||boolean||✓||✓|| Set to
|enforce_hrd||boolean||✓||✓|| Set to
|max_au_size||int||✓||✓|| Maximum Access Unit size for rate control, in bits. Default:
|me_half_pel||boolean||✓||✓|| Set to
|me_quarter_pel||boolean||✓||✓|| Set to
|bf_delta_qp||int||✓|| B-Picture Delta QP. The values scale is
|bf_ref||boolean||✓|| Set to
|bf_ref_delta_qp||int||✓|| Reference B-Picture Delta QP. The values scale is
|intra_refresh_mb||int||✓|| Number of Intra-Refresh Macroblocks per slot. Default: