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

Author: Leo Liu <leo....@amd.com>
Date:   Mon Feb 23 13:50:06 2015 -0500

st/omx/dec/h264: fix picture out-of-order with poc type 0 v2

poc counter should be reset with IDR frame,
otherwise there would be a re-order issue with
frames before and after IDR

v2: add commit message

Signed-off-by: Leo Liu <leo....@amd.com>
Reviewed-by: Christian König <christian.koe...@amd.com>
Cc: "10.4 10.5" <mesa-sta...@lists.freedesktop.org>
(cherry picked from commit 9c7b343bc0a6aa6065055cbc1c0a891ccc445984)

---

 src/gallium/state_trackers/omx/vid_dec_h264.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/gallium/state_trackers/omx/vid_dec_h264.c 
b/src/gallium/state_trackers/omx/vid_dec_h264.c
index 7b57785..e01e873 100644
--- a/src/gallium/state_trackers/omx/vid_dec_h264.c
+++ b/src/gallium/state_trackers/omx/vid_dec_h264.c
@@ -706,6 +706,11 @@ static void slice_header(vid_dec_PrivateType *priv, struct 
vl_rbsp *rbsp,
       if (pic_order_cnt_lsb != priv->codec_data.h264.pic_order_cnt_lsb)
          vid_dec_h264_EndFrame(priv);
 
+      if (IdrPicFlag) {
+         priv->codec_data.h264.pic_order_cnt_msb = 0;
+         priv->codec_data.h264.pic_order_cnt_lsb = 0;
+      }
+
       if ((pic_order_cnt_lsb < priv->codec_data.h264.pic_order_cnt_lsb) &&
           (priv->codec_data.h264.pic_order_cnt_lsb - pic_order_cnt_lsb) >= 
(max_pic_order_cnt_lsb / 2))
          pic_order_cnt_msb = priv->codec_data.h264.pic_order_cnt_msb + 
max_pic_order_cnt_lsb;

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to