目录
1. 接入多路视频,必须要清楚Vi Dev号,Mipi号,Pipe号,chn号关系;
问题1: 不同视频接入如何确定MIPI号与Vi Dev(设备)号对应情况;

从上图知道流程: sensor->mipi->Dev->Pipe->phy chn
看下图,列出了设备/PIPE/通道号的最大支持数量;

那么问题来了, 大多芯片都不止一个设备/PIPE/通道号,如何才能找对呢?
文档有:
Hi3559AV100ES 的 Dev 可以与任意 MIPI 设置绑定,不能动态修改绑定关系;对应的接口为HI_MPI_VI_SetMipiBindDev;
其他的大多芯片Dev 与 MIPI 绑定关系是固定的, 不能动态修改绑定关系;
从下表可判断,不能动态绑定的VI DEV和MIPI号是相等的;

从表可看出: 该芯片若要对接DC接口,VI DEV只能是3,DC号为2; 要对接MIPI接口,VI DEV可以是0~4;
以hi3516为例, pipe号最大为4;即pipe0~pipe3;
VI_PIPE_ATTR_S属性中有一些限制!

从表知, 若要接入YUV数据, pipe号只能是2; 若要接入raw,所有pipe都ok;
设备号绑定pipe号的接口为: HI_MPI_VI_SetDevBindPipe;
从通道号最大值知,若只有1个,填0即可; 多个自行决定;
只要前面的mipi号/dev号/pipe号有一个不一样,那么即使chn相同整个通路也不一样;
如: mipi0--> dev0--->pipe2-->chn0 ;
mipi1--> dev1--->pipe0-->chn0;
(a) combo_dev_attr_t属性中的devno可理解成mipi号,除Hi3559AV100ES外,该mipi号与vi DEV号相同;
(b) mipi号与vi DEV号除Hi3559AV100ES外均固定,不需要绑定;意味着对应的mipi号有数据了,那么等同于对应的vi DEV号也有数据了;
(c) HI_MPI_VI_SetDevBindPipe接口实现VI DEV号与PIPE号的绑定; 那么对应的PIPE就有数据了;
(d) PIPE有数据了,就可以通过dump工具查看等,后续略;
问题: vi_put_original_node_to_line_input_pic_queue [line]:2539 [info]:pipe 2 no space to receive this frm!
前提: 接了两路不同的视频数据; 其中一路通过isp,另一类不需要;
现象: 单独调试两路视频显示均ok,一起接入时isp视频正常,另一类只能到vi pipe;
处理: 主动调用HI_MPI_VI_GetPipeFrame,获取到帧数据后,再HI_MPI_VPSS_SendFrame传给vpss;
问题倒是解决了,原理是什么暂不清楚!
下一篇:海思vpss前后绑定关系