mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-06 09:36:49 +08:00
[mpp_enc]: Clear rc info input before reenc
Before re-encode the bit_real and the quality_real should be be clear. Change-Id: I724c93fa49feaef7194a0a10c6278527aa51598a Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
This commit is contained in:
@@ -1543,6 +1543,22 @@ TASK_DONE:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void mpp_enc_clr_rc_cb_info(EncRcTask *rc_task)
|
||||||
|
{
|
||||||
|
EncRcTaskInfo *hal_rc = (EncRcTaskInfo *) &rc_task->info;
|
||||||
|
EncRcTaskInfo bak = rc_task->info;
|
||||||
|
|
||||||
|
memset(hal_rc, 0, sizeof(rc_task->info));
|
||||||
|
|
||||||
|
hal_rc->frame_type = bak.frame_type;
|
||||||
|
hal_rc->bit_target = bak.bit_target;
|
||||||
|
hal_rc->bit_max = bak.bit_max;
|
||||||
|
hal_rc->bit_min = bak.bit_min;
|
||||||
|
hal_rc->quality_target = bak.quality_target;
|
||||||
|
hal_rc->quality_max = bak.quality_max;
|
||||||
|
hal_rc->quality_min = bak.quality_min;
|
||||||
|
}
|
||||||
|
|
||||||
static MPP_RET mpp_enc_reenc_simple(Mpp *mpp, EncAsyncTaskInfo *task)
|
static MPP_RET mpp_enc_reenc_simple(Mpp *mpp, EncAsyncTaskInfo *task)
|
||||||
{
|
{
|
||||||
MppEncImpl *enc = (MppEncImpl *)mpp->mEnc;
|
MppEncImpl *enc = (MppEncImpl *)mpp->mEnc;
|
||||||
@@ -1554,6 +1570,8 @@ static MPP_RET mpp_enc_reenc_simple(Mpp *mpp, EncAsyncTaskInfo *task)
|
|||||||
|
|
||||||
enc_dbg_func("enter\n");
|
enc_dbg_func("enter\n");
|
||||||
|
|
||||||
|
mpp_enc_clr_rc_cb_info(rc_task);
|
||||||
|
|
||||||
enc_dbg_detail("task %d enc proc hal\n", frm->seq_idx);
|
enc_dbg_detail("task %d enc proc hal\n", frm->seq_idx);
|
||||||
ENC_RUN_FUNC2(enc_impl_proc_hal, enc->impl, hal_task, mpp, ret);
|
ENC_RUN_FUNC2(enc_impl_proc_hal, enc->impl, hal_task, mpp, ret);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user