From a03e055cd344942024b18ef09879c1ece5b785c6 Mon Sep 17 00:00:00 2001 From: David Rosca Date: Wed, 3 Sep 2025 09:37:26 +0200 Subject: [PATCH] radv/video: Set rate control to default on reset If we never get rate control info, we would treat it as rate control disabled and use QP value from slice info which is always 0 for default rate control. Cc: mesa-stable Reviewed-by: Autumn Ashton Part-of: --- src/amd/vulkan/radv_video_enc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/amd/vulkan/radv_video_enc.c b/src/amd/vulkan/radv_video_enc.c index 10b75dba467..6c3eb7d7757 100644 --- a/src/amd/vulkan/radv_video_enc.c +++ b/src/amd/vulkan/radv_video_enc.c @@ -2834,6 +2834,7 @@ static void set_rate_control_defaults(struct radv_video_session *vid) { uint32_t frame_rate_den = 1, frame_rate_num = 30; + vid->enc_rate_control_default = true; vid->enc_rate_control_method = RENCODE_RATE_CONTROL_METHOD_NONE; vid->enc_vbv_buffer_level = 64; vid->rc_layer_control.num_temporal_layers = 1; @@ -2914,10 +2915,9 @@ radv_video_enc_control_video_coding(struct radv_cmd_buffer *cmd_buffer, const Vk vid->enc_rate_control_default = false; - if (rate_control->rateControlMode == VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR) { - vid->enc_rate_control_default = true; + if (rate_control->rateControlMode == VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR) set_rate_control_defaults(vid); - } else if (rate_control->rateControlMode == VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR) + else if (rate_control->rateControlMode == VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR) rate_control_method = RENCODE_RATE_CONTROL_METHOD_CBR; else if (rate_control->rateControlMode == VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR) rate_control_method = RENCODE_RATE_CONTROL_METHOD_PEAK_CONSTRAINED_VBR;