lavu: add Vulkan hwcontext code

Multimedia / FFmpeg - Lynne [lynne.ee] - 4 February 2020 23:19 EST

This commit adds the necessary code to initialize and use a Vulkan device within the hwcontext libavutil framework. Currently direct mapping to VAAPI and DRM frames is functional, and transfers to CUDA and native frames are supported.

Lets hope the future Vulkan video decode extension fits well within this framework.

a88449ffb2 lavu: add Vulkan hwcontext code
configure | 7 +-
doc/APIchanges | 4 +
libavutil/Makefile | 3 +
libavutil/hwcontext.c | 4 +
libavutil/hwcontext.h | 1 +
libavutil/hwcontext_cuda.c | 132 ++
libavutil/hwcontext_internal.h | 1 +
libavutil/hwcontext_vulkan.c | 2825 ++++++++++++++++++++++++++++++++++++++++
libavutil/hwcontext_vulkan.h | 158 +++
libavutil/pixdesc.c | 4 +
libavutil/pixfmt.h | 7 +
11 files changed, 3145 insertions(+), 1 deletion(-)

  • Share