HI,chris meng.
我们现在想用DM8168的PCIe和另一片DM8168的PCIe进行级联,接收第二片DM8168的YUV数据。
PCIe
DM8168 主片<-------------------------DM8168从片
之前我们用单DM8168连接过FPGA,从FPGA给DM8168传递YUV视频,但是这种情况下,传递的是固定分辨率帧率YUV视频。
如果我们两片DM8168级联,第二片给第一片的分辨率有时候会变化,那第一片DM8168的IPCFrameOutHLOS LINK要如何动态修改输出分辨率?还是不用修改?
基本的link搭建如下:
DEI------------------------------------------------------->| ---------------------------|
| SWMS |
IPCFrameOut---->IPCFrameInVPSS------------>|-----------------------------|
上图中,SWMS负责进行画面拼接,但是SWMS内置的SCALER不进行任何缩放,送给SWMS的图像都已经缩放完成,也就是和合成画面中对应窗口尺寸相同了。
也就是DEI将画面缩放好了后,再送给SWMS,同样,IPCFrameOutLink送过来的图像,也是合成画面中对应窗口大小的YUV视频。
那如果进行画面切换的时候,我先进行DEI输出分辨率调整,再调整SWMS中窗口和通道映射关系,McFw DEMO中是这么做得。这里就没有太看懂,就是先DEI改分辨率,SWMS再改映射关系,那两者是怎么同步的?是M3VPSS里面做得同步?我是指可能DEI先改了输出分辨率,SWMS还没来得及修改映射关系,那是不是可能出现DEI送过来的图像和Mosaic中窗口大小不一致?
同样,如果IPCFrameOut送过来的视频,也动态修改了分辨率,我要怎么和SWMS同步?我是先修改SWMS的画面映射关系,再通过Vdis_putFullVideoFrames或者IpcFramesOutLink_putFullVideoFrames这样的函数送新的分辨率的视频?怎么知道谁先谁后?会不会有潜在不同步的可能性?还是同样的情况,就是可能送过去了新分辨率图像,但是我怎么知道SWMS也改好映射关系了?这个同步怎么实现?