[rk_mpi]: Add encoder query function

Change-Id: I869d30bf11b26feee02f5ba307d98f6bbdcf7058
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This commit is contained in:
Herman Chen
2022-04-13 17:25:49 +08:00
parent 56adedbc37
commit f903701f44
2 changed files with 49 additions and 1 deletions

View File

@@ -47,7 +47,8 @@
/* encoder control command */
#define CMD_ENC_CFG_ALL (0x00000000)
#define CMD_ENC_CFG_RC_API (0x00000100)
#define CMD_ENC_QUERY (0x00000100)
#define CMD_ENC_CFG_RC_API (0x00000200)
#define CMD_ENC_CFG_MISC (0x00008000)
#define CMD_ENC_CFG_SPLIT (0x00008100)
@@ -136,6 +137,10 @@ typedef enum {
MPP_ENC_SET_ROI_CFG, /* set MppEncROICfg structure */
MPP_ENC_SET_CTU_QP, /* for H265 Encoder,set CTU's size and QP */
MPP_ENC_CMD_QUERY = CMD_MODULE_CODEC | CMD_CTX_ID_ENC | CMD_ENC_QUERY,
/* query encoder runtime information for encode stage */
MPP_ENC_QUERY, /* set and get MppEncQueryCfg structure */
/* User define rate control stategy API control */
MPP_ENC_CFG_RC_API = CMD_MODULE_CODEC | CMD_CTX_ID_ENC | CMD_ENC_CFG_RC_API,
/*

View File

@@ -149,6 +149,49 @@
* + + + +
*/
/*
* encoder query interface is only for debug usage
*/
#define MPP_ENC_QUERY_STATUS (0x00000001)
#define MPP_ENC_QUERY_WAIT (0x00000002)
#define MPP_ENC_QUERY_FPS (0x00000004)
#define MPP_ENC_QUERY_BPS (0x00000008)
#define MPP_ENC_QUERY_ENC_IN_FRM (0x00000010)
#define MPP_ENC_QUERY_ENC_WORK (0x00000020)
#define MPP_ENC_QUERY_ENC_OUT_PKT (0x00000040)
#define MPP_ENC_QUERY_ALL (MPP_ENC_QUERY_STATUS | \
MPP_ENC_QUERY_WAIT | \
MPP_ENC_QUERY_FPS | \
MPP_ENC_QUERY_BPS | \
MPP_ENC_QUERY_ENC_IN_FRM | \
MPP_ENC_QUERY_ENC_WORK | \
MPP_ENC_QUERY_ENC_OUT_PKT)
typedef struct MppEncQueryCfg_t {
/*
* 32 bit query flag for query data check
* Each bit represent a query data switch.
* bit 0 - for querying encoder runtime status
* bit 1 - for querying encoder runtime waiting status
* bit 2 - for querying encoder realtime encode fps
* bit 3 - for querying encoder realtime output bps
* bit 4 - for querying encoder input frame count
* bit 5 - for querying encoder start hardware times
* bit 6 - for querying encoder output packet count
*/
RK_U32 query_flag;
/* 64 bit query data output */
RK_U32 rt_status;
RK_U32 rt_wait;
RK_U32 rt_fps;
RK_U32 rt_bps;
RK_U32 enc_in_frm_cnt;
RK_U32 enc_hw_run_cnt;
RK_U32 enc_out_pkt_cnt;
} MppEncQueryCfg;
/*
* base working mode parameter
*/