mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-12-26 11:17:44 +01:00
feat[mpp_enc_cfg]: Change to object implement
Modification Point: 1. Use enc configure object macro. 2. Use kmpp_obj_update to sync user cfg setup. 3. Distinguish between user mode and kernel mode for enc obj. 4. EncImpl only check codec related SET_CFG result. 5. Refactor SET_CFG flow. 6. Adapter jpeg q_mode feature. Signed-off-by: Herman Chen <herman.chen@rock-chips.com> Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com> Change-Id: I2856acdf863189fdaa29121ad8bc007fe90b5ab5
This commit is contained in:
parent
17a370d2d0
commit
067de5647a
38 changed files with 1627 additions and 2918 deletions
|
|
@ -37,6 +37,7 @@ static char *kcfg_names[] = {
|
|||
[MPP_VENC_KCFG_TYPE_RESET] = "KmppVencResetCfg",
|
||||
[MPP_VENC_KCFG_TYPE_START] = "KmppVencStartCfg",
|
||||
[MPP_VENC_KCFG_TYPE_STOP] = "KmppVencStopCfg",
|
||||
[MPP_VENC_KCFG_TYPE_ST_CFG] = "KmppVencStCfg",
|
||||
};
|
||||
static KmppObjDef kcfg_defs[MPP_VENC_KCFG_TYPE_BUTT] = {NULL};
|
||||
|
||||
|
|
|
|||
|
|
@ -492,16 +492,13 @@ static MPP_RET control(Kmpp *ctx, MpiCmd cmd, MppParam param)
|
|||
switch (cmd) {
|
||||
case MPP_ENC_SET_CFG :
|
||||
case MPP_ENC_GET_CFG : {
|
||||
MppEncCfgImpl *impl = (MppEncCfgImpl *)param;
|
||||
|
||||
mpp_assert(impl->is_kobj);
|
||||
if (impl->is_kobj) {
|
||||
KmppObj obj = impl->obj;
|
||||
KmppObj obj = (KmppObj)param;
|
||||
|
||||
if (kmpp_obj_is_kobj(obj)) {
|
||||
arg = kmpp_obj_to_shm(obj);
|
||||
size = kmpp_obj_to_shm_size(obj);
|
||||
} else {
|
||||
mpp_loge("can not set non-kobj %p to kmpp\n", impl);
|
||||
mpp_loge("can not set non-kobj %p to kmpp\n", obj);
|
||||
return MPP_NOK;
|
||||
}
|
||||
} break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue