[FFmpeg-user] HEVC decoding

Dennis Mungai dmngaie at gmail.com
Tue Mar 3 22:44:15 EET 2020

On Tue, 3 Mar 2020 at 21:43, Mohammed Bey Ahmed Khernache
<mohbeyinfo at gmail.com> wrote:
> Hello,
> which API or plug-in does ffmpeg use to decode HEVC-coded content?
> Is HEVC-Tiles-based parallelism supported by ffmpeg?
> Best regards

Hello Ahmed,

There's a native (software-based) HEVC decoder in FFmpeg with the
following capabilities:

ffmpeg -h decoder=hevc

Decoder hevc [HEVC (High Efficiency Video Coding)]:
    General capabilities: dr1 delay threads
    Threading capabilities: frame and slice
    Supported hardware devices: cuda vdpau
HEVC decoder AVOptions:
  -apply_defdispwin  <boolean>    .D.V...... Apply default display
window from VUI (default false)
  -strict-displaywin <boolean>    .D.V...... stricly apply default
display window size (default false)

This is the decoder that ffmpeg will fall back on *if* no hwaccel is
specified on launch.
The capabilities for the same are as listed above, including threading

Depending on how your ffmpeg build is configured, there *may* be extra
decode wrappers present, which you can list via:

ffmpeg -decoders | grep hevc

Which, on my machine, returns:

 VFS..D hevc                 HEVC (High Efficiency Video Coding)
 V..... hevc_v4l2m2m         V4L2 mem2mem HEVC decoder wrapper (codec hevc)
 V..... hevc_cuvid           Nvidia CUVID HEVC decoder (codec hevc)

Private options for the same can be viewed via:

ffmpeg -h decoder={wrapper_name}

Where available.

Your mileage will vary based on how your build was configured and the
environment you're on.

Warm regards,


More information about the ffmpeg-user mailing list