mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-09-26 21:15:53 +08:00
fix[mpp_venc_kcfg]: Revert to mpp interface
Signed-off-by: Herman Chen <herman.chen@rock-chips.com> Change-Id: I546667e2647e5d5cdb0adb14e448577b1d0b7a0b
This commit is contained in:
@@ -9,40 +9,40 @@
|
|||||||
#include "rk_type.h"
|
#include "rk_type.h"
|
||||||
#include "mpp_err.h"
|
#include "mpp_err.h"
|
||||||
|
|
||||||
typedef void* KmppVenccfg;
|
typedef void* MppVencKcfg;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
KMPP_VENC_CFG_TYPE_INIT,
|
MPP_VENC_KCFG_TYPE_INIT,
|
||||||
KMPP_VENC_CFG_TYPE_DEINIT,
|
MPP_VENC_KCFG_TYPE_DEINIT,
|
||||||
KMPP_VENC_CFG_TYPE_RESET,
|
MPP_VENC_KCFG_TYPE_RESET,
|
||||||
KMPP_VENC_CFG_TYPE_START,
|
MPP_VENC_KCFG_TYPE_START,
|
||||||
KMPP_VENC_CFG_TYPE_STOP,
|
MPP_VENC_KCFG_TYPE_STOP,
|
||||||
KMPP_VENC_CFG_TYPE_BUTT,
|
MPP_VENC_KCFG_TYPE_BUTT,
|
||||||
} MppVencKcfgType;
|
} MppVencKcfgType;
|
||||||
|
|
||||||
MPP_RET kmpp_venc_cfg_init(KmppVenccfg *cfg, MppVencKcfgType type);
|
MPP_RET mpp_venc_kcfg_init(MppVencKcfg *cfg, MppVencKcfgType type);
|
||||||
MPP_RET kmpp_venc_cfg_init_by_name(KmppVenccfg *cfg, const char *name);
|
MPP_RET mpp_venc_kcfg_init_by_name(MppVencKcfg *cfg, const char *name);
|
||||||
MPP_RET kmpp_venc_cfg_deinit(KmppVenccfg cfg);
|
MPP_RET mpp_venc_kcfg_deinit(MppVencKcfg cfg);
|
||||||
|
|
||||||
MPP_RET kmpp_venc_cfg_set_s32(KmppVenccfg cfg, const char *name, RK_S32 val);
|
MPP_RET mpp_venc_kcfg_set_s32(MppVencKcfg cfg, const char *name, RK_S32 val);
|
||||||
MPP_RET kmpp_venc_cfg_set_u32(KmppVenccfg cfg, const char *name, RK_U32 val);
|
MPP_RET mpp_venc_kcfg_set_u32(MppVencKcfg cfg, const char *name, RK_U32 val);
|
||||||
MPP_RET kmpp_venc_cfg_set_s64(KmppVenccfg cfg, const char *name, RK_S64 val);
|
MPP_RET mpp_venc_kcfg_set_s64(MppVencKcfg cfg, const char *name, RK_S64 val);
|
||||||
MPP_RET kmpp_venc_cfg_set_u64(KmppVenccfg cfg, const char *name, RK_U64 val);
|
MPP_RET mpp_venc_kcfg_set_u64(MppVencKcfg cfg, const char *name, RK_U64 val);
|
||||||
MPP_RET kmpp_venc_cfg_set_ptr(KmppVenccfg cfg, const char *name, void *val);
|
MPP_RET mpp_venc_kcfg_set_ptr(MppVencKcfg cfg, const char *name, void *val);
|
||||||
MPP_RET kmpp_venc_cfg_set_st(KmppVenccfg cfg, const char *name, void *val);
|
MPP_RET mpp_venc_kcfg_set_st(MppVencKcfg cfg, const char *name, void *val);
|
||||||
|
|
||||||
MPP_RET kmpp_venc_cfg_get_s32(KmppVenccfg cfg, const char *name, RK_S32 *val);
|
MPP_RET mpp_venc_kcfg_get_s32(MppVencKcfg cfg, const char *name, RK_S32 *val);
|
||||||
MPP_RET kmpp_venc_cfg_get_u32(KmppVenccfg cfg, const char *name, RK_U32 *val);
|
MPP_RET mpp_venc_kcfg_get_u32(MppVencKcfg cfg, const char *name, RK_U32 *val);
|
||||||
MPP_RET kmpp_venc_cfg_get_s64(KmppVenccfg cfg, const char *name, RK_S64 *val);
|
MPP_RET mpp_venc_kcfg_get_s64(MppVencKcfg cfg, const char *name, RK_S64 *val);
|
||||||
MPP_RET kmpp_venc_cfg_get_u64(KmppVenccfg cfg, const char *name, RK_U64 *val);
|
MPP_RET mpp_venc_kcfg_get_u64(MppVencKcfg cfg, const char *name, RK_U64 *val);
|
||||||
MPP_RET kmpp_venc_cfg_get_ptr(KmppVenccfg cfg, const char *name, void **val);
|
MPP_RET mpp_venc_kcfg_get_ptr(MppVencKcfg cfg, const char *name, void **val);
|
||||||
MPP_RET kmpp_venc_cfg_get_st(KmppVenccfg cfg, const char *name, void *val);
|
MPP_RET mpp_venc_kcfg_get_st(MppVencKcfg cfg, const char *name, void *val);
|
||||||
|
|
||||||
void kmpp_venc_cfg_show(KmppVenccfg cfg);
|
void mpp_venc_kcfg_show(MppVencKcfg cfg);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@@ -31,19 +31,19 @@
|
|||||||
static RK_U32 venc_kcfg_debug = 0;
|
static RK_U32 venc_kcfg_debug = 0;
|
||||||
|
|
||||||
static char *kcfg_names[] = {
|
static char *kcfg_names[] = {
|
||||||
[KMPP_VENC_CFG_TYPE_INIT] = "KmppVencInitCfg",
|
[MPP_VENC_KCFG_TYPE_INIT] = "KmppVencInitCfg",
|
||||||
[KMPP_VENC_CFG_TYPE_DEINIT] = "KmppVencDeinitCfg",
|
[MPP_VENC_KCFG_TYPE_DEINIT] = "KmppVencDeinitCfg",
|
||||||
[KMPP_VENC_CFG_TYPE_RESET] = "KmppVencResetCfg",
|
[MPP_VENC_KCFG_TYPE_RESET] = "KmppVencResetCfg",
|
||||||
[KMPP_VENC_CFG_TYPE_START] = "KmppVencStartCfg",
|
[MPP_VENC_KCFG_TYPE_START] = "KmppVencStartCfg",
|
||||||
[KMPP_VENC_CFG_TYPE_STOP] = "KmppVencStopCfg",
|
[MPP_VENC_KCFG_TYPE_STOP] = "KmppVencStopCfg",
|
||||||
};
|
};
|
||||||
static KmppObjDef kcfg_defs[KMPP_VENC_CFG_TYPE_BUTT] = {NULL};
|
static KmppObjDef kcfg_defs[MPP_VENC_KCFG_TYPE_BUTT] = {NULL};
|
||||||
static pthread_mutex_t lock;
|
static pthread_mutex_t lock;
|
||||||
|
|
||||||
static void kmpp_venc_cfg_def_init() __attribute__((constructor));
|
static void mpp_venc_kcfg_def_init() __attribute__((constructor));
|
||||||
static void kmpp_venc_cfg_def_deinit() __attribute__((destructor));
|
static void mpp_venc_kcfg_def_deinit() __attribute__((destructor));
|
||||||
|
|
||||||
static void kmpp_venc_cfg_def_init(void)
|
static void mpp_venc_kcfg_def_init(void)
|
||||||
{
|
{
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
|
|
||||||
@@ -53,12 +53,12 @@ static void kmpp_venc_cfg_def_init(void)
|
|||||||
pthread_mutexattr_destroy(&attr);
|
pthread_mutexattr_destroy(&attr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void kmpp_venc_cfg_def_deinit(void)
|
static void mpp_venc_kcfg_def_deinit(void)
|
||||||
{
|
{
|
||||||
RK_U32 i;
|
RK_U32 i;
|
||||||
|
|
||||||
pthread_mutex_lock(&lock);
|
pthread_mutex_lock(&lock);
|
||||||
for (i = 0; i < KMPP_VENC_CFG_TYPE_BUTT; i++) {
|
for (i = 0; i < MPP_VENC_KCFG_TYPE_BUTT; i++) {
|
||||||
if (kcfg_defs[i]) {
|
if (kcfg_defs[i]) {
|
||||||
kmpp_objdef_put(kcfg_defs[i]);
|
kmpp_objdef_put(kcfg_defs[i]);
|
||||||
kcfg_defs[i] = NULL;
|
kcfg_defs[i] = NULL;
|
||||||
@@ -68,7 +68,7 @@ static void kmpp_venc_cfg_def_deinit(void)
|
|||||||
pthread_mutex_destroy(&lock);
|
pthread_mutex_destroy(&lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
MPP_RET kmpp_venc_cfg_init(KmppVenccfg *cfg, MppVencKcfgType type)
|
MPP_RET mpp_venc_kcfg_init(MppVencKcfg *cfg, MppVencKcfgType type)
|
||||||
{
|
{
|
||||||
KmppObj obj = NULL;
|
KmppObj obj = NULL;
|
||||||
|
|
||||||
@@ -77,7 +77,7 @@ MPP_RET kmpp_venc_cfg_init(KmppVenccfg *cfg, MppVencKcfgType type)
|
|||||||
return MPP_ERR_NULL_PTR;
|
return MPP_ERR_NULL_PTR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type >= KMPP_VENC_CFG_TYPE_BUTT) {
|
if (type >= MPP_VENC_KCFG_TYPE_BUTT) {
|
||||||
mpp_err_f("invalid config type %d\n", type);
|
mpp_err_f("invalid config type %d\n", type);
|
||||||
return MPP_ERR_VALUE;
|
return MPP_ERR_VALUE;
|
||||||
}
|
}
|
||||||
@@ -103,10 +103,10 @@ MPP_RET kmpp_venc_cfg_init(KmppVenccfg *cfg, MppVencKcfgType type)
|
|||||||
return obj ? MPP_OK : MPP_NOK;
|
return obj ? MPP_OK : MPP_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
MPP_RET kmpp_venc_cfg_init_by_name(KmppVenccfg *cfg, const char *name)
|
MPP_RET mpp_venc_kcfg_init_by_name(MppVencKcfg *cfg, const char *name)
|
||||||
{
|
{
|
||||||
KmppObj obj = NULL;
|
KmppObj obj = NULL;
|
||||||
MppVencKcfgType type = KMPP_VENC_CFG_TYPE_BUTT;
|
MppVencKcfgType type = MPP_VENC_KCFG_TYPE_BUTT;
|
||||||
RK_U32 i;
|
RK_U32 i;
|
||||||
|
|
||||||
if (!cfg) {
|
if (!cfg) {
|
||||||
@@ -114,14 +114,14 @@ MPP_RET kmpp_venc_cfg_init_by_name(KmppVenccfg *cfg, const char *name)
|
|||||||
return MPP_ERR_NULL_PTR;
|
return MPP_ERR_NULL_PTR;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < KMPP_VENC_CFG_TYPE_BUTT; i++) {
|
for (i = 0; i < MPP_VENC_KCFG_TYPE_BUTT; i++) {
|
||||||
if (!strncmp(name, kcfg_names[i], strlen(kcfg_names[i]))) {
|
if (!strncmp(name, kcfg_names[i], strlen(kcfg_names[i]))) {
|
||||||
type = i;
|
type = i;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type >= KMPP_VENC_CFG_TYPE_BUTT) {
|
if (type >= MPP_VENC_KCFG_TYPE_BUTT) {
|
||||||
mpp_err_f("invalid config name %s\n", name);
|
mpp_err_f("invalid config name %s\n", name);
|
||||||
return MPP_ERR_VALUE;
|
return MPP_ERR_VALUE;
|
||||||
}
|
}
|
||||||
@@ -135,7 +135,7 @@ MPP_RET kmpp_venc_cfg_init_by_name(KmppVenccfg *cfg, const char *name)
|
|||||||
return obj ? MPP_OK : MPP_NOK;
|
return obj ? MPP_OK : MPP_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
MPP_RET kmpp_venc_cfg_deinit(KmppVenccfg cfg)
|
MPP_RET mpp_venc_kcfg_deinit(MppVencKcfg cfg)
|
||||||
{
|
{
|
||||||
KmppObj obj = cfg;
|
KmppObj obj = cfg;
|
||||||
|
|
||||||
@@ -147,8 +147,8 @@ MPP_RET kmpp_venc_cfg_deinit(KmppVenccfg cfg)
|
|||||||
return kmpp_obj_put_f(obj);
|
return kmpp_obj_put_f(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define KMPP_VENC_CFG_ACCESS(set_type, get_type, cfg_type) \
|
#define MPP_VENC_KCFG_ACCESS(set_type, get_type, cfg_type) \
|
||||||
MPP_RET kmpp_venc_cfg_set_##cfg_type(KmppVenccfg cfg, const char *name, set_type val) \
|
MPP_RET mpp_venc_kcfg_set_##cfg_type(MppVencKcfg cfg, const char *name, set_type val) \
|
||||||
{ \
|
{ \
|
||||||
if (!cfg || !name) { \
|
if (!cfg || !name) { \
|
||||||
mpp_err_f("invalid input cfg %p name %p\n", cfg, name); \
|
mpp_err_f("invalid input cfg %p name %p\n", cfg, name); \
|
||||||
@@ -158,7 +158,7 @@ MPP_RET kmpp_venc_cfg_deinit(KmppVenccfg cfg)
|
|||||||
MPP_RET ret = (MPP_RET)kmpp_obj_set_##cfg_type(obj, name, val); \
|
MPP_RET ret = (MPP_RET)kmpp_obj_set_##cfg_type(obj, name, val); \
|
||||||
return ret; \
|
return ret; \
|
||||||
} \
|
} \
|
||||||
MPP_RET kmpp_venc_cfg_get_##cfg_type(KmppVenccfg cfg, const char *name, get_type val) \
|
MPP_RET mpp_venc_kcfg_get_##cfg_type(MppVencKcfg cfg, const char *name, get_type val) \
|
||||||
{ \
|
{ \
|
||||||
if (!cfg || !name) { \
|
if (!cfg || !name) { \
|
||||||
mpp_err_f("invalid input cfg %p name %p\n", cfg, name); \
|
mpp_err_f("invalid input cfg %p name %p\n", cfg, name); \
|
||||||
@@ -169,14 +169,14 @@ MPP_RET kmpp_venc_cfg_deinit(KmppVenccfg cfg)
|
|||||||
return ret; \
|
return ret; \
|
||||||
}
|
}
|
||||||
|
|
||||||
KMPP_VENC_CFG_ACCESS(RK_S32, RK_S32*, s32);
|
MPP_VENC_KCFG_ACCESS(RK_S32, RK_S32*, s32);
|
||||||
KMPP_VENC_CFG_ACCESS(RK_U32, RK_U32*, u32);
|
MPP_VENC_KCFG_ACCESS(RK_U32, RK_U32*, u32);
|
||||||
KMPP_VENC_CFG_ACCESS(RK_S64, RK_S64*, s64);
|
MPP_VENC_KCFG_ACCESS(RK_S64, RK_S64*, s64);
|
||||||
KMPP_VENC_CFG_ACCESS(RK_U64, RK_U64*, u64);
|
MPP_VENC_KCFG_ACCESS(RK_U64, RK_U64*, u64);
|
||||||
KMPP_VENC_CFG_ACCESS(void *, void **, ptr);
|
MPP_VENC_KCFG_ACCESS(void *, void **, ptr);
|
||||||
KMPP_VENC_CFG_ACCESS(void *, void *, st);
|
MPP_VENC_KCFG_ACCESS(void *, void *, st);
|
||||||
|
|
||||||
void kmpp_venc_cfg_show(KmppVenccfg cfg)
|
void mpp_venc_kcfg_show(MppVencKcfg cfg)
|
||||||
{
|
{
|
||||||
KmppObj obj = cfg;
|
KmppObj obj = cfg;
|
||||||
|
|
||||||
|
@@ -100,7 +100,7 @@ typedef struct {
|
|||||||
CamSource *cam_ctx;
|
CamSource *cam_ctx;
|
||||||
MppEncRoiCtx roi_ctx;
|
MppEncRoiCtx roi_ctx;
|
||||||
|
|
||||||
KmppVenccfg init_kcfg;
|
MppVencKcfg init_kcfg;
|
||||||
|
|
||||||
// resources
|
// resources
|
||||||
size_t header_size;
|
size_t header_size;
|
||||||
@@ -204,11 +204,11 @@ static RK_S32 get_mdinfo_size(MpiEncTestData *p, MppCodingType type)
|
|||||||
|
|
||||||
static MPP_RET kmpp_cfg_init(MpiEncMultiCtxInfo *info)
|
static MPP_RET kmpp_cfg_init(MpiEncMultiCtxInfo *info)
|
||||||
{
|
{
|
||||||
KmppVenccfg init_kcfg = NULL;
|
MppVencKcfg init_kcfg = NULL;
|
||||||
MpiEncTestData *p = &info->ctx;
|
MpiEncTestData *p = &info->ctx;
|
||||||
MPP_RET ret = MPP_NOK;
|
MPP_RET ret = MPP_NOK;
|
||||||
|
|
||||||
kmpp_venc_cfg_init(&init_kcfg, KMPP_VENC_CFG_TYPE_INIT);
|
mpp_venc_kcfg_init(&init_kcfg, MPP_VENC_KCFG_TYPE_INIT);
|
||||||
if (!init_kcfg) {
|
if (!init_kcfg) {
|
||||||
mpp_err_f("kmpp_venc_init_cfg_init failed\n");
|
mpp_err_f("kmpp_venc_init_cfg_init failed\n");
|
||||||
return ret;
|
return ret;
|
||||||
@@ -216,21 +216,21 @@ static MPP_RET kmpp_cfg_init(MpiEncMultiCtxInfo *info)
|
|||||||
|
|
||||||
p->init_kcfg = init_kcfg;
|
p->init_kcfg = init_kcfg;
|
||||||
|
|
||||||
kmpp_venc_cfg_set_u32(init_kcfg, "type", MPP_CTX_ENC);
|
mpp_venc_kcfg_set_u32(init_kcfg, "type", MPP_CTX_ENC);
|
||||||
kmpp_venc_cfg_set_u32(init_kcfg, "coding", p->type);
|
mpp_venc_kcfg_set_u32(init_kcfg, "coding", p->type);
|
||||||
kmpp_venc_cfg_set_s32(init_kcfg, "chan_id", 0);
|
mpp_venc_kcfg_set_s32(init_kcfg, "chan_id", 0);
|
||||||
kmpp_venc_cfg_set_s32(init_kcfg, "online", 0);
|
mpp_venc_kcfg_set_s32(init_kcfg, "online", 0);
|
||||||
kmpp_venc_cfg_set_u32(init_kcfg, "buf_size", 0);
|
mpp_venc_kcfg_set_u32(init_kcfg, "buf_size", 0);
|
||||||
kmpp_venc_cfg_set_u32(init_kcfg, "max_strm_cnt", 0);
|
mpp_venc_kcfg_set_u32(init_kcfg, "max_strm_cnt", 0);
|
||||||
kmpp_venc_cfg_set_u32(init_kcfg, "shared_buf_en", 0);
|
mpp_venc_kcfg_set_u32(init_kcfg, "shared_buf_en", 0);
|
||||||
kmpp_venc_cfg_set_u32(init_kcfg, "smart_en", 0);
|
mpp_venc_kcfg_set_u32(init_kcfg, "smart_en", 0);
|
||||||
kmpp_venc_cfg_set_u32(init_kcfg, "max_width", p->width);
|
mpp_venc_kcfg_set_u32(init_kcfg, "max_width", p->width);
|
||||||
kmpp_venc_cfg_set_u32(init_kcfg, "max_height", p->height);
|
mpp_venc_kcfg_set_u32(init_kcfg, "max_height", p->height);
|
||||||
kmpp_venc_cfg_set_u32(init_kcfg, "max_lt_cnt", 0);
|
mpp_venc_kcfg_set_u32(init_kcfg, "max_lt_cnt", 0);
|
||||||
kmpp_venc_cfg_set_u32(init_kcfg, "qpmap_en", 0);
|
mpp_venc_kcfg_set_u32(init_kcfg, "qpmap_en", 0);
|
||||||
kmpp_venc_cfg_set_u32(init_kcfg, "chan_dup", 0);
|
mpp_venc_kcfg_set_u32(init_kcfg, "chan_dup", 0);
|
||||||
kmpp_venc_cfg_set_u32(init_kcfg, "tmvp_enable", 0);
|
mpp_venc_kcfg_set_u32(init_kcfg, "tmvp_enable", 0);
|
||||||
kmpp_venc_cfg_set_u32(init_kcfg, "only_smartp", 0);
|
mpp_venc_kcfg_set_u32(init_kcfg, "only_smartp", 0);
|
||||||
|
|
||||||
ret = p->mpi->control(p->ctx, MPP_SET_VENC_INIT_KCFG, init_kcfg);
|
ret = p->mpi->control(p->ctx, MPP_SET_VENC_INIT_KCFG, init_kcfg);
|
||||||
if (ret)
|
if (ret)
|
||||||
@@ -1178,7 +1178,7 @@ MPP_TEST_OUT:
|
|||||||
p->roi_ctx = NULL;
|
p->roi_ctx = NULL;
|
||||||
}
|
}
|
||||||
if (p->init_kcfg)
|
if (p->init_kcfg)
|
||||||
kmpp_venc_cfg_deinit(p->init_kcfg);
|
mpp_venc_kcfg_deinit(p->init_kcfg);
|
||||||
|
|
||||||
test_ctx_deinit(p);
|
test_ctx_deinit(p);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user