FFmpeg
Data Fields
AVVulkanFramesContext Struct Reference

Allocated as AVHWFramesContext.hwctx, used to set pool-specific options. More...

#include <hwcontext_vulkan.h>

Data Fields

VkImageTiling tiling
 Controls the tiling of allocated frames. More...
 
VkImageUsageFlagBits usage
 Defines extra usage of output frames. More...
 
void * create_pnext
 Extension data for image creation. More...
 
void * alloc_pnext [AV_NUM_DATA_POINTERS]
 Extension data for memory allocation. More...
 
AVVkFrameFlags flags
 A combination of AVVkFrameFlags. More...
 

Detailed Description

Allocated as AVHWFramesContext.hwctx, used to set pool-specific options.

Definition at line 157 of file hwcontext_vulkan.h.

Field Documentation

◆ tiling

VkImageTiling AVVulkanFramesContext::tiling

Controls the tiling of allocated frames.

If left as optimal tiling, then during av_hwframe_ctx_init() will decide based on whether the device supports DRM modifiers, or if the linear_images flag is set, otherwise will allocate optimally-tiled images.

Definition at line 164 of file hwcontext_vulkan.h.

Referenced by try_export_flags(), vulkan_frames_init(), and vulkan_pool_alloc().

◆ usage

VkImageUsageFlagBits AVVulkanFramesContext::usage

Defines extra usage of output frames.

If left as 0, the following bits are set: TRANSFER_SRC, TRANSFER_DST. SAMPLED and STORAGE.

Definition at line 170 of file hwcontext_vulkan.h.

Referenced by libplacebo_config_output(), try_export_flags(), vulkan_frames_init(), and vulkan_pool_alloc().

◆ create_pnext

void* AVVulkanFramesContext::create_pnext

Extension data for image creation.

If VkImageDrmFormatModifierListCreateInfoEXT is present in the chain, and the device supports DRM modifiers, then images will be allocated with the specific requested DRM modifiers. Additional structures may be added at av_hwframe_ctx_init() time, which will be freed automatically on uninit(), so users need only free any structures they've allocated themselves.

Definition at line 181 of file hwcontext_vulkan.h.

Referenced by try_export_flags(), vulkan_frames_init(), and vulkan_pool_alloc().

◆ alloc_pnext

void* AVVulkanFramesContext::alloc_pnext[AV_NUM_DATA_POINTERS]

Extension data for memory allocation.

Must have as many entries as the number of planes of the sw_format. This will be chained to VkExportMemoryAllocateInfo, which is used to make all pool images exportable to other APIs if the necessary extensions are present in enabled_dev_extensions.

Definition at line 190 of file hwcontext_vulkan.h.

Referenced by vulkan_pool_alloc().

◆ flags

AVVkFrameFlags AVVulkanFramesContext::flags

A combination of AVVkFrameFlags.

Unless AV_VK_FRAME_FLAG_NONE is set, autodetected flags will be OR'd based on the device and tiling during av_hwframe_ctx_init().

Definition at line 197 of file hwcontext_vulkan.h.

Referenced by alloc_bind_mem(), and vulkan_frames_init().


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