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

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

## layout

VkImageLayout AVVkFrame::layout[AV_NUM_DATA_POINTERS]

Definition at line 332 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 340 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 348 of file hwcontext_vulkan.h.

## internal

struct AVVkFrameInternal* AVVkFrame::internal

Internal data.

Definition at line 353 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 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.

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

- libavutil/hwcontext_vulkan.h