Mesa (master): st/omx/dec/h265: set the default reference picture set for reference

Leo Liu leoliu at kemper.freedesktop.org
Tue Oct 4 15:41:55 UTC 2016


Module: Mesa
Branch: master
Commit: c50b68e6a882c95b58f46fba87c8f3531a2913d1
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c50b68e6a882c95b58f46fba87c8f3531a2913d1

Author: Leo Liu <leo.liu at amd.com>
Date:   Fri Sep 23 11:42:16 2016 -0400

st/omx/dec/h265: set the default reference picture set for reference

It will fix the corruption for frame, that only has one stort term ref
picture set, we set NULL rps for this case previously, causing taking
incorrect reference. Instead we should take that only short term set
as reference

Signed-off-by: Leo Liu <leo.liu at amd.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>

---

 src/gallium/state_trackers/omx/vid_dec_h265.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gallium/state_trackers/omx/vid_dec_h265.c b/src/gallium/state_trackers/omx/vid_dec_h265.c
index f3bf66f..acd225d 100644
--- a/src/gallium/state_trackers/omx/vid_dec_h265.c
+++ b/src/gallium/state_trackers/omx/vid_dec_h265.c
@@ -656,7 +656,7 @@ static void slice_header(vid_dec_PrivateType *priv, struct vl_rbsp *rbsp,
    struct pipe_h265_sps *sps;
    bool first_slice_segment_in_pic_flag;
    bool dependent_slice_segment_flag = false;
-   struct ref_pic_set *rps = NULL;
+   struct ref_pic_set *rps;
    unsigned poc_lsb, poc_msb, slice_prev_poc;
    unsigned max_poc_lsb, prev_poc_lsb, prev_poc_msb;
    unsigned num_st_rps;
@@ -789,7 +789,9 @@ static void slice_header(vid_dec_PrivateType *priv, struct vl_rbsp *rbsp,
 
       rps = (struct ref_pic_set *)
          priv->codec_data.h265.ref_pic_set_list + idx;
-   }
+   } else
+      rps = (struct ref_pic_set *)
+         priv->codec_data.h265.ref_pic_set_list;
 
    if (is_bla_picture(nal_unit_type)) {
       rps->num_neg_pics = 0;




More information about the mesa-commit mailing list