Draft: vulkan: add h26x encoder elements
Introduction
This work intends to provide support to final specifications allowing to encode media content using Vulkan API. See https://www.khronos.org/blog/khronos-finalizes-vulkan-video-extensions-for-accelerated-h.264-and-h.265-encode?mc_cid=e4afdbcd22&mc_eid=47d3c1b7bb
This MR is now complete and can encode video content in h264 and h265 with I, P and B frames.
It has been tested on both Windows and Linux with compatible drivers to the KHR extensions.
Compatible drivers
-
NVIDIA Beta drivers -
AMD Mesa and Adrenalyn driver for Windows -
Intel ANV driver
How to build it
You need latest VulkanSDK from LunarG > 1.3.274:
- install it through https://www.lunarg.com/vulkan-sdk/
$ meson setup builddir -Dgst-plugins-bad:vulkan-video=enabled
$ ninja -C builddir
Missing features
-
H264 b-frames support. -
H265 b-frames support.
Test
- Need Vulkan SDK >= 1.3.274 and suitable IHV drivers.
Depends in !6676 (merged)
Edited by Stéphane Cerveau