Merge "Fix prev slice incomplete check" into lmp-dev am: 94c2e4ad73 am: 7ec4d76835 am: c0b7da5b7c am: 9d4d24e860 am: 8146b1fa13 am: 49e301c21f am: 4d8b33a446 am: 46fa92251b am: b18fd7661a

am: 7ca8aafc72

Change-Id: Id5485a29668f56862c4d1bce6db1f6a1d0d35f21
This commit is contained in:
Wei Jia 2017-11-03 19:33:28 +00:00 committed by android-build-merger
commit 32620cb208

View file

@ -234,6 +234,7 @@ IHEVCD_ERROR_T ihevcd_parse_slice_header(codec_t *ps_codec,
WORD8 i1_nal_unit_type = ps_nal->i1_nal_unit_type;
WORD32 num_poc_total_curr = 0;
WORD32 slice_address;
WORD32 prev_slice_incomplete_flag = 0;
if(ps_codec->i4_slice_error == 1)
return ret;
@ -730,16 +731,7 @@ IHEVCD_ERROR_T ihevcd_parse_slice_header(codec_t *ps_codec,
{
if(ps_codec->i4_pic_present)
{
slice_header_t *ps_slice_hdr_next;
ps_codec->i4_slice_error = 1;
ps_codec->s_parse.i4_cur_slice_idx--;
if(ps_codec->s_parse.i4_cur_slice_idx < 0)
ps_codec->s_parse.i4_cur_slice_idx = 0;
ps_slice_hdr_next = ps_codec->s_parse.ps_slice_hdr_base + ((ps_codec->s_parse.i4_cur_slice_idx + 1) & (MAX_SLICE_HDR_CNT - 1));
ps_slice_hdr_next->i2_ctb_x = slice_address % ps_sps->i2_pic_wd_in_ctb;
ps_slice_hdr_next->i2_ctb_y = slice_address / ps_sps->i2_pic_wd_in_ctb;
return ret;
prev_slice_incomplete_flag = 1;
}
else
{
@ -1009,7 +1001,8 @@ IHEVCD_ERROR_T ihevcd_parse_slice_header(codec_t *ps_codec,
slice_header_t *ps_slice_hdr_prev = ps_codec->s_parse.ps_slice_hdr_base;
ihevcd_copy_slice_hdr(ps_codec, 0, (ps_codec->s_parse.i4_cur_slice_idx & (MAX_SLICE_HDR_CNT - 1)));
ps_codec->i4_slice_error = 1;
prev_slice_incomplete_flag = 1;
ASSERT(ps_codec->s_parse.i4_cur_slice_idx == 1);
ps_slice_hdr_prev->i2_ctb_x = 0;
ps_slice_hdr_prev->i2_ctb_y = 0;
@ -1048,5 +1041,13 @@ IHEVCD_ERROR_T ihevcd_parse_slice_header(codec_t *ps_codec,
}
}
if(prev_slice_incomplete_flag)
{
ps_codec->i4_slice_error = 1;
ps_codec->s_parse.i4_cur_slice_idx--;
if(ps_codec->s_parse.i4_cur_slice_idx < 0)
ps_codec->s_parse.i4_cur_slice_idx = 0;
}
return ret;
}