Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-06-04hwcontext_vulkan: fix make checkheaders failJun Zhao
make checkheaders will get error as follow: CC libavutil/hwcontext_vulkan.h.o In file included from libavutil/hwcontext_vulkan.h.c:1: ./libavutil/hwcontext_vulkan.h:130:23: error: ‘AV_NUM_DATA_POINTERS’ undeclared here (not in a function) 130 | void *alloc_pnext[AV_NUM_DATA_POINTERS]; | ^~~~~~~~~~~~~~~~~~~~ ./libavutil/hwcontext_vulkan.h:199:43: warning: ‘enum AVPixelFormat’ declared inside parameter list will not be visible outside of this definition or declaration Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-05-26hwcontext_vulkan: use host mapped buffers when uploading and downloadingLynne
Speeds up both use cases by 30%.
2020-05-23hwcontext_vulkan: do not OR the user-specified usage with our default flagsLynne
Some users may need special formats that aren't available when the STORAGE flag bit is set, which would result in allocations failing.
2020-05-23hwcontext_vulkan: improve public header documentationLynne
Some things like using ImageLists were from a really old version that still used multiplanar images.
2020-05-23hwcontext_vulkan: expose the enabled device featuresLynne
With this, the puzzle of making libplacebo, ffmpeg and any other Vulkan API users interoperable is complete. Users of both libraries can initialize one another's contexts without having to create a new one.
2020-05-23hwcontext_vulkan: expose the amount of queues for each queue familyLynne
This, along with the next patch, are the last missing pieces to being interoperable with libplacebo.
2020-05-12Revert "hwcontext_vulkan: only use one semaphore per image"Lynne
This reverts commit 97b526c192add6f252b327245fd9223546867352. It broke the API, and assumed no other APIs used multiple semaphores. This also disallowed certain optimizations to happen. Dealing with APIs that give or expect single semaphores is easier when we use per-image semaphores.
2020-05-11hwcontext_vulkan: create all images with concurrent sharing modeLynne
As it turns out, we were already assuming and treating all images as if they had concurrent access mode. This just changes the flag to CONCURRENT, which has less restrictions than EXCLUSIVE, and fixed validation messages on machines with multiple queues. The validation layer didn't pick this up because the machine I was testing on had only a single queue.
2020-05-11hwcontext_vulkan: expose enabled device and instance extensionsLynne
This solves a huge oversight - it lets users reliably use their own AVVulkanDeviceContext. Otherwise, the extensions supplied and enabled are not discoverable by anything outside of hwcontext_vulkan. Also clarifies that any user-supplied VkInstance must be at least 1.1.
2020-04-07hwcontext_vulkan: only use one semaphore per imageLynne
The idea was to allow separate planes to be filtered independently, however, in hindsight, literaly nothing uses separate per-plane semaphores and it would only work when each plane is backed by separate device memory.
2020-02-05lavu: add Vulkan hwcontext codeLynne
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.