From b04757a01d5a681ecb47cf0cc5e702b40e7e9b91 Mon Sep 17 00:00:00 2001 From: Harish Mahendrakar Date: Mon, 26 Dec 2016 11:21:07 +0530 Subject: Decoder: Fixed number of MB calculation for interlaced error streams At the end of picture processing, if the current pic is partially decoded, number of MBs to be processed was wrongly calculated for interlaced cases. Bug: 33129467 Change-Id: Ia81186c60d346f02663607f2dc14166781db6a69 (cherry picked from commit e1cf7ea8ae9af4d8b5aca7efba61025dae10a345) --- decoder/ih264d_api.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'decoder') diff --git a/decoder/ih264d_api.c b/decoder/ih264d_api.c index 8454a7b..b6288b4 100644 --- a/decoder/ih264d_api.c +++ b/decoder/ih264d_api.c @@ -2215,8 +2215,9 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op) WORD32 prev_slice_err; pocstruct_t temp_poc; WORD32 ret1; - - num_mb_skipped = (ps_dec->u2_frm_ht_in_mbs * ps_dec->u2_frm_wd_in_mbs) + WORD32 ht_in_mbs; + ht_in_mbs = ps_dec->u2_pic_ht >> (4 + ps_dec->ps_cur_slice->u1_field_pic_flag); + num_mb_skipped = (ht_in_mbs * ps_dec->u2_frm_wd_in_mbs) - ps_dec->u2_total_mbs_coded; if(ps_dec->u4_first_slice_in_pic && (ps_dec->u4_pic_buf_got == 0)) -- cgit v1.2.3