mirror of
https://github.com/ittiam-systems/libhevc.git
synced 2026-08-15 15:22:36 +07:00
Merge "Fix prev slice incomplete check" into lmp-dev am: 94c2e4ad73 am: 7ec4d76835 am: c0b7da5b7c am: 9d4d24e860 am: 8146b1fa13 am: 49e301c21f
am: 4d8b33a446
Change-Id: I53a4079cd51327b9cced65c342d291e8977a5f9e
This commit is contained in:
commit
46fa92251b
1 changed files with 12 additions and 11 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue