Should not be skipped when rps->used false Signed-off-by: Leo Liu <leo....@amd.com> --- src/gallium/state_trackers/omx/vid_dec_h265.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/gallium/state_trackers/omx/vid_dec_h265.c b/src/gallium/state_trackers/omx/vid_dec_h265.c index 9125eb1..2c72e2e 100644 --- a/src/gallium/state_trackers/omx/vid_dec_h265.c +++ b/src/gallium/state_trackers/omx/vid_dec_h265.c @@ -710,6 +710,8 @@ static void vid_dec_h265_EndFrame(vid_dec_PrivateType *priv) rps = priv->codec_data.h265.rps; if (rps) { + unsigned bf = 0, af = 0; + priv->picture.h265.NumDeltaPocsOfRefRpsIdx = rps->num_delta_poc; for (i = 0; i < rps->num_pics; ++i) { priv->picture.h265.PicOrderCntVal[i] = @@ -725,11 +727,10 @@ static void vid_dec_h265_EndFrame(vid_dec_PrivateType *priv) if (rps->used[i]) { if (i < rps->num_neg_pics) { priv->picture.h265.NumPocStCurrBefore++; - priv->picture.h265.RefPicSetStCurrBefore[i] = i; + priv->picture.h265.RefPicSetStCurrBefore[bf++] = i; } else { - int j = i - rps->num_neg_pics; priv->picture.h265.NumPocStCurrAfter++; - priv->picture.h265.RefPicSetStCurrAfter[j] = i; + priv->picture.h265.RefPicSetStCurrAfter[af++] = i; } } } -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev