LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1572|回复: 5

YUV Surface 问题,SDL or ......?

[复制链接]
发表于 2005-11-14 11:24:07 | 显示全部楼层 |阅读模式
我在作一个基于于PC 的DVR display, 需要把采集卡采集到的YUY2类型的数据直接显示出来, 我的想法是创建几个S/W YUV类型的Surface ,然后把它们Blit到YUV H/W Overlay上面去,然后显示,
我想用SDL作,但是SDL只能创建YUVOverlay,没有CreatYUVSurfaceFrom 或者CreatYUVSurface的功能,
有人在SDL里面添加了一个sdladdon的代码,可以实现 creatsdlyuvsurface 的功能,但是只能用于YV12类型的数据,而且很多错误,我试了一下,在640*480的时候可以,但是800*600的时候就不可以了.
看了一下Drictfb,好像可以创建YUV类型的Surface ,但是还没试,directfb好像主要是用于嵌入式的...

有谁知道该用什么SDK可以实现这功能?请指教.
发表于 2005-11-14 13:13:53 | 显示全部楼层
可以使用DirectFB,我家里的另外一台PC就是用它。可以实现硬件加速的overlay,overlay 表面均创建在显存里。
建议楼主不要使用软件模拟overlay,效率低,并且画面会有撕裂现象。
在显示overlay表面之前,最好先等待一下垂直同步。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-14 14:39:45 | 显示全部楼层
[QUOTE=realtang]可以使用DirectFB,我家里的另外一台PC就是用它。可以实现硬件加速的overlay,overlay 表面均创建在显存里。

你的意思是:
如果使用directFB,可以在显存里创建一个Overlay, 假如我要同时显示4路视频的话, 还可以在显存中创建4个Surface,然后用类似Blit 或者Memcpy的方法把这4个Surface 拷贝到这个Overlay上去?  

在显存里创建了一个Overlay后,还可以同时创建4个surface吗?
回复 支持 反对

使用道具 举报

发表于 2005-11-14 16:13:13 | 显示全部楼层
可以创建很多,只要你的显存够大。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-14 17:15:36 | 显示全部楼层
我看了你的一些贴,请问你以前是不是做过基于PC的Linux 下DVR监控系统的软件开发?你是用 什么开发包做的?只有DirectFB吗?
回复 支持 反对

使用道具 举报

发表于 2005-11-15 09:09:08 | 显示全部楼层
Post by xiao_xiao
我看了你的一些贴,请问你以前是不是做过基于PC的Linux 下DVR监控系统的软件开发?你是用 什么开发包做的?只有DirectFB吗?

我是做网络视频应用的开发,跟你做本地的还有些不一样。
我的服务器端是Linux用它来采集、编码、传输。
客户端是windows,用WEB的方式进行接收、解码、呈现加控制。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表