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  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 159 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_data().