LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
123
返回列表 发新帖
楼主: jetking

今天把yuv的视频数据通过directfb显示出来了,一些心得和疑惑

[复制链接]
发表于 2007-11-14 16:48:36 | 显示全部楼层
已被版主删除
回复 支持 反对

使用道具 举报

发表于 2007-11-14 17:11:48 | 显示全部楼层
这个两个overlay在各自的线程栈中,是两个独立的overlay,应该不是这个问题。
我刚才把SetVideoMode的flags加上SDL_ASYNCBLIT,可以两个overlay都显示。
然后我把线程里的display改变了一下。
        for ( i = 0; i<100; i++ ){
                SDL_DisplayYUVOverlay(yuv_overlay, &rect);
                SDL_Delay(25);
        }
让两个线程同时显示。
这种情况下非常容易被锁死。
提示XLib:unexpected async reply(sequence 0x1d)!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-14 21:59:18 | 显示全部楼层
哦,看错了,overlay是独立的。

你在SDL初始化前试试调用XInitThreads()

另外,在没有显卡驱动的情况下,不要启用SDL的硬件加速,否则屏幕会闪。putenv("SDL_YUV_HWACCELL=0");,这个环境变量的具体名称你可以看看SDL的手册,现在手头没有,只能靠记忆,不一定对。
回复 支持 反对

使用道具 举报

发表于 2007-11-15 10:59:14 | 显示全部楼层
非常感谢jetking兄。加上XInitThreads()后,同步冲突解决了。而且去掉硬件加速也不会再闪屏了。

再次感谢!
回复 支持 反对

使用道具 举报

发表于 2007-11-15 11:03:50 | 显示全部楼层
只是我用的七彩虹ati的x550,记得上次装过驱动了, 在ati网站下的驱动。为什么现在硬件加速还不行?  对linux实在是不太熟。不知道怎么确认有没有安装对联驱动。
回复 支持 反对

使用道具 举报

发表于 2007-11-15 11:29:32 | 显示全部楼层
再次安装了驱动  硬件加速还是会闪屏。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-15 22:58:09 | 显示全部楼层
我是用glxgear看帧数和cpu占用率,而且n卡在启动x前会有一个logo闪一下的。
你的预览还是闪的话,应该是没有成功启用硬件加速,ati应该有个控制中心,里面的参数你可以调整看看。
A卡的linux驱动一直不太好,所以我用n卡。
回复 支持 反对

使用道具 举报

发表于 2007-11-16 09:02:01 | 显示全部楼层
看来我的硬件加速没有起来, atix300的显卡,glxgears才124fps。但我从官网下的驱动啊。

ati的控制中心 打不开, 装好驱动后有图标,点击没反应。
回复 支持 反对

使用道具 举报

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

本版积分规则

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