[mpp_meta]: Add meta key average qp for encoder

Change-Id: Iab3fde1a2a3e8e6f6150dfbeb6f5803d6e3cc240
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This commit is contained in:
Herman Chen
2021-01-14 10:01:46 +08:00
parent 4d82e3e9ab
commit b84425e15d
4 changed files with 9 additions and 0 deletions

View File

@@ -76,6 +76,7 @@ typedef enum MppMetaKey_e {
/* mpp_frame / mpp_packet meta data info key */
KEY_TEMPORAL_ID = FOURCC_META('t', 'l', 'i', 'd'),
KEY_LONG_REF_IDX = FOURCC_META('l', 't', 'i', 'd'),
KEY_ENC_AVERAGE_QP = FOURCC_META('a', 'v', 'g', 'q'),
KEY_ROI_DATA = FOURCC_META('r', 'o', 'i', ' '),
KEY_OSD_DATA = FOURCC_META('o', 's', 'd', ' '),
KEY_OSD_DATA2 = FOURCC_META('o', 's', 'd', '2'),

View File

@@ -42,6 +42,7 @@ static MppMetaDef meta_defs[] = {
/* extra information for tsvc */
{ KEY_TEMPORAL_ID, TYPE_S32, },
{ KEY_LONG_REF_IDX, TYPE_S32, },
{ KEY_ENC_AVERAGE_QP, TYPE_S32, },
{ KEY_ROI_DATA, TYPE_PTR, },
{ KEY_OSD_DATA, TYPE_PTR, },

View File

@@ -1842,6 +1842,8 @@ void *mpp_enc_thread(void *data)
mpp_meta_set_buffer(meta, KEY_MOTION_INFO, hal_task->mv_info);
mpp_meta_set_s32(meta, KEY_OUTPUT_INTRA, frm->is_intra);
if (rc_task->info.quality_real)
mpp_meta_set_s32(meta, KEY_ENC_AVERAGE_QP, rc_task->info.quality_real);
}
/*

View File

@@ -714,6 +714,7 @@ MPP_RET test_mpp_run(MpiEncTestData *p)
meta = mpp_packet_get_meta(packet);
RK_S32 temporal_id = 0;
RK_S32 lt_idx = -1;
RK_S32 avg_qp = -1;
if (MPP_OK == mpp_meta_get_s32(meta, KEY_TEMPORAL_ID, &temporal_id))
log_len += snprintf(log_buf + log_len, log_size - log_len,
@@ -722,6 +723,10 @@ MPP_RET test_mpp_run(MpiEncTestData *p)
if (MPP_OK == mpp_meta_get_s32(meta, KEY_LONG_REF_IDX, &lt_idx))
log_len += snprintf(log_buf + log_len, log_size - log_len,
" lt %d", lt_idx);
if (MPP_OK == mpp_meta_get_s32(meta, KEY_ENC_AVERAGE_QP, &avg_qp))
log_len += snprintf(log_buf + log_len, log_size - log_len,
" qp %d", avg_qp);
}
mpp_log("%p %s\n", ctx, log_buf);