对于多路视频传输的场合,必要精确设置同步。 uifdma_dbuf0 的写通道输出帧同步计数器直接接入 uifdma_dbuf0,uifdma_dbuf1, uifdma_dbuf2, uifdma_dbuf3 的写通道同步计数输入。uifdma_dbuf0 的读通道,耽误 1 帧于 uifdma_dbuf0 的写通道帧计数器。
多路视频同频显示的原理如下图所示:
hsize表示像素实际显示的位置,在本次工程中用32为表示一个像素,因此一行像素所占用地址巨细为hsize*4(32位数据为四字节)。
hstride则用于设置每行像素的第一个地址大概说用来表示显示器的一行像素数据必要占用的内存巨细。例如我的显示器为1920*1080则每一行的起始地址必要上一行的起始地址加1920*4。
vsize则是对有用的行举行计数,每显示完一行数据举行加一。每行像素的起始地址可表示为vsize*hstride*4。
本次工程将举行四路图像的拼接,每一路的分辨率为960*540,第一路数据的起始地址为0x01000000,第二路视频的起始地址应该为0x01000000+(1920-960)*4=0x01000F00,第三路视频的起始地址应该为0x01000000+(1080-540)*1920*4=0x013F4800,第四路视频的起始地址应该为0x01000000+(1080-540)*1920*4+(1920-960)*4=0x013F5700。
计算完成地址之后我们就可以用Block Design搭建一个四输入的视频拼接缓存体系。框图如下所示:
输入的数据和场同步信号等均来自摄像头输入,从DDR3中读取的数据将传输给HDMI输出驱动模块。
地址分配如下图所示:
工程团体结构如下图所示:
结果如下图所示:
只要把前面的OV5640图像收罗弄懂,四路图像拼接就必要计算每一路视频的起始地址即可,ip核参考米联客,本文仅用于记载学习。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |