-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vulkan #1
Commits on Oct 27, 2019
-
avutil/hwcontext: Add support for HW -> HW transfers
We are beginning to consider scenarios where a given HW Context may be able to transfer frames to another HW Context without passing via system memory - this would usually be when two contexts represent different APIs on the same device (eg: Vulkan and CUDA). This is modelled as a transfer, as we have today, but where both the src and the dst are hardware frames with hw contexts. We need to be careful to ensure the contexts are compatible - particularly, we cannot do transfers where one of the frames has been mapped via a derived frames context - we can only do transfers for frames that were directly allocated by the specified context. Additionally, as we have two hardware contexts, the transfer function could be implemented by either (or indeed both). To handle this uncertainty, we explicitly look for ENOSYS as an indicator to try the transfer in the other direction before giving up.
Configuration menu - View commit details
-
Copy full SHA for 75ef8d8 - Browse repository at this point
Copy the full SHA 75ef8d8View commit details -
lavu: add Vulkan hwcontext code
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, as well as transfers to CUDA frames and native frames is supported.
Configuration menu - View commit details
-
Copy full SHA for c682e3b - Browse repository at this point
Copy the full SHA c682e3bView commit details -
avfilter/vf_hwupload: Add support for HW -> HW transfers
As we find ourselves wanting a way to transfer frames between HW devices (or more realistically, between APIs on the same device), it's desirable to have a way to describe the relationship. While we could imagine introducing a `hwtransfer` filter, there is almost no difference from `hwupload`. The main new feature we need is a way to specify the target device. Having a single device for the filter chain is obviously insufficient if we're dealing with two devices. So let's add a way to specify the upload target device, and if none is specified, continue with the existing behaviour. We must also correctly preserve the sw_format on such a transfer.
Configuration menu - View commit details
-
Copy full SHA for a0c1ca4 - Browse repository at this point
Copy the full SHA a0c1ca4View commit details -
lavfi: add Vulkan filtering framework
This commit adds a Vulkan filtering infrastructure for libavfilter. It attempts to abstract as much as possible of the Vulkan API from filters.
Configuration menu - View commit details
-
Copy full SHA for 2db5acd - Browse repository at this point
Copy the full SHA 2db5acdView commit details -
lavfi: add an scale_vulkan filter
This commit adds a basic, non-converting Vulkan scaling filter.
Configuration menu - View commit details
-
Copy full SHA for 75d227a - Browse repository at this point
Copy the full SHA 75d227aView commit details -
lavfi: add an overlay_vulkan filter
This commit adds a basic, non-converting overlay filter for Vulkan.
Configuration menu - View commit details
-
Copy full SHA for 19382e1 - Browse repository at this point
Copy the full SHA 19382e1View commit details -
lavfi: add an avgblur_vulkan filter
This commit adds a fast avgblur Vulkan filter. This will reset Intel GPUs on Windows due to a known, year-old driver bug.
Configuration menu - View commit details
-
Copy full SHA for 821079b - Browse repository at this point
Copy the full SHA 821079bView commit details -
lavfi: add an chromaber_vulkan filter
This commit adds a chromatic aberration filter for Vulkan that attempts to emulate a lens chromatic aberration effect. For a YUV frame it will instead shift chroma slightly, providing an approximation to what would otherwise be an accurate emulation.
Configuration menu - View commit details
-
Copy full SHA for 97ea53d - Browse repository at this point
Copy the full SHA 97ea53dView commit details