FFmpeg
|
#include <hwcontext_vulkan.h>
Data Fields | |
VkImage | img [AV_NUM_DATA_POINTERS] |
Vulkan images to which the memory is bound to. More... | |
VkImageTiling | tiling |
Tiling for the frame. More... | |
VkDeviceMemory | mem [AV_NUM_DATA_POINTERS] |
Memory backing the images. More... | |
size_t | size [AV_NUM_DATA_POINTERS] |
VkMemoryPropertyFlagBits | flags |
OR'd flags for all memory allocated. More... | |
VkAccessFlagBits | access [AV_NUM_DATA_POINTERS] |
Updated after every barrier. More... | |
VkImageLayout | layout [AV_NUM_DATA_POINTERS] |
VkSemaphore | sem [AV_NUM_DATA_POINTERS] |
Synchronization timeline semaphores, one for each VkImage. More... | |
uint64_t | sem_value [AV_NUM_DATA_POINTERS] |
Up to date semaphore value at which each image becomes accessible. More... | |
struct AVVkFrameInternal * | internal |
Internal data. More... | |
ptrdiff_t | offset [AV_NUM_DATA_POINTERS] |
Describes the binding offset of each image to the VkDeviceMemory. More... | |
uint32_t | queue_family [AV_NUM_DATA_POINTERS] |
Queue family of the images. More... | |
Definition at line 265 of file hwcontext_vulkan.h.
VkImage AVVkFrame::img[AV_NUM_DATA_POINTERS] |
Vulkan images to which the memory is bound to.
May be one for multiplane formats, or multiple.
Definition at line 270 of file hwcontext_vulkan.h.
Referenced by ff_vk_create_imageviews(), ff_vk_decode_frame(), and ff_vk_frame_barrier().
VkImageTiling AVVkFrame::tiling |
Tiling for the frame.
Definition at line 275 of file hwcontext_vulkan.h.
VkDeviceMemory AVVkFrame::mem[AV_NUM_DATA_POINTERS] |
Memory backing the images.
Either one, or as many as there are planes in the sw_format. In case of having multiple VkImages, but one memory, the offset field will indicate the bound offset for each image.
Definition at line 283 of file hwcontext_vulkan.h.
size_t AVVkFrame::size[AV_NUM_DATA_POINTERS] |
Definition at line 284 of file hwcontext_vulkan.h.
VkMemoryPropertyFlagBits AVVkFrame::flags |
OR'd flags for all memory allocated.
Definition at line 289 of file hwcontext_vulkan.h.
VkAccessFlagBits AVVkFrame::access[AV_NUM_DATA_POINTERS] |
Updated after every barrier.
One per VkImage.
Definition at line 294 of file hwcontext_vulkan.h.
Referenced by ff_vk_frame_barrier().
VkImageLayout AVVkFrame::layout[AV_NUM_DATA_POINTERS] |
Definition at line 295 of file hwcontext_vulkan.h.
Referenced by ff_vk_decode_frame(), and ff_vk_frame_barrier().
VkSemaphore AVVkFrame::sem[AV_NUM_DATA_POINTERS] |
Synchronization timeline semaphores, one for each VkImage.
Must not be freed manually. Must be waited on at every submission using the value in sem_value, and must be signalled at every submission, using an incremented value.
Definition at line 303 of file hwcontext_vulkan.h.
Referenced by ff_vk_exec_mirror_sem_value().
uint64_t AVVkFrame::sem_value[AV_NUM_DATA_POINTERS] |
Up to date semaphore value at which each image becomes accessible.
One per VkImage. Clients must wait on this value when submitting a command queue, and increment it when signalling.
Definition at line 311 of file hwcontext_vulkan.h.
Referenced by ff_vk_exec_mirror_sem_value().
struct AVVkFrameInternal* AVVkFrame::internal |
Internal data.
Definition at line 316 of file hwcontext_vulkan.h.
Referenced by lock_frame(), and unlock_frame().
ptrdiff_t AVVkFrame::offset[AV_NUM_DATA_POINTERS] |
Describes the binding offset of each image to the VkDeviceMemory.
One per VkImage.
Definition at line 322 of file hwcontext_vulkan.h.
uint32_t AVVkFrame::queue_family[AV_NUM_DATA_POINTERS] |
Queue family of the images.
Must be VK_QUEUE_FAMILY_IGNORED if the image was allocated with the CONCURRENT concurrency option. One per VkImage.
Definition at line 329 of file hwcontext_vulkan.h.
Referenced by ff_vk_decode_frame(), and ff_vk_frame_barrier().