diff options
Diffstat (limited to 'decoder/ih264d_parse_slice.c')
-rw-r--r-- | decoder/ih264d_parse_slice.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/decoder/ih264d_parse_slice.c b/decoder/ih264d_parse_slice.c index 5ff92f8..73bc45d 100644 --- a/decoder/ih264d_parse_slice.c +++ b/decoder/ih264d_parse_slice.c @@ -374,6 +374,7 @@ WORD32 ih264d_start_of_pic(dec_struct_t *ps_dec, ps_dec->ps_parse_cur_slice = &(ps_dec->ps_dec_slice_buf[0]); ps_dec->ps_decode_cur_slice = &(ps_dec->ps_dec_slice_buf[0]); ps_dec->ps_computebs_cur_slice = &(ps_dec->ps_dec_slice_buf[0]); + ps_dec->u2_cur_slice_num = 0; /* Initialize all the HP toolsets to zero */ ps_dec->s_high_profile.u1_scaling_present = 0; @@ -573,7 +574,6 @@ WORD32 ih264d_start_of_pic(dec_struct_t *ps_dec, ps_dec->u2_mv_2mb[1] = 0; ps_dec->u1_last_pic_not_decoded = 0; - ps_dec->u2_cur_slice_num = 0; ps_dec->u2_cur_slice_num_dec_thread = 0; ps_dec->u2_cur_slice_num_bs = 0; ps_dec->u4_intra_pred_line_ofst = 0; @@ -1425,7 +1425,10 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice, } if (ps_dec->u4_first_slice_in_pic == 0) + { ps_dec->ps_parse_cur_slice++; + ps_dec->u2_cur_slice_num++; + } ps_dec->u1_slice_header_done = 0; @@ -1908,7 +1911,6 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice, if(ret != OK) return ret; - ps_dec->u2_cur_slice_num++; /* storing last Mb X and MbY of the slice */ ps_dec->i2_prev_slice_mbx = ps_dec->u2_mbx; ps_dec->i2_prev_slice_mby = ps_dec->u2_mby; |