mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-18 23:14:35 +08:00
[vp9d]: fix issue for frame is NULL
when frame is null, it cannot get_frame_poc from frame. Change-Id: If94488640b46eeb0faa800c1966c0d747ed9f396 Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
This commit is contained in:
@@ -539,28 +539,30 @@ static MPP_RET hal_vp9d_vdpu34x_gen_regs(void *hal, HalTaskInfo *task)
|
||||
|
||||
vp9_hw_regs->common.reg028.sw_poc_arb_flag = 1;
|
||||
mpp_buf_slot_get_prop(p_hal->slots, task->dec.output, SLOT_FRAME, &mframe);
|
||||
|
||||
vp9_hw_regs->vp9d_param.reg65.cur_poc = mpp_frame_get_poc(mframe);
|
||||
vp9_hw_regs->vp9d_param.reg65.cur_poc = mframe ? mpp_frame_get_poc(mframe) : 0;
|
||||
// last poc
|
||||
ref_idx = pic_param->frame_refs[0].Index7Bits;
|
||||
ref_frame_idx = pic_param->ref_frame_map[ref_idx].Index7Bits;
|
||||
if (ref_frame_idx < 0x7f) {
|
||||
mframe = NULL;
|
||||
mpp_buf_slot_get_prop(p_hal ->slots, ref_frame_idx, SLOT_FRAME, &mframe);
|
||||
vp9_hw_regs->vp9d_param.reg95.last_poc = mpp_frame_get_poc(mframe);
|
||||
vp9_hw_regs->vp9d_param.reg95.last_poc = mframe ? mpp_frame_get_poc(mframe) : 0;
|
||||
}
|
||||
// golden poc
|
||||
ref_idx = pic_param->frame_refs[1].Index7Bits;
|
||||
ref_frame_idx = pic_param->ref_frame_map[ref_idx].Index7Bits;
|
||||
if (ref_frame_idx < 0x7f) {
|
||||
mframe = NULL;
|
||||
mpp_buf_slot_get_prop(p_hal ->slots, ref_frame_idx, SLOT_FRAME, &mframe);
|
||||
vp9_hw_regs->vp9d_param.reg96.golden_poc = mpp_frame_get_poc(mframe);
|
||||
vp9_hw_regs->vp9d_param.reg96.golden_poc = mframe ? mpp_frame_get_poc(mframe) : 0;
|
||||
}
|
||||
// altref poc
|
||||
ref_idx = pic_param->frame_refs[2].Index7Bits;
|
||||
ref_frame_idx = pic_param->ref_frame_map[ref_idx].Index7Bits;
|
||||
if (ref_frame_idx < 0x7f) {
|
||||
mframe = NULL;
|
||||
mpp_buf_slot_get_prop(p_hal ->slots, ref_frame_idx, SLOT_FRAME, &mframe);
|
||||
vp9_hw_regs->vp9d_param.reg97.altref_poc = mpp_frame_get_poc(mframe);
|
||||
vp9_hw_regs->vp9d_param.reg97.altref_poc = mframe ? mpp_frame_get_poc(mframe) : 0;
|
||||
}
|
||||
// colref poc
|
||||
vp9_hw_regs->vp9d_param.reg98.col_ref_poc =
|
||||
|
Reference in New Issue
Block a user