From 86d21fd2cfec075797acac05552e3bd10b2ee59e Mon Sep 17 00:00:00 2001 From: Hyunjun Ko Date: Thu, 1 May 2025 15:38:02 +0900 Subject: [PATCH] anv: Set tc/beta offset according to the flag from PPS. Consider the flag from PPS when setting tc/beta offset. This fixes some artifacts when decoding a hevc video, hevc_scaling_list4.mkv from Lynne. Signed-off-by: Hyunjun Ko Part-of: --- src/intel/vulkan/genX_cmd_video.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/intel/vulkan/genX_cmd_video.c b/src/intel/vulkan/genX_cmd_video.c index 37961dec297..0d987966f31 100644 --- a/src/intel/vulkan/genX_cmd_video.c +++ b/src/intel/vulkan/genX_cmd_video.c @@ -723,8 +723,10 @@ anv_h265_decode_video(struct anv_cmd_buffer *cmd_buffer, slice.SliceCrQPOffset = slice_params[s].slice_cr_qp_offset; slice.SliceHeaderDisableDeblockingFilter = pps->flags.deblocking_filter_override_enabled_flag ? slice_params[s].disable_deblocking_filter_idc : pps->flags.pps_deblocking_filter_disabled_flag; - slice.SliceTCOffsetDiv2 = slice_params[s].tc_offset_div2; - slice.SliceBetaOffsetDiv2 = slice_params[s].beta_offset_div2; + slice.SliceTCOffsetDiv2 = pps->flags.deblocking_filter_override_enabled_flag ? + slice_params[s].tc_offset_div2 : pps->pps_tc_offset_div2; + slice.SliceBetaOffsetDiv2 = pps->flags.deblocking_filter_override_enabled_flag ? + slice_params[s].beta_offset_div2 : pps->pps_beta_offset_div2; slice.SliceLoopFilterEnable = slice_params[s].loop_filter_across_slices_enable; slice.SliceSAOChroma = slice_params[s].sao_chroma_flag; slice.SliceSAOLuma = slice_params[s].sao_luma_flag;