阅读:3040回复:16
用directdraw显示yuv视频,为啥结果不合适呢,50分
我的步骤:
初始化Directdraw 创建一个主表面 创建一个overlay 显示overlay 在线程中拷贝一帧视频数据到overlay表面 视频数据是yuv422,现在的结果是有影像,但是好像图像变成了多幅,一幅图像中有多个叠加在一起。 怎么回事,我哪里设置的不对吗? |
|
|
沙发#
发布于:2003-09-18 16:44
好!
|
|
板凳#
发布于:2003-09-18 18:37
是不是三幅图,一张黑白、一张红、一张蓝?
|
|
|
地板#
发布于:2003-09-18 20:52
是不是三幅图,一张黑白、一张红、一张蓝? 不是这样的,感觉有很多零碎的图象,质量还可以,可惜抓不下来 |
|
|
地下室#
发布于:2003-09-18 21:04
从YUV到RGB的转换是自己做吗?
|
|
|
5楼#
发布于:2003-09-19 09:29
从YUV到RGB的转换是自己做吗? 是的,但是现在我没有去显示rgb,直接显示的yuv 是不是不能直接copy信号到overlay,还要创建一个什么offscreen表面什么的 |
|
|
6楼#
发布于:2003-09-19 11:32
直接显示YUV格式就不对了,除非你的系统是可以自动转换的。
|
|
|
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] |
|
|
8楼#
发布于:2003-09-19 12:00
直接显示YUV格式就不对了,除非你的系统是可以自动转换的。 我看过一些帖子,directdraw是支持yuv格式的数据的,如果进行rgb转换会降低性能,但是对于以后的blt会有好处 |
|
|
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函数显示没有问题。 |
|
|
10楼#
发布于:2003-09-19 12:05
老大,我用的免费信箱比较慢,现在还没收到你的信。
我先吃饭,等下收到你的信立刻回复。 |
|
|
11楼#
发布于:2003-09-19 12:08
老大,我用的免费信箱比较慢,现在还没收到你的信。 ok,没有问题 :D 干脆我还是在这留信箱吧:zydcat@163.com [编辑 - 9/19/03 by zydcat] |
|
|
12楼#
发布于:2003-09-19 12:25
我饭都吃完了,
免费邮箱里又多了几封垃圾信, 可是还是没有你的信。 请把你的信箱放在下面,我发给你好了。 |
|
|
13楼#
发布于:2003-09-19 12:27
我饭都吃完了,
免费邮箱里又多了几封垃圾信, 可是还是没有你的信。 已按你的信箱发出,请查收。 有问题欢迎讨论。 |
|
|
14楼#
发布于:2003-09-19 12:30
收到了,看看先
多谢 :D |
|
|
15楼#
发布于:2003-09-19 13:33
别客气。
那个程序很简单,希望能帮上你。 |
|
|
16楼#
发布于:2003-09-19 17:02
终于让我显示出来了
原来是抓来的yuv信号需要根据一个pitch值分段copy到表面上才能正确显示,nnd,这我哪知道啊。 多谢各位热心,放分了 :D |
|
|