Module: Mesa
Branch: main
Commit: 9f4299d6b24a206b059782df1cd40d233c49dcbb
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f4299d6b24a206b059782df1cd40d233c49dcbb

Author: Hyunjun Ko <[email protected]>
Date:   Fri Jun 16 14:54:21 2023 +0900

anv: fix to set predicted weight tables correctly.

Fixes: 8d519eb5f ("anv: add initial video decode support for h265")
Closes: mesa/mesa#9214

Signed-off-by: Hyunjun Ko <[email protected]>
Reviewed-by: Dave Airlie <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23790>

---

 src/intel/vulkan/genX_video.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/intel/vulkan/genX_video.c b/src/intel/vulkan/genX_video.c
index ed86720cd38..29604c82f93 100644
--- a/src/intel/vulkan/genX_video.c
+++ b/src/intel/vulkan/genX_video.c
@@ -756,12 +756,12 @@ anv_h265_decode_video(struct anv_cmd_buffer *cmd_buffer,
             w.ReferencePictureListSelect = 0;
 
             for (unsigned i = 0; i < ANV_VIDEO_H265_MAX_NUM_REF_FRAME; i++) {
-               w.LumaOffsets->DeltaLumaWeightLX = 
slice_params[s].luma_weight_l0[i];
-               w.LumaOffsets->LumaOffsetLX = slice_params[s].luma_offset_l0[i];
-               w.ChromaOffsets->DeltaChromaWeightLX0 = 
slice_params[s].chroma_weight_l0[i][0];
-               w.ChromaOffsets->DeltaChromaWeightLX1 = 
slice_params[s].chroma_weight_l0[i][1];
-               w.ChromaOffsets->ChromaOffsetLX0 = 
slice_params[s].chroma_offset_l0[i][0];
-               w.ChromaOffsets->ChromaOffsetLX1 = 
slice_params[s].chroma_offset_l0[i][1];
+               w.LumaOffsets[i].DeltaLumaWeightLX = 
slice_params[s].delta_luma_weight_l0[i] & 0xff;
+               w.LumaOffsets[i].LumaOffsetLX = 
slice_params[s].luma_offset_l0[i] & 0xff;
+               w.ChromaOffsets[i].DeltaChromaWeightLX0 = 
slice_params[s].delta_chroma_weight_l0[i][0] & 0xff;
+               w.ChromaOffsets[i].ChromaOffsetLX0 = 
slice_params[s].chroma_offset_l0[i][0] & 0xff;
+               w.ChromaOffsets[i].DeltaChromaWeightLX1 = 
slice_params[s].delta_chroma_weight_l0[i][1] & 0xff;
+               w.ChromaOffsets[i].ChromaOffsetLX1 = 
slice_params[s].chroma_offset_l0[i][1] & 0xff;
             }
          }
 
@@ -770,12 +770,12 @@ anv_h265_decode_video(struct anv_cmd_buffer *cmd_buffer,
                w.ReferencePictureListSelect = 1;
 
                for (unsigned i = 0; i < ANV_VIDEO_H265_MAX_NUM_REF_FRAME; i++) 
{
-                  w.LumaOffsets->DeltaLumaWeightLX = 
slice_params[s].luma_weight_l1[i];
-                  w.LumaOffsets->LumaOffsetLX = 
slice_params[s].luma_offset_l1[i];
-                  w.ChromaOffsets->DeltaChromaWeightLX0 = 
slice_params[s].chroma_weight_l1[i][0];
-                  w.ChromaOffsets->DeltaChromaWeightLX1 = 
slice_params[s].chroma_weight_l1[i][1];
-                  w.ChromaOffsets->ChromaOffsetLX0 = 
slice_params[s].chroma_offset_l1[i][0];
-                  w.ChromaOffsets->ChromaOffsetLX1 = 
slice_params[s].chroma_offset_l1[i][1];
+                  w.LumaOffsets[i].DeltaLumaWeightLX = 
slice_params[s].delta_luma_weight_l1[i] & 0xff;
+                  w.LumaOffsets[i].LumaOffsetLX = 
slice_params[s].luma_offset_l1[i] & 0xff;
+                  w.ChromaOffsets[i].DeltaChromaWeightLX0 = 
slice_params[s].delta_chroma_weight_l1[i][0] & 0xff;
+                  w.ChromaOffsets[i].DeltaChromaWeightLX1 = 
slice_params[s].delta_chroma_weight_l1[i][1] & 0xff;
+                  w.ChromaOffsets[i].ChromaOffsetLX0 = 
slice_params[s].chroma_offset_l1[i][0] & 0xff;
+                  w.ChromaOffsets[i].ChromaOffsetLX1 = 
slice_params[s].chroma_offset_l1[i][1] & 0xff;
                }
             }
          }

Reply via email to