From e1cf7ea8ae9af4d8b5aca7efba61025dae10a345 Mon Sep 17 00:00:00 2001 From: Harish Mahendrakar Date: Mon, 26 Dec 2016 11:21:07 +0530 Subject: [PATCH] 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 --- decoder/ih264d_api.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/decoder/ih264d_api.c b/decoder/ih264d_api.c index a81cdc0..8aa5e48 100644 --- a/decoder/ih264d_api.c +++ b/decoder/ih264d_api.c @@ -3115,8 +3115,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))