Overlay视频显示的几点经验

1。把yuv格式的表面blt到另一个yuv格式的表面大部分显卡不支持(不管什么overlay表面,离平表面,主表面,都会这样),例如geforce显卡的这种blt操作不会缩放而且位置不起作用(即默认贴在0,0),如果多个图象blt,那也许只会显示一个,其他的被遮住了,而且也不会缩放,然后tnt的显卡干脆什么都不会显示,不过也会有支持的显卡,比如说我的显卡,而且我已经做好了多视频同时显示,还可以缩放,结果测试的时候才发现只有我这种类型的显卡支持,其他都不支持,所以都是无用工.(另:yuv格式blt到rgb格式大部分显卡都支持,rgb的blt到yuv的没试过)

2。overlay的特性:大部分显卡是支持yuv格式的overlay,因为overlay主要是为了播放影视、单视频而设计的,他有自己的拉伸函数,只能有一个overlay表面。做个测试,先打开realone播放影视,然后抓图,可以发现只能抓到黑的背景,表示realone正在用overlay显示,然后再打开mediaplay播放影视(realone不要关),抓图,可以抓到图象,反过来先打开mediaplay,再打开realone也会出现同样的情况,这个例子旨在说明这些播放软件默认用overlay格式播放,但是发现overlay被占用后会用其他方法播放。所以想用overlay的话最好只用在单视频上。

3。综合1和2,用overlay显示多视频唯一的出路是rpg格式的表面blt到overlay表面上?大家想用overlay的都是为了提高性能吧,视频流是yuv格式的,难道要把yuv格式先转化为rgb再blt到yuv?这个方法我不想再去想了。

你可能感兴趣的:(测试,影视)