Vulkan/OpenCL support, libs updated, minor fix for build errors in certain configurations #250
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I have updated libs, made some minor fixes and included Vulkan and OpenCL libraries for more hardware acceleration options. Both Vulkan and OpenCL load the driver dynamically at runtime when needed, so FFmpeg can be build and used with Vulkan and OpenCL support compiled in when no supported hardware is available. Verified that no additional dependencies to shared libraries were created.
I also updated the README and added OpenCL/Vulkan to the acceleration list
Vulkan
Added support for Vulkan, can be used for video encode/decode as well as filters for GPU acceleration. Custom codecs can be implemented using shaders (currently FFV1 and ProRes RAW, more to come in next FFmpeg release). For the shader code a shader compiler library is also needed, which is also statically linked in.
Also enabled on macOS, as FFmpeg will use MoltenVK (it is explicitly looking for it), but not all features are supported.
OpenCL
Added support for OpenCL, used by filters for GPU acceleration. Not enabled on macOS, as Apple discontinued support for OpenCL.
Updates libraries
Mostly bug fix updates, svt-av1 having some speed/quality optimizations, libwebp also got some optimizations:
Fixes
Changes in build script