Signed-off-by: Leo Liu <[email protected]>
Cc: "10.6 11.0" <[email protected]>
---
src/gallium/state_trackers/omx/vid_dec_h264.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/gallium/state_trackers/omx/vid_dec_h264.c
b/src/gallium/state_trackers/omx/vid_dec_h264.c
index 18d8803..f66ed89 100644
--- a/src/gallium/state_trackers/omx/vid_dec_h264.c
+++ b/src/gallium/state_trackers/omx/vid_dec_h264.c
@@ -753,10 +753,14 @@ static void slice_header(vid_dec_PrivateType *priv,
struct vl_rbsp *rbsp,
priv->codec_data.h264.delta_pic_order_cnt_bottom =
delta_pic_order_cnt_bottom;
}
- priv->picture.h264.field_order_cnt[0] = pic_order_cnt_msb +
pic_order_cnt_lsb;
- priv->picture.h264.field_order_cnt[1] = pic_order_cnt_msb +
pic_order_cnt_lsb;
- if (!priv->picture.h264.field_pic_flag)
- priv->picture.h264.field_order_cnt[1] +=
priv->codec_data.h264.delta_pic_order_cnt_bottom;
+ if (!priv->picture.h264.field_pic_flag) {
+ priv->picture.h264.field_order_cnt[0] = pic_order_cnt_msb +
pic_order_cnt_lsb;
+ priv->picture.h264.field_order_cnt[1] =
priv->picture.h264.field_order_cnt [0] +
+
priv->codec_data.h264.delta_pic_order_cnt_bottom;
+ } else if (!priv->picture.h264.bottom_field_flag)
+ priv->picture.h264.field_order_cnt[0] = pic_order_cnt_msb +
pic_order_cnt_lsb;
+ else
+ priv->picture.h264.field_order_cnt[1] = pic_order_cnt_msb +
pic_order_cnt_lsb;
} else if (sps->pic_order_cnt_type == 1) {
unsigned MaxFrameNum = 1 << (sps->log2_max_frame_num_minus4 + 4);
--
1.9.1
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev