feat[mpp_trie]: Add info name max length record

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I0a784d6938e9a19632c20e6e92597b77c12604d9
This commit is contained in:
Herman Chen 2025-09-09 10:33:37 +08:00
parent b313e9c018
commit ddb95f5a4f
2 changed files with 11 additions and 0 deletions

View file

@ -52,6 +52,7 @@ rk_s32 mpp_trie_add_info(MppTrie trie, const char *name, void *ctx, rk_u32 ctx_l
rk_s32 mpp_trie_get_node_count(MppTrie trie);
rk_s32 mpp_trie_get_info_count(MppTrie trie);
rk_s32 mpp_trie_get_buf_size(MppTrie trie);
rk_s32 mpp_trie_get_name_max(MppTrie trie);
void *mpp_trie_get_node_root(MppTrie trie);
static inline const char *mpp_trie_info_name(MppTrieInfo *info)

View file

@ -81,6 +81,7 @@ typedef struct MppTrieImpl_t {
rk_s32 info_count;
rk_s32 info_buf_size;
rk_s32 info_buf_pos;
rk_s32 info_name_max;
} MppTrieImpl;
/* work structure for trie traversal */
@ -734,6 +735,8 @@ rk_s32 mpp_trie_add_info(MppTrie trie, const char *name, void *ctx, rk_u32 ctx_l
}
p->nodes[idx].id = p->info_buf_pos;
if (p->info_name_max < str_real - 1)
p->info_name_max = str_real - 1;
{
MppTrieInfo *info = (MppTrieInfo *)(p->info_buf + p->info_buf_pos);
@ -784,6 +787,13 @@ rk_s32 mpp_trie_get_buf_size(MppTrie trie)
return (p) ? p->buf_size : 0;
}
rk_s32 mpp_trie_get_name_max(MppTrie trie)
{
MppTrieImpl *p = (MppTrieImpl *)trie;
return (p) ? p->info_name_max : 0;
}
void *mpp_trie_get_node_root(MppTrie trie)
{
MppTrieImpl *p = (MppTrieImpl *)trie;