mirror of
https://github.com/nyanmisaka/mpp.git
synced 2026-01-24 03:10:39 +01:00
[meta]: Add more meta key for encoder
1. Add KEY_ENC_MARK_LTR for marking current frame to be long-term referece frame. 2. Add KEY_ENC_USE_LTR for assigning a long-term reference frame as current frame's reference frame. 3. Add KEY_ENC_FRAME_QP for assigning a fix QP for current frame. 4. Add KEY_ENC_BASE_LAYER_PID for assining a priority id for base layer in tsvc mode. All these four features are defined in MLVEC test. Signed-off-by: Herman Chen <herman.chen@rock-chips.com> Change-Id: Ib041d9c2f203d7e582a3402bd61dd6a9eb18015a
This commit is contained in:
parent
4397cb30ca
commit
7f4ebeec8e
2 changed files with 28 additions and 15 deletions
|
|
@ -82,6 +82,14 @@ typedef enum MppMetaKey_e {
|
|||
|
||||
/* input motion list for smart p rate control */
|
||||
KEY_MV_LIST = FOURCC_META('m', 'v', 'l', 't'),
|
||||
|
||||
/* frame long-term reference frame operation */
|
||||
KEY_ENC_MARK_LTR = FOURCC_META('m', 'l', 't', 'r'),
|
||||
KEY_ENC_USE_LTR = FOURCC_META('u', 'l', 't', 'r'),
|
||||
|
||||
/* MLVEC specified encoder feature */
|
||||
KEY_ENC_FRAME_QP = FOURCC_META('f', 'r', 'm', 'q'),
|
||||
KEY_ENC_BASE_LAYER_PID = FOURCC_META('b', 'p', 'i', 'd'),
|
||||
} MppMetaKey;
|
||||
|
||||
#define mpp_meta_get(meta) mpp_meta_get_with_tag(meta, MODULE_TAG, __FUNCTION__)
|
||||
|
|
|
|||
|
|
@ -26,27 +26,32 @@
|
|||
static MppMetaDef meta_defs[] = {
|
||||
/* categorized by type */
|
||||
/* data flow type */
|
||||
{ KEY_INPUT_FRAME, TYPE_FRAME, },
|
||||
{ KEY_OUTPUT_FRAME, TYPE_FRAME, },
|
||||
{ KEY_INPUT_PACKET, TYPE_PACKET, },
|
||||
{ KEY_OUTPUT_PACKET, TYPE_PACKET, },
|
||||
{ KEY_INPUT_FRAME, TYPE_FRAME, },
|
||||
{ KEY_OUTPUT_FRAME, TYPE_FRAME, },
|
||||
{ KEY_INPUT_PACKET, TYPE_PACKET, },
|
||||
{ KEY_OUTPUT_PACKET, TYPE_PACKET, },
|
||||
/* buffer for motion detection */
|
||||
{ KEY_MOTION_INFO, TYPE_BUFFER, },
|
||||
{ KEY_MOTION_INFO, TYPE_BUFFER, },
|
||||
/* buffer storing the HDR information for current frame*/
|
||||
{ KEY_HDR_INFO, TYPE_BUFFER, },
|
||||
{ KEY_HDR_INFO, TYPE_BUFFER, },
|
||||
|
||||
{ KEY_OUTPUT_INTRA, TYPE_S32, },
|
||||
{ KEY_INPUT_BLOCK, TYPE_S32, },
|
||||
{ KEY_OUTPUT_BLOCK, TYPE_S32, },
|
||||
{ KEY_OUTPUT_INTRA, TYPE_S32, },
|
||||
{ KEY_INPUT_BLOCK, TYPE_S32, },
|
||||
{ KEY_OUTPUT_BLOCK, TYPE_S32, },
|
||||
|
||||
/* extra information for tsvc */
|
||||
{ KEY_TEMPORAL_ID, TYPE_S32, },
|
||||
{ KEY_LONG_REF_IDX, TYPE_S32, },
|
||||
{ KEY_TEMPORAL_ID, TYPE_S32, },
|
||||
{ KEY_LONG_REF_IDX, TYPE_S32, },
|
||||
|
||||
{ KEY_ROI_DATA, TYPE_PTR, },
|
||||
{ KEY_OSD_DATA, TYPE_PTR, },
|
||||
{ KEY_USER_DATA, TYPE_PTR, },
|
||||
{ KEY_MV_LIST, TYPE_PTR, },
|
||||
{ KEY_ROI_DATA, TYPE_PTR, },
|
||||
{ KEY_OSD_DATA, TYPE_PTR, },
|
||||
{ KEY_USER_DATA, TYPE_PTR, },
|
||||
{ KEY_MV_LIST, TYPE_PTR, },
|
||||
|
||||
{ KEY_ENC_MARK_LTR, TYPE_S32, },
|
||||
{ KEY_ENC_USE_LTR, TYPE_S32, },
|
||||
{ KEY_ENC_FRAME_QP, TYPE_S32, },
|
||||
{ KEY_ENC_BASE_LAYER_PID, TYPE_S32, },
|
||||
};
|
||||
|
||||
class MppMetaService
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue