vulkan_decode: add queue_flags field to specify queue used

pull/391/head
Lynne 3 months ago
parent 2e06b84e27
commit 8fbecfd1a0
No known key found for this signature in database
GPG Key ID: A2FEA5F03F034464
  1. 1
      libavcodec/vulkan_av1.c
  2. 2
      libavcodec/vulkan_decode.c
  3. 1
      libavcodec/vulkan_decode.h
  4. 1
      libavcodec/vulkan_h264.c
  5. 1
      libavcodec/vulkan_hevc.c

@ -26,6 +26,7 @@
const FFVulkanDecodeDescriptor ff_vk_dec_av1_desc = {
.codec_id = AV_CODEC_ID_AV1,
.decode_extension = FF_VK_EXT_VIDEO_DECODE_AV1,
.queue_flags = VK_QUEUE_VIDEO_DECODE_BIT_KHR,
.decode_op = VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR,
.ext_props = {
.extensionName = VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_EXTENSION_NAME,

@ -1116,7 +1116,7 @@ int ff_vk_decode_init(AVCodecContext *avctx)
/* Create queue context */
vk_desc = get_codecdesc(avctx->codec_id);
ctx->qf = ff_vk_qf_find(s, VK_QUEUE_VIDEO_DECODE_BIT_KHR, vk_desc->decode_op);
ctx->qf = ff_vk_qf_find(s, vk_desc->queue_flags, vk_desc->decode_op);
if (!ctx->qf) {
av_log(avctx, AV_LOG_ERROR, "Decoding of %s is not supported by this device\n",
avcodec_get_name(avctx->codec_id));

@ -29,6 +29,7 @@
typedef struct FFVulkanDecodeDescriptor {
enum AVCodecID codec_id;
FFVulkanExtensions decode_extension;
VkQueueFlagBits queue_flags;
VkVideoCodecOperationFlagBitsKHR decode_op;
VkExtensionProperties ext_props;

@ -24,6 +24,7 @@
const FFVulkanDecodeDescriptor ff_vk_dec_h264_desc = {
.codec_id = AV_CODEC_ID_H264,
.decode_extension = FF_VK_EXT_VIDEO_DECODE_H264,
.queue_flags = VK_QUEUE_VIDEO_DECODE_BIT_KHR,
.decode_op = VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR,
.ext_props = {
.extensionName = VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME,

@ -26,6 +26,7 @@
const FFVulkanDecodeDescriptor ff_vk_dec_hevc_desc = {
.codec_id = AV_CODEC_ID_HEVC,
.decode_extension = FF_VK_EXT_VIDEO_DECODE_H265,
.queue_flags = VK_QUEUE_VIDEO_DECODE_BIT_KHR,
.decode_op = VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR,
.ext_props = {
.extensionName = VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME,

Loading…
Cancel
Save