DO NOT MERGE - Merge qt-qpr1-dev-plus-aosp-without-vendor (6129114) into stage-aosp-master
Bug: 146167222 Change-Id: I0bfd5bcbdfc87b371efb7ab5611ec505a10fa0f6
This commit is contained in:
commit
2f6efb8050
2 changed files with 32 additions and 27 deletions
|
|
@ -1115,6 +1115,30 @@ void ih264d_init_decoder(void * ps_dec_params)
|
|||
/* Free any dynamic buffers that are allocated */
|
||||
ih264d_free_dynamic_bufs(ps_dec);
|
||||
|
||||
{
|
||||
UWORD8 i;
|
||||
struct pic_buffer_t *ps_init_dpb;
|
||||
ps_init_dpb = ps_dec->ps_dpb_mgr->ps_init_dpb[0][0];
|
||||
for(i = 0; i < 2 * MAX_REF_BUFS; i++)
|
||||
{
|
||||
ps_init_dpb->pu1_buf1 = NULL;
|
||||
ps_init_dpb->u1_long_term_frm_idx = MAX_REF_BUFS + 1;
|
||||
ps_dec->ps_dpb_mgr->ps_init_dpb[0][i] = ps_init_dpb;
|
||||
ps_dec->ps_dpb_mgr->ps_mod_dpb[0][i] = ps_init_dpb;
|
||||
ps_init_dpb++;
|
||||
}
|
||||
|
||||
ps_init_dpb = ps_dec->ps_dpb_mgr->ps_init_dpb[1][0];
|
||||
for(i = 0; i < 2 * MAX_REF_BUFS; i++)
|
||||
{
|
||||
ps_init_dpb->pu1_buf1 = NULL;
|
||||
ps_init_dpb->u1_long_term_frm_idx = MAX_REF_BUFS + 1;
|
||||
ps_dec->ps_dpb_mgr->ps_init_dpb[1][i] = ps_init_dpb;
|
||||
ps_dec->ps_dpb_mgr->ps_mod_dpb[1][i] = ps_init_dpb;
|
||||
ps_init_dpb++;
|
||||
}
|
||||
}
|
||||
|
||||
ps_cur_slice = ps_dec->ps_cur_slice;
|
||||
ps_dec->init_done = 0;
|
||||
|
||||
|
|
@ -1623,29 +1647,6 @@ WORD32 ih264d_allocate_static_bufs(iv_obj_t **dec_hdl, void *pv_api_ip, void *pv
|
|||
ps_dec->ps_col_mv_base = pv_buf;
|
||||
memset(ps_dec->ps_col_mv_base, 0, size);
|
||||
|
||||
{
|
||||
UWORD8 i;
|
||||
struct pic_buffer_t *ps_init_dpb;
|
||||
ps_init_dpb = ps_dec->ps_dpb_mgr->ps_init_dpb[0][0];
|
||||
for(i = 0; i < 2 * MAX_REF_BUFS; i++)
|
||||
{
|
||||
ps_init_dpb->pu1_buf1 = NULL;
|
||||
ps_init_dpb->u1_long_term_frm_idx = MAX_REF_BUFS + 1;
|
||||
ps_dec->ps_dpb_mgr->ps_init_dpb[0][i] = ps_init_dpb;
|
||||
ps_dec->ps_dpb_mgr->ps_mod_dpb[0][i] = ps_init_dpb;
|
||||
ps_init_dpb++;
|
||||
}
|
||||
|
||||
ps_init_dpb = ps_dec->ps_dpb_mgr->ps_init_dpb[1][0];
|
||||
for(i = 0; i < 2 * MAX_REF_BUFS; i++)
|
||||
{
|
||||
ps_init_dpb->pu1_buf1 = NULL;
|
||||
ps_init_dpb->u1_long_term_frm_idx = MAX_REF_BUFS + 1;
|
||||
ps_dec->ps_dpb_mgr->ps_init_dpb[1][i] = ps_init_dpb;
|
||||
ps_dec->ps_dpb_mgr->ps_mod_dpb[1][i] = ps_init_dpb;
|
||||
ps_init_dpb++;
|
||||
}
|
||||
}
|
||||
ih264d_init_decoder(ps_dec);
|
||||
|
||||
return IV_SUCCESS;
|
||||
|
|
|
|||
|
|
@ -1239,7 +1239,9 @@ WORD32 ih264d_assign_display_seq(dec_struct_t *ps_dec)
|
|||
&& (DO_NOT_DISP
|
||||
!= ps_dpb_mgr->ai4_poc_buf_id_map[i][0]))
|
||||
{
|
||||
if(i4_poc_buf_id_map[i][1] < i4_min_poc)
|
||||
/* Checking for <= is necessary to handle cases where there is one
|
||||
valid buffer with poc set to 0x7FFFFFFF. */
|
||||
if(i4_poc_buf_id_map[i][1] <= i4_min_poc)
|
||||
{
|
||||
i4_min_poc = i4_poc_buf_id_map[i][1];
|
||||
i4_min_poc_buf_id = i4_poc_buf_id_map[i][0];
|
||||
|
|
@ -1303,8 +1305,8 @@ void ih264d_release_display_bufs(dec_struct_t *ps_dec)
|
|||
WORD32 (*i4_poc_buf_id_map)[3] = ps_dpb_mgr->ai4_poc_buf_id_map;
|
||||
|
||||
i4_min_poc = 0x7fffffff;
|
||||
i4_min_poc_buf_id = -1;
|
||||
i4_min_index = -1;
|
||||
i4_min_poc_buf_id = 0;
|
||||
i4_min_index = 0;
|
||||
|
||||
ih264d_delete_nonref_nondisplay_pics(ps_dpb_mgr);
|
||||
|
||||
|
|
@ -1315,7 +1317,9 @@ void ih264d_release_display_bufs(dec_struct_t *ps_dec)
|
|||
{
|
||||
if(i4_poc_buf_id_map[i][0] != -1)
|
||||
{
|
||||
if(i4_poc_buf_id_map[i][1] < i4_min_poc)
|
||||
/* Checking for <= is necessary to handle cases where there is one
|
||||
valid buffer with poc set to 0x7FFFFFFF. */
|
||||
if(i4_poc_buf_id_map[i][1] <= i4_min_poc)
|
||||
{
|
||||
i4_min_poc = i4_poc_buf_id_map[i][1];
|
||||
i4_min_poc_buf_id = i4_poc_buf_id_map[i][0];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue