hi3516cv610分配多个 vb pool及查看vb信息

发布于:2025-05-29 ⋅ 阅读:(16) ⋅ 点赞:(0)

hi3516cv610分配多个 vb pool及查看vb信息

sample_venc.c里

static td_void sample_venc_online_wrap_get_default_vb_cfg(ot_vb_cfg *vb_cfg, sample_venc_param *enc_param,

    td_u32 wrap_size)

{

    td_s32 i;

    ot_vb_calc_cfg calc_cfg;

    ot_pic_buf_attr buf_attr;



    (td_void)memset_s(vb_cfg, sizeof(ot_vb_cfg), 0, sizeof(ot_vb_cfg));

    vb_cfg->max_pool_cnt = 128; /* 128 blks */



    // 这个 for循环好像只会设一个 vb pool

    for (i = 1; i < enc_param->venc_chn_num && CHN_NUM_MAX; i++) {

        buf_attr.width = enc_param->enc_size[i].width;

        buf_attr.height = enc_param->enc_size[i].height;

        buf_attr.align = OT_DEFAULT_ALIGN;

        buf_attr.bit_width = OT_DATA_BIT_WIDTH_10;

        // buf_attr.bit_width = OT_DATA_BIT_WIDTH_8;

        buf_attr.pixel_format = OT_PIXEL_FORMAT_YVU_SEMIPLANAR_420;

        buf_attr.compress_mode = OT_COMPRESS_MODE_NONE;

        buf_attr.video_format = OT_VIDEO_FORMAT_LINEAR;

        ot_common_get_pic_buf_cfg(&buf_attr, &calc_cfg);



printf("\n\nfunction: %s    i is %d\n\n", __FUNCTION__, __LINE__);




            // vb_cfg->common_pool[i].blk_size = 4239360;

            // vb_cfg->common_pool[i].blk_size = 5529600;

            vb_cfg->common_pool[i].blk_size = 3740272;

            // vb_cfg->common_pool[i].blk_size = 518400;

            // vb_cfg->common_pool[i].blk_size = calc_cfg.vb_size;

            // vb_cfg->common_pool[i].blk_cnt = 10; /* 3 blk_cnt */

            // vb_cfg->common_pool[i].blk_cnt = 12; /* 3 blk_cnt */

            vb_cfg->common_pool[i].blk_cnt = 4; /* 3 blk_cnt */

            // vb_cfg->common_pool[i].blk_cnt = 2; /* 3 blk_cnt */

    }





    vb_cfg->common_pool[i].blk_cnt = 1;

    vb_cfg->common_pool[i].blk_size = wrap_size;



    vb_cfg->common_pool[i+1].blk_size = 518400;

    vb_cfg->common_pool[i+1].blk_cnt = 3;

}

cat vb信息

min_free下面的数是否为0判断 vb pool是否足够


网站公告

今日签到

点亮在社区的每一天
去签到