FFmpeg
Data Structures | Enumerations | Functions
hwcontext_vulkan.h File Reference
#include <vulkan/vulkan.h>
#include "pixfmt.h"
#include "frame.h"
#include "hwcontext.h"

Go to the source code of this file.

Data Structures

struct  AVVulkanDeviceQueueFamily
 
struct  AVVulkanDeviceContext
 Main Vulkan context, allocated as AVHWDeviceContext.hwctx. More...
 
struct  AVVulkanFramesContext
 Allocated as AVHWFramesContext.hwctx, used to set pool-specific options. More...
 
struct  AVVkFrame
 

Enumerations

enum  AVVkFrameFlags { AV_VK_FRAME_FLAG_NONE = (1ULL << 0), AV_VK_FRAME_FLAG_CONTIGUOUS_MEMORY = (1ULL << 1), AV_VK_FRAME_FLAG_DISABLE_MULTIPLANE = (1ULL << 2) }
 Defines the behaviour of frame allocation. More...
 

Functions

AVVkFrameav_vk_frame_alloc (void)
 Allocates a single AVVkFrame and initializes everything as 0. More...
 
const VkFormatav_vkfmt_from_pixfmt (enum AVPixelFormat p)
 Returns the optimal per-plane Vulkan format for a given sw_format, one for each plane. More...
 

Detailed Description

API-specific header for AV_HWDEVICE_TYPE_VULKAN.

For user-allocated pools, AVHWFramesContext.pool must return AVBufferRefs with the data pointer set to an AVVkFrame.

Definition in file hwcontext_vulkan.h.

Enumeration Type Documentation

◆ AVVkFrameFlags

Defines the behaviour of frame allocation.

Enumerator
AV_VK_FRAME_FLAG_NONE 
AV_VK_FRAME_FLAG_CONTIGUOUS_MEMORY 
AV_VK_FRAME_FLAG_DISABLE_MULTIPLANE 

Definition at line 195 of file hwcontext_vulkan.h.

Function Documentation

◆ av_vk_frame_alloc()

AVVkFrame* av_vk_frame_alloc ( void  )

Allocates a single AVVkFrame and initializes everything as 0.

Note
Must be freed via av_free()

Definition at line 35 of file hwcontext_stub.c.

Referenced by create_frame().

◆ av_vkfmt_from_pixfmt()

const VkFormat* av_vkfmt_from_pixfmt ( enum AVPixelFormat  p)

Returns the optimal per-plane Vulkan format for a given sw_format, one for each plane.

Returns NULL on unsupported formats.

Definition at line 30 of file hwcontext_stub.c.

Referenced by ff_vk_create_imageviews(), ff_vk_filter_init_context(), libplacebo_query_format(), try_export_flags(), and vulkan_transfer_frame().