zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3040回复:16

用directdraw显示yuv视频,为啥结果不合适呢,50分

楼主#
更多 发布于:2003-09-18 16:06
我的步骤:

初始化Directdraw
创建一个主表面
创建一个overlay
显示overlay
在线程中拷贝一帧视频数据到overlay表面

视频数据是yuv422,现在的结果是有影像,但是好像图像变成了多幅,一幅图像中有多个叠加在一起。

怎么回事,我哪里设置的不对吗?

[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
escape
驱动老牛
驱动老牛
  • 注册日期2002-02-01
  • 最后登录2004-08-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-09-18 16:44
好!
shyeagle
驱动老牛
驱动老牛
  • 注册日期2002-04-30
  • 最后登录2007-07-31
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-09-18 18:37
是不是三幅图,一张黑白、一张红、一张蓝?
[url=http://www.01study.com]01空间网[/url] [url=http://www.01study.com/forum/dispbbs.asp?boardID=73&ID=193&skin=0]版主招募[/url] [img]http://shy2003.vip.sina.com/map/yjs.gif[/img]
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-09-18 20:52
是不是三幅图,一张黑白、一张红、一张蓝?


不是这样的,感觉有很多零碎的图象,质量还可以,可惜抓不下来
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
shyeagle
驱动老牛
驱动老牛
  • 注册日期2002-04-30
  • 最后登录2007-07-31
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-09-18 21:04
从YUV到RGB的转换是自己做吗?
[url=http://www.01study.com]01空间网[/url] [url=http://www.01study.com/forum/dispbbs.asp?boardID=73&ID=193&skin=0]版主招募[/url] [img]http://shy2003.vip.sina.com/map/yjs.gif[/img]
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-09-19 09:29
从YUV到RGB的转换是自己做吗?


是的,但是现在我没有去显示rgb,直接显示的yuv
是不是不能直接copy信号到overlay,还要创建一个什么offscreen表面什么的
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
shyeagle
驱动老牛
驱动老牛
  • 注册日期2002-04-30
  • 最后登录2007-07-31
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-09-19 11:32
直接显示YUV格式就不对了,除非你的系统是可以自动转换的。
[url=http://www.01study.com]01空间网[/url] [url=http://www.01study.com/forum/dispbbs.asp?boardID=73&ID=193&skin=0]版主招募[/url] [img]http://shy2003.vip.sina.com/map/yjs.gif[/img]
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-09-19 11:35
[quote]从YUV到RGB的转换是自己做吗?


是的,但是现在我没有去显示rgb,直接显示的yuv
是不是不能直接copy信号到overlay,还要创建一个什么offscreen表面什么的 [/quote]

我的做法是,先创建一个PrimarySurface,再创建一个BackBufferSurface,然后直接Swap就可以了。对BackBufferSurface进行刷新。你发份邮件给我,我把我的程序可以发你看一下。

另外,你如果直接显示RGB自己编的图形是正确的吗?

[编辑 -  9/19/03 by  grant]
助人乃快乐之本 有人给分就更快乐了 :-)
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-09-19 12:00
直接显示YUV格式就不对了,除非你的系统是可以自动转换的。


我看过一些帖子,directdraw是支持yuv格式的数据的,如果进行rgb转换会降低性能,但是对于以后的blt会有好处
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-09-19 12:01
[quote][quote]从YUV到RGB的转换是自己做吗?


是的,但是现在我没有去显示rgb,直接显示的yuv
是不是不能直接copy信号到overlay,还要创建一个什么offscreen表面什么的 [/quote]

我的做法是,先创建一个PrimarySurface,再创建一个BackBufferSurface,然后直接Swap就可以了。对BackBufferSurface进行刷新。你发份邮件给我,我把我的程序可以发你看一下。

另外,你如果直接显示RGB自己编的图形是正确的吗?

[编辑 -  9/19/03 by  grant] [/quote]

发信给你了,多谢多谢。

我的视频信号是capture来的,作过rgb转换,用DrawdibDraw函数显示没有问题。
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-09-19 12:05
老大,我用的免费信箱比较慢,现在还没收到你的信。
我先吃饭,等下收到你的信立刻回复。
助人乃快乐之本 有人给分就更快乐了 :-)
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-09-19 12:08
老大,我用的免费信箱比较慢,现在还没收到你的信。
我先吃饭,等下收到你的信立刻回复。

ok,没有问题 :D
干脆我还是在这留信箱吧:zydcat@163.com

[编辑 -  9/19/03 by  zydcat]
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-09-19 12:25
我饭都吃完了,
免费邮箱里又多了几封垃圾信,
可是还是没有你的信。
请把你的信箱放在下面,我发给你好了。
助人乃快乐之本 有人给分就更快乐了 :-)
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-09-19 12:27
我饭都吃完了,
免费邮箱里又多了几封垃圾信,
可是还是没有你的信。

已按你的信箱发出,请查收。
有问题欢迎讨论。
助人乃快乐之本 有人给分就更快乐了 :-)
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2003-09-19 12:30
收到了,看看先
多谢 :D
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2003-09-19 13:33
别客气。
那个程序很简单,希望能帮上你。
助人乃快乐之本 有人给分就更快乐了 :-)
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2003-09-19 17:02
终于让我显示出来了
原来是抓来的yuv信号需要根据一个pitch值分段copy到表面上才能正确显示,nnd,这我哪知道啊。
多谢各位热心,放分了 :D
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
游客

返回顶部