summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarish Mahendrakar <harish.mahendrakar@ittiam.com>2016-12-26 11:21:07 +0530
committerIvan Kutepov <its.kutepov@gmail.com>2017-11-11 17:57:17 +0300
commitb04757a01d5a681ecb47cf0cc5e702b40e7e9b91 (patch)
tree9b84e0414e888e630cb7336ae1fa7399554e994b
parent45bb30c171b0e790353356f0ee408d6c9d91d9d7 (diff)
downloadandroid_external_libavc-b04757a01d5a681ecb47cf0cc5e702b40e7e9b91.tar.gz
android_external_libavc-b04757a01d5a681ecb47cf0cc5e702b40e7e9b91.tar.bz2
android_external_libavc-b04757a01d5a681ecb47cf0cc5e702b40e7e9b91.zip
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)
-rw-r--r--decoder/ih264d_api.c5
1 files changed, 3 insertions, 2 deletions
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))