5.7 KiB
Raw Blame History

Type, Title, Project, Project_URL, Project_Version, Language, Language_Code, Authors, Copyright, License, License_Abbr, License_URL
Type Title Project Project_URL Project_Version Language Language_Code Authors Copyright License License_Abbr License_URL
article AMD VCN HandBrake https://handbrake.fr/ Latest English en
Bradley Sepos <bradley@bradleysepos.com> (BradleyS)
Scott (s55)
2023 HandBrake Team Creative Commons Attribution-ShareAlike 4.0 International CC BY-SA 4.0 https://handbrake.fr/docs/license.html

AMD VCN

Supported Hardware and Configurations

  • AMD Radeon RX5000 (RDNA), RX6000 (RDNA2), RX7000 (RDNA3) series GPU or better
  • Windows 10 or later
  • Limited support is available on Ubuntu 20.04 and later.

Please note, these are not hard limits. Hardware encoding via VCN 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 22.40 or later is required to use the VCN encoder. Install using the amdgpu-pro-install script according to AMDs installation guide. Additionally, you must manually install the amf-amdgpu-pro package included in the download.

Enabling support

Support for the AMD VCN encoder is enabled in preferences on the video tab. If your system is not supported, the option will be disabled.

Presets

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.

Known Limitations

  • The AV1 encoder that ships with Navi 3.x products requires a resolution that is divisible by 64 in both width and height. Becareful that the output resolution after cropping follows this rule.

Performance

HandBrake supports the AMD VCN hardware encoder but does NOT support the hardware decoder.

The CPU will still be used for:

  • Video decoding
  • All video filters
  • Audio encoding
  • HandBrake's engine, A/V sync etc
  • Subtitles
  • Muxing

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 VCN.

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.

Advanced options

The AMD VCN 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 HandBrakes graphical interface, you can set the options in the Advanced Options field on the Video tab in the following format:

option1=value1:option2=value2

If using HandBrakes command line interface, use the --encopts parameter as follows:

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

Option value types

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

  • integer
    A number that can be written without a fractional or decimal component.

  • boolean
    0 means off (or disabled).
    1 means on (or enabled).

  • string
    An alphanumeric string of characters. See the options comments for acceptable values.

Options list

Option Type H.264 H.265 Detail
usage string Options: transcoding, ultralowlatency, lowlatency, webcam
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).
header_insertion_mode string Options: none, gop, idr
gops_per_idr int GOPs per IDR 0-no IDR will be inserted