anv: Move rateControlMode to the video session.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com> Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34250>
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user