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
 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 AVVkFrameInternalinternal
 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...
 

Detailed Description

Definition at line 302 of file hwcontext_vulkan.h.

Field Documentation

◆ img

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 307 of file hwcontext_vulkan.h.

Referenced by ff_vk_create_imageviews(), ff_vk_decode_frame(), ff_vk_frame_barrier(), and vulkan_transfer_frame().

◆ tiling

VkImageTiling AVVkFrame::tiling

Tiling for the frame.

Definition at line 312 of file hwcontext_vulkan.h.

◆ mem

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 320 of file hwcontext_vulkan.h.

◆ size

size_t AVVkFrame::size[AV_NUM_DATA_POINTERS]

Definition at line 321 of file hwcontext_vulkan.h.

◆ flags

VkMemoryPropertyFlagBits AVVkFrame::flags

OR'd flags for all memory allocated.

Definition at line 326 of file hwcontext_vulkan.h.

◆ access

VkAccessFlagBits AVVkFrame::access[AV_NUM_DATA_POINTERS]

Updated after every barrier.

One per VkImage.

Definition at line 331 of file hwcontext_vulkan.h.

Referenced by ff_vk_frame_barrier().

◆ layout

VkImageLayout AVVkFrame::layout[AV_NUM_DATA_POINTERS]

Definition at line 332 of file hwcontext_vulkan.h.

Referenced by ff_vk_decode_frame(), and ff_vk_frame_barrier().

◆ sem

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 340 of file hwcontext_vulkan.h.

Referenced by ff_vk_exec_mirror_sem_value().

◆ 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 348 of file hwcontext_vulkan.h.

Referenced by ff_vk_exec_mirror_sem_value().

◆ internal

struct AVVkFrameInternal* AVVkFrame::internal

Internal data.

Definition at line 353 of file hwcontext_vulkan.h.

Referenced by lock_frame(), and unlock_frame().

◆ offset

ptrdiff_t AVVkFrame::offset[AV_NUM_DATA_POINTERS]

Describes the binding offset of each image to the VkDeviceMemory.

One per VkImage.

Definition at line 359 of file hwcontext_vulkan.h.

◆ queue_family

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 366 of file hwcontext_vulkan.h.

Referenced by ff_vk_decode_frame(), and ff_vk_frame_barrier().


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