This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

请教,8168采样通道同步问题!

Other Parts Discussed in Thread: TVP5158

1,现在项目中使用DM8168+TVP5158,在DSP中算法需要基于2个通道(譬如通道0,通道1)进行处理, 而这2个通道需要完全同步,2个通道来源于同一个TVP5158。

2,当前在DSP中通过打印通道0,通道1中帧中System_FrameInfo结构体中的ts64成员(粗略浏览LINK源码,此成员变量应该是M3VPSS采集时赋值),发现2个通道时间上并不同步,如果(通道2 ts64) 减 (通道1 ts64)则基本在0到 -40 ms之间循环累积变化。

3,如果通道0接通视频, 通道1不接通视频,则两个通道视频完全不同步。

4,TVP5158是通过像素交织传入到DM8168,理论上应该同一个TVP5158传入的4通道视频是同一个时刻的,所以尽管M3在采集到通道0 和通道1的 时间戳有不同,但应该来源都是TVP5158同一时刻采样,应该是完全同步的,包括其中某一个通道没有接入视频情况,但结果我们使用的算法中一旦在2个通道时间差超过10个ms,效果出来就非常差,2个通道时间差为0时,效果最好。

所以最后DSP怎么样得到2个通道的同步的视频帧?

然后 查看M3VPSS 采样驱动源码时,现在只能看懂大概流程,queue会将frame添加到emptyQ,dequeue会从fullQ取出更新过的frame, 时钟中断会8MS一次,同步更新视频数据任务, 大概流程就是

/* Post the new list */
Vps_captTskSubmitFrameList();

/* Update Buffer Address in the Descriptor as the mask */
Vps_captTskUpdateList();

/* Post the new list */
Vps_captTskSubmitFieldList();

其中“Vps_captTskSubmitFieldList()”函数作用是什么,特别是Obj中listAddr用途是什么?“Vps_captTskUpdateList()"函数则是实质的视频数据更新函数,其中Vps_CaptLmDataDescUpdateInfo结构好像就是用于更新数据的,有人可以讲讲这个数据采样的大致原理和流程吗?