From ae75376c8fb391f967f183b5e1d1a9d522e9c201 Mon Sep 17 00:00:00 2001 From: Hyunjun Ko Date: Mon, 31 Mar 2025 11:39:57 +0900 Subject: [PATCH] anv: Move rateControlMode to the video session. Signed-off-by: Hyunjun Ko Acked-by: Lionel Landwerlin Reviewed-by: Dave Airlie Part-of: --- src/intel/vulkan/anv_private.h | 2 +- src/intel/vulkan/genX_cmd_video.c | 5 +---- src/intel/vulkan/genX_cmd_video_enc.c | 4 ++-- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 4848ed2c931..b4705d773d7 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -6434,6 +6434,7 @@ struct anv_video_session { struct vk_video_session vk; bool cdf_initialized; + VkVideoEncodeRateControlModeFlagBitsKHR rc_mode; /* the decoder needs some private memory allocations */ struct anv_vid_mem vid_mem[ANV_VID_MEM_AV1_MAX]; struct anv_av1_video_refs_info prev_refs[STD_VIDEO_AV1_NUM_REF_FRAMES]; @@ -6441,7 +6442,6 @@ struct anv_video_session { struct anv_video_session_params { struct vk_video_session_parameters vk; - VkVideoEncodeRateControlModeFlagBitsKHR rc_mode; }; void anv_init_av1_cdf_tables(struct anv_cmd_buffer *cmd, diff --git a/src/intel/vulkan/genX_cmd_video.c b/src/intel/vulkan/genX_cmd_video.c index 183f611c4ea..dd6ceaccf47 100644 --- a/src/intel/vulkan/genX_cmd_video.c +++ b/src/intel/vulkan/genX_cmd_video.c @@ -68,10 +68,7 @@ genX(CmdControlVideoCodingKHR)(VkCommandBuffer commandBuffer, assert((rate_control_info->rateControlMode == VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR) || (rate_control_info->rateControlMode == VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR)); - cmd_buffer->video.params->rc_mode = rate_control_info->rateControlMode; - } else { - if (cmd_buffer->video.params) - cmd_buffer->video.params->rc_mode = VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR; + cmd_buffer->video.vid->rc_mode = rate_control_info->rateControlMode; } } diff --git a/src/intel/vulkan/genX_cmd_video_enc.c b/src/intel/vulkan/genX_cmd_video_enc.c index 59154cad217..d49e061a0e4 100644 --- a/src/intel/vulkan/genX_cmd_video_enc.c +++ b/src/intel/vulkan/genX_cmd_video_enc.c @@ -395,7 +395,7 @@ anv_h264_encode_video(struct anv_cmd_buffer *cmd, const VkVideoEncodeInfoKHR *en const struct anv_image_view *iv = anv_image_view_from_handle(enc_info->srcPictureResource.imageViewBinding); const struct anv_image *src_img = iv->image; bool post_deblock_enable = anv_post_deblock_enable(pps, frame_info); - bool rc_disable = cmd->video.params->rc_mode == VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR; + bool rc_disable = cmd->video.vid->rc_mode == VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR; uint8_t dpb_idx[ANV_VIDEO_H264_MAX_NUM_REF_FRAME] = { 0,}; const struct anv_image_view *base_ref_iv; @@ -1412,7 +1412,7 @@ anv_h265_encode_video(struct anv_cmd_buffer *cmd, const VkVideoEncodeInfoKHR *en const struct anv_image_view *base_ref_iv; - bool rc_disable = cmd->video.params->rc_mode == VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR; + bool rc_disable = cmd->video.vid->rc_mode == VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR; if (enc_info->pSetupReferenceSlot) { base_ref_iv = anv_image_view_from_handle(enc_info->pSetupReferenceSlot->pPictureResource->imageViewBinding);