AMD VCE

Supported hardware

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.

Enabling support

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.

Performance

Only video encoding is performed by the hardware encoder. Every stage prior to and after video encoding including decoding, filters, audio/video sync, audio encoding, muxing, etc., is performed by the CPU. As a result, it is normal to have high (even 100%) CPU utilisation during encodes.

It is common, particularly on lower-end hardware, for the CPU to be a bottleneck for the hardware video encoder. To minimize this effect, disable any filters that you do not require.

Advanced options

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.

From HandBrake’s command line interface, use the --encopts parameter as follows:

--encopts="option1=value1:option2=value2"

From HandBrake’s graphical interface, set the options in the Advanced Options field on the Video tab:

option1=value1:option2=value2

Option value types

The following value types are supported (each option only accepts one value type):

Options list

Option Type H.264 H.265 Detail
coder string Coder selection. Values: auto (default), cabac, cavlc.
preanalysis boolean Set to 1 to enable preliminary analysis, 0 to disable (default).
vbaq boolean Set to 1 to enable Variance Based Adaptive Quantization, 0 to disable (default).
enforce_hrd boolean Set to 1 to enforce Hypothetical Reference Decoder, 0 to disable (default).
max_au_size int Maximum Access Unit size for rate control, in bits. Default: 0 (automatic).
me_half_pel boolean Set to 1 to enable half-pixel motion estimation (default), 0 to disable.
me_quarter_pel boolean Set to 1 to enable quarter-pixel motion estimation (default), 0 to disable.
bf_delta_qp int B-Picture Delta QP. The values scale is -1010. Default: 4.
bf_ref boolean Set to 1 to enable Reference B-Frames (default), 0 to disable.
bf_ref_delta_qp int Reference B-Picture Delta QP. The values scale is -1010. Default: 4.
intra_refresh_mb int Number of Intra-Refresh Macroblocks per slot. Default: 0 (automatic).