📄 subject_49290.htm
字号:
<p>
序号:49290 发表者:成商 发表日期:2003-08-08 18:35:58
<br>主题:directdraw 中显示YUV4:2:0图像遇到的问题
<br>内容:本人想用directdraw显示解码的mpeg-4视频,解码结果为YV12的YUV格式(4:2:0),大致代码如下,想用directdraw直接显示YUV格式<BR><BR>#define FOURCC_YV12 0x32315659<BR> <BR> ZeroMemory( &ddsd, sizeof(ddsd) );<BR> ddsd.dwSize = sizeof(ddsd);<BR> ddsd.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH ;<BR> ddsd.ddsCaps.dwCaps = DDSCAPS_OVERLAY | DDSCAPS_VIDEOMEMORY ;<BR> ddsd.dwWidth = dwDesiredWidth;<BR> ddsd.dwHeight = dwDesiredHeight;<BR> <BR> ddsd.dwFlags |= DDSD_PIXELFORMAT ;<BR> ddsd.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);<BR><BR> ddsd.ddpfPixelFormat.dwFlags = DDPF_FOURCC ;<BR> ddsd.ddpfPixelFormat.dwFourCC = FOURCC_YV12;<BR><BR>当createsurface 的时候返回错误 “0x88760091” “DDERR_INVALIDPIXELFORMAT”<BR><BR>若将DDSCAPS_VIDEOMEMORY 改为 DDSCAPS_SYSTEMMEMORY 则错误变为“0x88760104”,顺便问一下如何查找该代码的意思呢。用了<BR>_com_error e(hr);<BR>const char *hrerr=e.ErrorMessage();<BR>结果hrerr="unknown error";<BR><BR>被这个问题纠缠几天了,望高手指点一下。。。<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:微笑的撒旦 回复日期:2003-08-10 21:17:15
<br>内容:SDK中有一个Directx error lookup 的程序,你这个错误是<BR>HRESULT: 0x88760104 (2289434884)<BR>Name: DDERR_NOOVERLAYHW<BR>Description: Operation could not be carried out because there is no overlay hardware present or available.<BR>Severity code: Failed<BR>Facility Code: Unknown (2166)<BR>Error Code: 0x0104 (260)
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -