AIOT媒体系统接口关于视频缓冲池使用问题

1. 媒体接口中关于视频缓冲池(VP)配置能通过系统命令查看使用情况吗?

2. 视频缓冲池(VP)占用的内存是系统内存还是额外的内存?

3. 关于OE中horizon_xj3_open_explorer_v1.9.4_20220126/bsp/PlatformSDK/hbre/libhapi/sample/sample_vdec/sample_vdec.c中初始化u32MaxPoolCnt为32不太理解,最多pool不应该只有16个吗?HB_SYS_Alloc是从哪个VP里分配内存空间呢?

static int vpinit = 0;
    if (vpinit == 0) {
        VP_CONFIG_S struVpConf;
        memset(&struVpConf, 0x00, sizeof(VP_CONFIG_S));
        struVpConf.u32MaxPoolCnt = 32; // ????
        HB_VP_SetConfig(&struVpConf);

        s32Ret = HB_VP_Init();
        if (s32Ret != 0) {
            printf("vp_init fail s32Ret = %d !\n",s32Ret);
        }
        vpinit = 1;
    }

您好

占用的是系统内存的

内核会分配一段内存作为内存池,便于快速的申请和释放的,内存池的大小一般是固定的

您好:系统软件的文档 pool数量是没有限制的,不知道您说的最大16是从哪来的?另外申请的内存只是用户态的内存,是从申请的pool里面取的。

HB_SYS_Alloc也是从Pool里取的吗?还是直接从系统分配和VP无关呢?

最大16我是通过这个结构体得来的:

typedef struct HB_VP_CONFIG_S {    uint32_t u32MaxPoolCnt;    VP_POOL_CONFIG_S pubPool[VP_MAX_PUB_POOLS]; // 此处定义为16} VP_CONFIG_S;