Commit graph

23 commits

Author SHA1 Message Date
Herman Chen
17a370d2d0 chore[astyle]: Format code by new astyle config
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Iafdb694219ad9d0407e622ba13fd729b935a2dad
2025-10-23 07:57:46 +00:00
Herman Chen
ee4eb725e0 chore[kmpp_obj]: Add ioctl return output object
1. The output object is the KmppObj directly get from obj ioctl operation.
2. Allow NULL sptr to return NULL object without error log.
3. Fix typo in kmpp_obj_helper.h

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I6d29ab4b304902710dba0d7a58f4728b22c90f62
2025-10-23 06:39:22 +00:00
Herman Chen
62213bbac7 feat[kmpp_obj_helper]: Support no IMPL_TYPE objdef
1. Support pure kernel objdef without IMPL_TYPE.
2. Fix ioctl ARG0 macro for no specified ioctl index.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I33c9629f5df638edb22906a57c489a9516645111
2025-10-13 17:37:55 +08:00
Herman Chen
d1f9fdc0fb chore[kmpp_ioc]: Disable ioc entry mismatch log
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Id9d0ae7d6ab968e37e6fdc8afb36750155d42d1d
2025-09-30 15:07:31 +08:00
Herman Chen
1c3881cbac feat[kmpp_obj]: Add ioctl related macro
1. Add ioctl ctx / in / out / in_out macro.
2. Add get objdef function.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I350a673a2302341388a68e3019299b04cce39203
2025-09-30 15:06:55 +08:00
Herman Chen
b68672dbb2 fix[kmpp_obj]: Fix obj update flag update issue
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I7bee6599ac9e7328af28a4f096fe9b84eb7c1bf7
2025-09-11 10:00:44 +00:00
Herman Chen
20d045ae2c chore[kmpp_obj]: Update macros
1. Remove init / deinit function in kmpp_obj_func.h
2. Add extern "C" in kmpp_obj_func.h
3. Set register / unregister function in kmpp_obj_helper.h to be static

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ic7210c8114f4a3fc9fc94f69f350c586d6bdd3d2
2025-09-11 06:27:25 +00:00
Herman Chen
a30fe2262b feat[kmpp_obj]: Add more functions
1. Add objdef find function.
2. Add preset function.
3. Add priv size on objdef init.
4. Add obj to flags / flags_size function.
5. Add pool size debug log macro.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I22a5c160d3d14bac98044a90558ef610cc89270c
2025-09-11 10:45:39 +08:00
Yanjun Liao
2bec3a942d fix[kmpp_obj]: Update tbl after objdef registration
Change-Id: If97e9333be2a9a14e01252e51c98641a632f9c07
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2025-07-10 10:32:15 +08:00
Herman Chen
28f17c9ebf feat[kmpp_obj]: Add priv prop support for objdef
1. Add KMPP_OBJ_PRIV_SIZE for extra priv data to userspace KmppObjImpl.
2. When add private data realloc mempool for KmppObjImpl.

Change-Id: Ifc6d210cc77497cc9cbd5d86ad1ddcf2ba0fc4af
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2025-07-08 23:53:36 +08:00
Herman Chen
5497c458fe fix[kmpp_obj]: Fix grp_cfg and buf_cfg leak in kmpp_obj_test
1. Use mem pool to alloc KmppObjImpl
2. Add kmpp_obj_put_impl to release KmppObjImpl header only.
3. Add grp_cfg and buf_cfg release operation.
4. Use MPP_SINGLETON to init kmpp_venc_cfg.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I865d4d990d7e89598b2f17d85460b809f7f602df
2025-07-08 17:48:39 +08:00
Yanjun Liao
04908eb50b fix[kmpp_obj]: Undef KMPP_OBJ_SGLN_ID macro
Undefine KMPP_OBJ_SGLN_ID macro for multi helper.h in one file.

Change-Id: Iccc4062ee6d17359bfd7fefc07ac3d3d17c367e1
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2025-06-17 19:48:46 +08:00
Hongjin Li
dee9bced95 fix[mpp_singleton]: fix init order issue
Platform: General
Spec: all

Error case:
Constructors may be added after 65535(mpp_singleton_init)
ex: mpp_platform added after 65535 when mpp_soc is
    refactored to c

Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
Change-Id: If736904beb0cd64a3e4ae3b20fd72e1198646ac7
2025-06-06 16:25:38 +08:00
Herman Chen
fddfc9db2e chore[kmpp_obj]: Add from objs device macro
Combine kernel objdef and userspace objdef process.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
Change-Id: Icf1ad03af8df3d1450138d3a9161b2dd20bb59f5
2025-06-05 17:54:04 +08:00
Herman Chen
47ba2a350e chore[kmpp_obj]: Add more obj function
1. Add update flag copy function.
2. Add entry copy function.
3. Fix register log.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I4059c63cd3bbcab86144eaad38c0fc30c9ee52a8
2025-06-05 11:36:24 +08:00
Herman Chen
22febcaca8 chore[kmpp_obj]: Update flag calculation macro
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ib8071bce985e6f5dc09580ca8d944118e5b05c63
2025-06-01 13:18:52 +00:00
Herman Chen
ebb4987988 fix[kmpp_obj]: Update helper macro
1. Fix ELEM_FLAG handle error.
2. Move some macro to kmpp_obj_macro.h

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I0e177e1aeb8e21327f7c84ace28ca890955b135f
2025-05-29 02:13:00 +00:00
Herman Chen
c384c5e8fd fix[kmpp_obj]: Remove extra print in helper
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I5fb1db340ee85e83927ebe84ee6cc6da4dc8fbbb
2025-05-27 09:58:55 +08:00
Herman Chen
f662bfc1c1 feat[kmpp_obj]: Refactor kmpp_obj helper
1. Integrate simple element and struct element to one macro.
2. Resolve different update flag mode.
3. Support hierarchy definition for future config file registration.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I691a99aafec3f4e9d4e883e172d2b82ace44e379
2025-05-26 18:16:17 +08:00
Herman Chen
38ee436830 feat[kmpp_obj]: Add userspace objdef functions
1. Add mpp_internal.h for simplifing mpp_trie, mpp_cfg, mpp_cfg_io,
kmpp_obj relationship.
2. Add objdef userspace interface: register / unregister, add init,
deinit, dump function registration.
3. Fix vdpp/CMakeLists.txt lack of kmpp_base issue.
4. Adjust utils order to fix compile error.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I50304a84c4baf5b49ee2658713ac171c91983209
2025-05-07 16:56:48 +08:00
Herman Chen
6b51725df4 feat[kmpp]: Add kmpp_frame_test
1. Add kmpp frame / buffer / packet / meta define in rk_type.h
2. Move KmppObj, KmppObjDef and KmppShmPtr to rk_type.h
3. Add kmpp_frame_test
4. Add kmpp_objdef_get_offset function in kmpp_obj.c

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ib4aecfc26f60521288b6e33b8c4e0af5afd3213b
2025-04-03 17:18:34 +08:00
Herman Chen
ca334adda0 feat[kmpp_frame]: Add KmppFrame module
1. Sync kmpp_obj_func.h and kmpp_obj_helper.h from kernel.
2. Add more kmpp_obj function from kernel.
3. Add KmppFrame module.
4. Fix kmpp_obj_check failure.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ib333370eb36c7b63ef50d3e52cf7fd753c9e5af1
2025-04-01 17:41:41 +08:00
Herman Chen
84c7d337bf refactor:[kmpp]: Move kmpp to seperate directory
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I85eb166a3ebb1ae64a44c7127808fc469c6415a8
2025-04-01 14:51:32 +08:00
Renamed from mpp/base/inc/kmpp_obj_helper.h (Browse further)