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.

IPCFrameOut Link如何动态切换分辨率?以及如何和后端LINK同步?



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也改好映射关系了?这个同步怎么实现?