Unified · Split
| @@ -26,6 +26,7 @@ · 25 unmodified lines | |||
| 26 | const FFVulkanDecodeDescriptor ff_vk_dec_av1_desc = { | 26 | const FFVulkanDecodeDescriptor ff_vk_dec_av1_desc = { |
| 27 | .codec_id = AV_CODEC_ID_AV1, | 27 | .codec_id = AV_CODEC_ID_AV1, |
| 28 | .decode_extension = FF_VK_EXT_VIDEO_DECODE_AV1, | 28 | .decode_extension = FF_VK_EXT_VIDEO_DECODE_AV1, |
| 29 | .queue_flags = VK_QUEUE_VIDEO_DECODE_BIT_KHR, | ||
| 29 | .decode_op = VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR, | 30 | .decode_op = VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR, |
| 30 | .ext_props = { | 31 | .ext_props = { |
| 31 | .extensionName = VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_EXTENSION_NAME, | 32 | .extensionName = VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_EXTENSION_NAME, |
| @@ -1116,7 +1116,7 @@ int ff_vk_decode_init(AVCodecContext *avctx) · 1115 unmodified lines | |||
| 1116 | 1116 | ||
| 1117 | /* Create queue context */ | 1117 | /* Create queue context */ |
| 1118 | vk_desc = get_codecdesc(avctx->codec_id); | 1118 | vk_desc = get_codecdesc(avctx->codec_id); |
| 1119 | ctx->qf = ff_vk_qf_find(s, VK_QUEUE_VIDEO_DECODE_BIT_KHR, vk_desc->decode_op); | 1119 | ctx->qf = ff_vk_qf_find(s, vk_desc->queue_flags, vk_desc->decode_op); |
| 1120 | if (!ctx->qf) { | 1120 | if (!ctx->qf) { |
| 1121 | av_log(avctx, AV_LOG_ERROR, "Decoding of %s is not supported by this device\n", | 1121 | av_log(avctx, AV_LOG_ERROR, "Decoding of %s is not supported by this device\n", |
| 1122 | avcodec_get_name(avctx->codec_id)); | 1122 | avcodec_get_name(avctx->codec_id)); |
| @@ -29,6 +29,7 @@ · 28 unmodified lines | |||
| 29 | typedef struct FFVulkanDecodeDescriptor { | 29 | typedef struct FFVulkanDecodeDescriptor { |
| 30 | enum AVCodecID codec_id; | 30 | enum AVCodecID codec_id; |
| 31 | FFVulkanExtensions decode_extension; | 31 | FFVulkanExtensions decode_extension; |
| 32 | VkQueueFlagBits queue_flags; | ||
| 32 | VkVideoCodecOperationFlagBitsKHR decode_op; | 33 | VkVideoCodecOperationFlagBitsKHR decode_op; |
| 33 | 34 | ||
| 34 | VkExtensionProperties ext_props; | 35 | VkExtensionProperties ext_props; |
| @@ -24,6 +24,7 @@ · 23 unmodified lines | |||
| 24 | const FFVulkanDecodeDescriptor ff_vk_dec_h264_desc = { | 24 | const FFVulkanDecodeDescriptor ff_vk_dec_h264_desc = { |
| 25 | .codec_id = AV_CODEC_ID_H264, | 25 | .codec_id = AV_CODEC_ID_H264, |
| 26 | .decode_extension = FF_VK_EXT_VIDEO_DECODE_H264, | 26 | .decode_extension = FF_VK_EXT_VIDEO_DECODE_H264, |
| 27 | .queue_flags = VK_QUEUE_VIDEO_DECODE_BIT_KHR, | ||
| 27 | .decode_op = VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR, | 28 | .decode_op = VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR, |
| 28 | .ext_props = { | 29 | .ext_props = { |
| 29 | .extensionName = VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME, | 30 | .extensionName = VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME, |
| @@ -26,6 +26,7 @@ · 25 unmodified lines | |||
| 26 | const FFVulkanDecodeDescriptor ff_vk_dec_hevc_desc = { | 26 | const FFVulkanDecodeDescriptor ff_vk_dec_hevc_desc = { |
| 27 | .codec_id = AV_CODEC_ID_HEVC, | 27 | .codec_id = AV_CODEC_ID_HEVC, |
| 28 | .decode_extension = FF_VK_EXT_VIDEO_DECODE_H265, | 28 | .decode_extension = FF_VK_EXT_VIDEO_DECODE_H265, |
| 29 | .queue_flags = VK_QUEUE_VIDEO_DECODE_BIT_KHR, | ||
| 29 | .decode_op = VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR, | 30 | .decode_op = VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR, |
| 30 | .ext_props = { | 31 | .ext_props = { |
| 31 | .extensionName = VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME, | 32 | .extensionName = VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME, |