archived-mpp/mpp/inc/mpp_enc_cfg.h
Herman Chen f507421f8b chore[mpp_enc_cfg]: Remove MppEncCodecCfg
1. Revert codec cfg to separate h264/h265/jpeg/vp8 cfg.
2. Update enc/dec/sys cfg_test print.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ida5da8a6b738fbf710e1ab590bc6b6f3438319c4
2025-09-10 17:39:55 +08:00

65 lines
1.5 KiB
C

/* SPDX-License-Identifier: Apache-2.0 OR MIT */
/*
* Copyright (c) 2015 Rockchip Electronics Co., Ltd.
*/
#ifndef __MPP_ENC_CFG_H__
#define __MPP_ENC_CFG_H__
#include "rk_venc_cmd.h"
#include "rk_venc_ref.h"
#include "mpp_rc_defs.h"
#include "kmpp_obj.h"
/*
* MppEncCfgSet shows the relationship between different configuration
* Due to the huge amount of configurable parameters we need to setup
* only minimum amount of necessary parameters.
*
* For normal user rc and prep config are enough.
*/
typedef struct MppEncCfgSet_t {
RK_S32 size;
MppEncBaseCfg base;
// esential config
MppEncPrepCfg prep;
MppEncRcCfg rc;
// hardware related config
MppEncHwCfg hw;
// codec detail config
MppEncH264Cfg h264;
MppEncH265Cfg h265;
MppEncJpegCfg jpeg;
MppEncVp8Cfg vp8;
MppEncSliceSplit split;
MppEncRefCfg ref_cfg;
union {
MppEncROICfg roi;
/* for kmpp venc roi */
MppEncROICfgLegacy roi_legacy;
};
/* for kmpp venc osd */
MppEncOSDData3 osd;
MppEncOSDPltCfg plt_cfg;
MppEncOSDPlt plt_data;
/* for kmpp venc ref */
MppEncRefParam ref_param;
// quality fine tuning config
MppEncFineTuneCfg tune;
} MppEncCfgSet;
typedef struct MppEncCfgImpl_t {
RK_U32 is_kobj;
union {
MppEncCfgSet *cfg;
KmppObj obj;
};
} MppEncCfgImpl;
#endif /*__MPP_ENC_CFG_H__*/