[FFmpeg-devel] [PATCH] dxva2: add AV1 decode support

Hendrik Leppkes h.leppkes at gmail.com
Thu Nov 5 18:09:16 EET 2020


On Thu, Nov 5, 2020 at 4:54 PM Hendrik Leppkes <h.leppkes at gmail.com> wrote:
>
> ---
>  Changelog              |   1 +
>  configure              |   7 +
>  libavcodec/Makefile    |   2 +
>  libavcodec/av1dec.c    |  25 +-
>  libavcodec/dxva2.c     |  10 +-
>  libavcodec/dxva2_av1.c | 504 +++++++++++++++++++++++++++++++++++++++++
>  libavcodec/hwaccels.h  |   3 +
>  libavcodec/version.h   |   2 +-
>  8 files changed, 550 insertions(+), 4 deletions(-)
>  create mode 100644 libavcodec/dxva2_av1.c
>

First of all, I have locally changed the commit message to read
"avcodec/dxva2:" in the topic line, only noticed it looking a bit
weird when I saw it on the ML, apologies.

This was tested and developed on an NVIDIA 30-series card, and
cross-tested against decoding results from dav1d with bit for bit
identical results in every sample I've used so far, including film
grain. On that topic, technically film grain is supposed to be
activated separately and extra surfaces provided, but in testing it
was shown that at least the NVIDIA driver manages film grain
transparently, perhaps by allocating an additional surface layer
internally (which isn't that unheard of). It would be interesting to
see behavior on Intel graphics or future AMD graphics regarding film
grain handling, but I do not have access to that hardware.

Reviews would be appreciated, but as windows-specific hardware code is
hard to review for many, i'll push this after the appropriate grace
period, during which testing with more samples on my end will
continue.

- Hendrik


More information about the ffmpeg-devel mailing list