FFmpeg
|
#include "vulkan_video.h"
Go to the source code of this file.
Data Structures | |
struct | FFVkFormatMapEntry |
Macros | |
#define | ASPECT_2PLANE (VK_IMAGE_ASPECT_PLANE_0_BIT | VK_IMAGE_ASPECT_PLANE_1_BIT) |
#define | ASPECT_3PLANE (VK_IMAGE_ASPECT_PLANE_0_BIT | VK_IMAGE_ASPECT_PLANE_1_BIT | VK_IMAGE_ASPECT_PLANE_2_BIT) |
Functions | |
enum AVPixelFormat | ff_vk_pix_fmt_from_vkfmt (VkFormat vkf) |
Get pixfmt from a Vulkan format. More... | |
VkImageAspectFlags | ff_vk_aspect_bits_from_vkfmt (VkFormat vkf) |
Get aspect bits which include all planes from a VkFormat. More... | |
VkVideoChromaSubsamplingFlagBitsKHR | ff_vk_subsampling_from_av_desc (const AVPixFmtDescriptor *desc) |
Get Vulkan's chroma subsampling from a pixfmt descriptor. More... | |
VkVideoComponentBitDepthFlagBitsKHR | ff_vk_depth_from_av_depth (int depth) |
Get Vulkan's bit depth from an [8:12] integer. More... | |
int | ff_vk_h264_level_to_av (StdVideoH264LevelIdc level) |
Convert level from Vulkan to AV. More... | |
int | ff_vk_h265_level_to_av (StdVideoH265LevelIdc level) |
static void | free_data_buf (void *opaque, uint8_t *data) |
static AVBufferRef * | alloc_data_buf (void *opaque, size_t size) |
int | ff_vk_video_get_buffer (FFVulkanContext *ctx, FFVkVideoCommon *s, AVBufferRef **buf, VkBufferUsageFlags usage, void *create_pNext, size_t size) |
Get a mapped FFVkPooledBuffer with a specific guaranteed minimum size from a pool. More... | |
av_cold void | ff_vk_video_common_uninit (FFVulkanContext *s, FFVkVideoCommon *common) |
Free video session and required resources. More... | |
av_cold int | ff_vk_video_common_init (void *log, FFVulkanContext *s, FFVkVideoCommon *common, VkVideoSessionCreateInfoKHR *session_create) |
Initialize video session, allocating and binding necessary memory. More... | |
Variables | |
static const struct FFVkFormatMapEntry | vk_format_map [] |
static const int | nb_vk_format_map = FF_ARRAY_ELEMS(vk_format_map) |
#define ASPECT_2PLANE (VK_IMAGE_ASPECT_PLANE_0_BIT | VK_IMAGE_ASPECT_PLANE_1_BIT) |
Definition at line 21 of file vulkan_video.c.
#define ASPECT_3PLANE (VK_IMAGE_ASPECT_PLANE_0_BIT | VK_IMAGE_ASPECT_PLANE_1_BIT | VK_IMAGE_ASPECT_PLANE_2_BIT) |
Definition at line 22 of file vulkan_video.c.
enum AVPixelFormat ff_vk_pix_fmt_from_vkfmt | ( | VkFormat | vkf | ) |
Get pixfmt from a Vulkan format.
Definition at line 94 of file vulkan_video.c.
Referenced by vulkan_decode_get_profile().
VkImageAspectFlags ff_vk_aspect_bits_from_vkfmt | ( | VkFormat | vkf | ) |
Get aspect bits which include all planes from a VkFormat.
Definition at line 102 of file vulkan_video.c.
Referenced by vk_decode_create_view().
VkVideoChromaSubsamplingFlagBitsKHR ff_vk_subsampling_from_av_desc | ( | const AVPixFmtDescriptor * | desc | ) |
Get Vulkan's chroma subsampling from a pixfmt descriptor.
Definition at line 110 of file vulkan_video.c.
Referenced by vulkan_setup_profile().
VkVideoComponentBitDepthFlagBitsKHR ff_vk_depth_from_av_depth | ( | int | depth | ) |
Get Vulkan's bit depth from an [8:12] integer.
Definition at line 123 of file vulkan_video.c.
Referenced by vulkan_setup_profile().
int ff_vk_h264_level_to_av | ( | StdVideoH264LevelIdc | level | ) |
Convert level from Vulkan to AV.
Definition at line 134 of file vulkan_video.c.
Referenced by vulkan_decode_get_profile().
int ff_vk_h265_level_to_av | ( | StdVideoH265LevelIdc | level | ) |
Definition at line 160 of file vulkan_video.c.
Referenced by vulkan_decode_get_profile().
|
static |
Definition at line 179 of file vulkan_video.c.
Referenced by alloc_data_buf().
|
static |
Definition at line 188 of file vulkan_video.c.
Referenced by ff_vk_video_get_buffer().
int ff_vk_video_get_buffer | ( | FFVulkanContext * | ctx, |
FFVkVideoCommon * | s, | ||
AVBufferRef ** | buf, | ||
VkBufferUsageFlags | usage, | ||
void * | create_pNext, | ||
size_t | size | ||
) |
Get a mapped FFVkPooledBuffer with a specific guaranteed minimum size from a pool.
Definition at line 201 of file vulkan_video.c.
Referenced by ff_vk_decode_add_slice().
av_cold void ff_vk_video_common_uninit | ( | FFVulkanContext * | s, |
FFVkVideoCommon * | common | ||
) |
Free video session and required resources.
Definition at line 259 of file vulkan_video.c.
Referenced by ff_vk_video_common_init(), and free_common().
av_cold int ff_vk_video_common_init | ( | void * | log, |
FFVulkanContext * | s, | ||
FFVkVideoCommon * | common, | ||
VkVideoSessionCreateInfoKHR * | session_create | ||
) |
Initialize video session, allocating and binding necessary memory.
Definition at line 279 of file vulkan_video.c.
Referenced by ff_vk_decode_init().
|
static |
Referenced by ff_vk_aspect_bits_from_vkfmt(), and ff_vk_pix_fmt_from_vkfmt().
|
static |
Definition at line 92 of file vulkan_video.c.
Referenced by ff_vk_aspect_bits_from_vkfmt(), and ff_vk_pix_fmt_from_vkfmt().