Lynne's compiled musings

24-07-25

Vulkan Video encoding

The Vulkan encoding patchset for FFmpeg has finally enough features and functionality to be sent for merging into the codebase. A lot of changes took place in the codebase, from the upload/download path being completely rewritten, which boosted performance by two-fold, an extended queue familiy API to support future extensions, preliminary optical flow and shader object support, and many fixes and optimizations.

Those looking to build and test ahead of the patchset being merged can pull from my repository and run:

./configure --enable-vulkan && make
./ffmpeg_g -init_hw_device vulkan -i <input> -vf format=nv12,hwupload -c:v h264_vulkan -y <output>

As the encoding API is abstracted, existing users of FFmpeg, such as mpv and OBS can rapidly adopt the Vulkan encoding API, letting us and the entire ecosystem benefit from testing.

 ·  vulkan  ·  CC-BY logo