FFmpeg 8.0.1
Loading...
Searching...
No Matches
AVVkFrame Struct Reference

#include <libavutil/hwcontext_vulkan.h>

Data Fields

VkImage img [AV_NUM_DATA_POINTERS]
 Vulkan images to which the memory is bound to.
VkImageTiling tiling
 Tiling for the frame.
VkDeviceMemory mem [AV_NUM_DATA_POINTERS]
 Memory backing the images.
size_t size [AV_NUM_DATA_POINTERS]
VkMemoryPropertyFlagBits flags
 OR'd flags for all memory allocated.
VkAccessFlagBits access [AV_NUM_DATA_POINTERS]
 Updated after every barrier.
VkImageLayout layout [AV_NUM_DATA_POINTERS]
VkSemaphore sem [AV_NUM_DATA_POINTERS]
 Synchronization timeline semaphores, one for each VkImage.
uint64_t sem_value [AV_NUM_DATA_POINTERS]
 Up to date semaphore value at which each image becomes accessible.
struct AVVkFrameInternal * internal
 Internal data.
ptrdiff_t offset [AV_NUM_DATA_POINTERS]
 Describes the binding offset of each image to the VkDeviceMemory.
uint32_t queue_family [AV_NUM_DATA_POINTERS]
 Queue family of the images.

Detailed Description

Definition at line 297 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 302 of file hwcontext_vulkan.h.

◆ tiling

VkImageTiling AVVkFrame::tiling

Tiling for the frame.

Definition at line 307 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 315 of file hwcontext_vulkan.h.

◆ size

size_t AVVkFrame::size[AV_NUM_DATA_POINTERS]

Definition at line 316 of file hwcontext_vulkan.h.

◆ flags

VkMemoryPropertyFlagBits AVVkFrame::flags

OR'd flags for all memory allocated.

Definition at line 321 of file hwcontext_vulkan.h.

◆ access

VkAccessFlagBits AVVkFrame::access[AV_NUM_DATA_POINTERS]

Updated after every barrier.

One per VkImage.

Definition at line 326 of file hwcontext_vulkan.h.

◆ layout

VkImageLayout AVVkFrame::layout[AV_NUM_DATA_POINTERS]

Definition at line 327 of file hwcontext_vulkan.h.

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

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

◆ internal

struct AVVkFrameInternal* AVVkFrame::internal

Internal data.

Definition at line 348 of file hwcontext_vulkan.h.

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


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