FFmpeg
Data Fields
AVVkFrame Struct Reference

#include <hwcontext_vulkan.h>

Data Fields

VkImage img [AV_NUM_DATA_POINTERS]
 Vulkan images to which the memory is bound to. More...
 
VkImageTiling tiling
 The same tiling must be used for all images in 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 semaphores. More...
 
struct AVVkFrameInternalinternal
 Internal data. More...
 

Detailed Description

Definition at line 149 of file hwcontext_vulkan.h.

Field Documentation

VkImage AVVkFrame::img[AV_NUM_DATA_POINTERS]

Vulkan images to which the memory is bound to.

Definition at line 153 of file hwcontext_vulkan.h.

Referenced by alloc_bind_mem(), create_frame(), prepare_frame(), process_frames(), transfer_image_buf(), vulkan_frame_free(), vulkan_map_frame_to_mem(), and vulkan_map_to().

VkImageTiling AVVkFrame::tiling

The same tiling must be used for all images in the frame.

Definition at line 158 of file hwcontext_vulkan.h.

Referenced by alloc_bind_mem(), create_frame(), vulkan_map_frame_to_mem(), and vulkan_map_to().

VkDeviceMemory AVVkFrame::mem[AV_NUM_DATA_POINTERS]

Memory backing the images.

Could be less than the amount of images if importing from a DRM or VAAPI frame.

Definition at line 164 of file hwcontext_vulkan.h.

Referenced by alloc_bind_mem(), vulkan_frame_free(), vulkan_map_frame_to_mem(), vulkan_map_to(), and vulkan_unmap_frame().

size_t AVVkFrame::size[AV_NUM_DATA_POINTERS]

Definition at line 165 of file hwcontext_vulkan.h.

Referenced by alloc_bind_mem(), vulkan_map_frame_to_mem(), and vulkan_map_to().

VkMemoryPropertyFlagBits AVVkFrame::flags

OR'd flags for all memory allocated.

Definition at line 170 of file hwcontext_vulkan.h.

Referenced by alloc_bind_mem(), create_frame(), vulkan_map_frame_to_mem(), and vulkan_unmap_frame().

VkAccessFlagBits AVVkFrame::access[AV_NUM_DATA_POINTERS]

Updated after every barrier.

Definition at line 175 of file hwcontext_vulkan.h.

Referenced by create_frame(), prepare_frame(), process_frames(), transfer_image_buf(), and vulkan_map_frame_to_mem().

VkImageLayout AVVkFrame::layout[AV_NUM_DATA_POINTERS]
VkSemaphore AVVkFrame::sem[AV_NUM_DATA_POINTERS]

Synchronization semaphores.

Must not be freed manually. Must be waited on and signalled at every queue submission. Could be less than the amount of images: either one per VkDeviceMemory or one for the entire frame. All others will be set to VK_NULL_HANDLE.

Definition at line 184 of file hwcontext_vulkan.h.

Referenced by create_frame(), ff_vk_add_exec_dep(), prepare_frame(), transfer_image_buf(), vulkan_frame_free(), and vulkan_map_frame_to_mem().

struct AVVkFrameInternal* AVVkFrame::internal

Internal data.

Definition at line 189 of file hwcontext_vulkan.h.

Referenced by vulkan_frame_free(), vulkan_map_frame_to_mem(), and vulkan_transfer_data_to().


The documentation for this struct was generated from the following file: