History

vulkan_decode: add queue_flags field to specify queue used

Lynne committed 1 year ago

Commit 8fbecfd1 parent 2e06b845 files · +5 −1Browse files

Unified · Split

5 files
  1. libavcodec/vulkan_av1.c +1 −0
  2. libavcodec/vulkan_decode.c +1 −1
  3. libavcodec/vulkan_decode.h +1 −0
  4. libavcodec/vulkan_h264.c +1 −0
  5. libavcodec/vulkan_hevc.c +1 −0
libavcodec/vulkan_av1.c+1−0
@@ -26,6 +26,7 @@ · 25 unmodified lines
26const FFVulkanDecodeDescriptor ff_vk_dec_av1_desc = {26const 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,
libavcodec/vulkan_decode.c+1−1
@@ -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));
libavcodec/vulkan_decode.h+1−0
@@ -29,6 +29,7 @@ · 28 unmodified lines
29typedef struct FFVulkanDecodeDescriptor {29typedef 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;
libavcodec/vulkan_h264.c+1−0
@@ -24,6 +24,7 @@ · 23 unmodified lines
24const FFVulkanDecodeDescriptor ff_vk_dec_h264_desc = {24const 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,
libavcodec/vulkan_hevc.c+1−0
@@ -26,6 +26,7 @@ · 25 unmodified lines
26const FFVulkanDecodeDescriptor ff_vk_dec_hevc_desc = {26const 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,

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t