diff options
author | Lynne <dev@lynne.ee> | 2024-12-03 15:31:49 +0900 |
---|---|---|
committer | Lynne <dev@lynne.ee> | 2024-12-23 04:25:09 +0900 |
commit | 2e06b84e2747ef4ea4d9f5c20c936aa866f7647d (patch) | |
tree | ba037209826667bf2eb78796b180b673e40b36dc /libavcodec/vulkan_encode.c | |
parent | 157cd820adbbfcfd1870a6ce12d072dc0f623e9b (diff) | |
download | ffmpeg-2e06b84e2747ef4ea4d9f5c20c936aa866f7647d.tar.gz |
vulkan: do not reinvent a queue context struct
We recently introduced a public field which was a superset
of the queue context we used to have.
Switch to using it entirely.
This also allows us to get rid of the NIH function which was
valid only for video queues.
Diffstat (limited to 'libavcodec/vulkan_encode.c')
-rw-r--r-- | libavcodec/vulkan_encode.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/libavcodec/vulkan_encode.c b/libavcodec/vulkan_encode.c index 9ad02e8c52..122dd34f4c 100644 --- a/libavcodec/vulkan_encode.c +++ b/libavcodec/vulkan_encode.c @@ -769,10 +769,8 @@ av_cold int ff_vulkan_encode_init(AVCodecContext *avctx, FFVulkanEncodeContext * return err; /* Create queue context */ - err = ff_vk_video_qf_init(s, &ctx->qf_enc, - VK_QUEUE_VIDEO_ENCODE_BIT_KHR, - vk_desc->encode_op); - if (err < 0) { + ctx->qf_enc = ff_vk_qf_find(s, VK_QUEUE_VIDEO_ENCODE_BIT_KHR, vk_desc->encode_op); + if (!ctx->qf_enc) { av_log(avctx, AV_LOG_ERROR, "Encoding of %s is not supported by this device\n", avcodec_get_name(avctx->codec_id)); return err; @@ -846,7 +844,7 @@ av_cold int ff_vulkan_encode_init(AVCodecContext *avctx, FFVulkanEncodeContext * .encodeFeedbackFlags = ctx->enc_caps.supportedEncodeFeedbackFlags & (~VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR), }; - err = ff_vk_exec_pool_init(s, &ctx->qf_enc, &ctx->enc_pool, base_ctx->async_depth, + err = ff_vk_exec_pool_init(s, ctx->qf_enc, &ctx->enc_pool, base_ctx->async_depth, 1, VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR, 0, &query_create); if (err < 0) @@ -994,7 +992,7 @@ av_cold int ff_vulkan_encode_init(AVCodecContext *avctx, FFVulkanEncodeContext * /* Create session */ session_create.pVideoProfile = &ctx->profile; session_create.flags = 0x0; - session_create.queueFamilyIndex = ctx->qf_enc.queue_family; + session_create.queueFamilyIndex = ctx->qf_enc->idx; session_create.maxCodedExtent = ctx->caps.maxCodedExtent; session_create.maxDpbSlots = ctx->caps.maxDpbSlots; session_create.maxActiveReferencePictures = ctx->caps.maxActiveReferencePictures; |