1.我的link链接
capture(4路)---->dup---->SWMS_link---->DUP(这里有一路给了显示)--->NSF......->ENCODE->..
|
|---其他link-->display(这条支路不是重点)
2.问题描述:
目的:把4路视频使用swms合成一路,然后可以动态设置分辨率,最后编码输出的就是想要的分辨率
采集的输入都是1080P,现在想把四路视频使用SWMS合成一路,然后编码出不同的分辨率,swms_link->MaxRes=1080P
当初始化swms这个link的时候,设置initOutRes=720P,则编码处理的分辨率就是720P,如果initOutRes=1080P,则编码出来的就是1080P
所以当把layout设置为1080P时,但是initOutRes=720P,这样出来的画面就不对了,layout=720p,initOutRes=1080p,这样画面就布局不满
3.尝试过的操作
读取了swms_link中生成的pOutFrame,里面读不到任何的画面分辨率信息,都是0
4.疑问:swms支持动态改变分辨率吗,从而可以使enc_link编出想要的分辨率
swms_link输出的FVID2_Frame中包含了这帧数据的分辨率了吗?如果是,从哪个成员中看到呢
下一个link从SWMS读取数据(FVID2_Frame),它怎么知道这个数据的分辨率呢,怎么知道要读取多大的数据呢,这个数据结构中我个人没找到表示数据大小的
非常着急等待,搞了2周了,还没得到想要的分辨率
目的就是动态可以得出不同的编码分辨率,方式是通过操作SWMS_link,如果有必要,我可以改变link的实现也可以的,现在找到要修改的地方了,
希望有遇到同样问题解决的可以指点下,互相帮助,快乐大家。哈哈
补充:
看了下源码:发现下一个link会调用前一个link 的system_getlink_Info(),似乎就调用了一次,从这里获取了上一个Link传过来的数据是什么分辨率,所以这可能是导致了我上面出现的情况,望答复