问题描述
开了三个线程处理三摄像头流,不走vi->bind->vo路线(已经测试三摄像头正常出图)
目前走vi-> thread -> dump_frame ->insert->vo路线
因为layer0不能用,使用layer1和2+一路osd
2个layer线程能正常运行出图(撕裂感严重,可能要配置双pool_id ?)
然后使用osd就报错
复现步骤
其中layer线程(代码如下)
从kd_mpi_vb_create_pool函数拿到内存池一个id,接着配置k_video_frame_info数据,拿到一个虚拟地址与k_vb_blk_handle block,然后dump一帧进行映射,拷贝到虚拟地址,调用kd_mpi_vo_chn_insert_frame。请问流程对吗,虽然目前能出图
下面是osd的,同理的配方就报错了
硬件板卡
01的k230开发板
软件版本
git log : commit 66dd75f0a8b87b081f1bee31e641be738841be0b (HEAD -> main, tag: v1.9, origin/main, origin/HEAD) Author: wuwentao wuwentao@canaan-creative.com Date: Fri Mar 14 18:21:29 2025 +0800 k230 sdk release v1.9
其他信息
内存应该是足够的,这是在原有的vi->bind->vo上添加的