feat[kmpp]: Add jpeg roi function for kmpp

Sync with kmpp-develop commit:
feat[kmpp]: Add jpeg roi function for RV1126B

Change-Id: Ifeb5ce7b75af6fc3fc0e66fbe727dfd30a325a0e
Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
This commit is contained in:
xiaoxu.chen
2025-07-31 16:26:44 +08:00
parent 225418ca78
commit 7043132d0c
3 changed files with 22 additions and 3 deletions

View File

@@ -148,6 +148,8 @@ 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_GET_ROI_CFG, /* get MppEncROICfg structure */
MPP_ENC_SET_JPEG_ROI_CFG, /* set MppJpegROICfg structure */
MPP_ENC_GET_JPEG_ROI_CFG, /* get MppJpegROICfg structure */
MPP_ENC_CMD_QUERY = CMD_MODULE_CODEC | CMD_CTX_ID_ENC | CMD_ENC_QUERY,
/* query encoder runtime information for encode stage */

View File

@@ -1345,6 +1345,22 @@ typedef struct MppEncROICfg2_t {
RK_U32 reserve[3];
} MppEncROICfg2;
typedef struct MppJpegROIRegion_t {
RK_U16 x; /* horizontal position of top left corner */
RK_U16 y; /* vertical position of top left corner */
RK_U16 w; /* width of ROI rectangle */
RK_U16 h; /* height of ROI rectangle */
RK_U8 level; /* the strength of erasing residuals for roi */
RK_U8 roi_en; /* enable roi */
} MppJpegROIRegion;
typedef struct MppJpegROICfg_t {
RK_U32 change;
RK_U16 non_roi_level; /* the strength of erasing residuals for non-roi */
RK_U16 non_roi_en; /* enable non-roi */
MppJpegROIRegion regions[16];
} MppJpegROICfg;
/*
* Mpp OSD parameter
*

View File

@@ -506,9 +506,10 @@ static MPP_RET control(Kmpp *ctx, MpiCmd cmd, MppParam param)
case MPP_ENC_SET_ROI_CFG: {
size = sizeof(MppEncROICfgLegacy);
} break;
// case MPP_ENC_SET_JPEG_ROI_CFG : {
// size = sizeof(MppJpegROICfg);
// } break;
case MPP_ENC_SET_JPEG_ROI_CFG :
case MPP_ENC_GET_JPEG_ROI_CFG : {
size = sizeof(MppJpegROICfg);
} break;
case MPP_ENC_SET_OSD_DATA_CFG: {
size = sizeof(MppEncOSDData3);
} break;