当前位置: 首页 > wzjs >正文

wordpress仿站博客视频河北提供网站建设公司电话

wordpress仿站博客视频,河北提供网站建设公司电话,注册城乡规划师成绩查询2022,建设部标准规范网站​D3DDDICAPS_GETDECODERTFORMATCOUNT和D3DDDICAPS_GETDECODERTFORMATS请求类型 Direct3D 运行时指定D3DDDIARG_GETCAPSpInfo 成员指向的变量中特定 DirectX VA 解码类型的 GUID。 UMD 返回数字,然后返回它为特定 DirectX VA 解码类型支持的呈现目标格式列表。 查…

​D3DDDICAPS_GETDECODERTFORMATCOUNT和D3DDDICAPS_GETDECODERTFORMATS请求类型

Direct3D 运行时指定D3DDDIARG_GETCAPSpInfo 成员指向的变量中特定 DirectX VA 解码类型的 GUID。 UMD 返回数字,然后返回它为特定 DirectX VA 解码类型支持的呈现目标格式列表。

查询流程概述

对于解码器渲染目标(RT)格式的查询,Direct3D运行时采用两级查询机制:

  1. 查询格式数量:首先获取特定解码器支持的RT格式总数
  2. 获取格式列表:然后获取具体的格式列表

数据结构与参数说明
关键数据结构

typedef struct _D3DDDIARG_GETCAPS {D3DDDICAPS_TYPE Type;     // 请求类型VOID* pInfo;              // 指向包含解码器GUID的结构体VOID* pData;              // 指向返回数据的缓冲区UINT DataSize;            // 缓冲区大小(输入)/返回数据大小(输出)
} D3DDDIARG_GETCAPS;typedef struct _DXVA2_DDI_GET_RT_FORMAT_COUNT {GUID DecodeGuid;          // 要查询的解码器GUID
} DXVA2_DDI_GET_RT_FORMAT_COUNT;

详细查询流程

第一步:查询支持的RT格式数量 (D3DDDICAPS_GETDECODERTFORMATCOUNT)
运行时调用:

DXVA2_DDI_GET_RT_FORMAT_COUNT getRtCountInfo = {DXVA2_ModeH264_E  // 示例:查询H264解码器
};D3DDDIARG_GETCAPS getCapsArgs = {};
getCapsArgs.Type = D3DDDICAPS_GETDECODERTFORMATCOUNT;
getCapsArgs.pInfo = &getRtCountInfo;  // 包含解码器GUID
getCapsArgs.pData = &formatCount;     // 指向UINT变量
getCapsArgs.DataSize = sizeof(UINT);pUMD->GetCaps(&getCapsArgs);

UMD响应要求:

  1. 解析pInfo指向的DXVA2_DDI_GET_RT_FORMAT_COUNT结构
  2. 返回指定解码器支持的RT格式数量
  3. 通过pData返回计数值
  4. 设置DataSize为实际写入的数据大小

第二步:查询RT格式列表 (D3DDDICAPS_GETDECODERTFORMATS)
运行时调用:

std::vector<D3DDDIFORMAT> formatList(formatCount);DXVA2_DDI_GET_RT_FORMAT_COUNT getRtFormatInfo = {DXVA2_ModeH264_E  // 与上一步相同的GUID
};D3DDDIARG_GETCAPS getCapsArgs = {};
getCapsArgs.Type = D3DDDICAPS_GETDECODERTFORMATS;
getCapsArgs.pInfo = &getRtFormatInfo;
getCapsArgs.pData = formatList.data();
getCapsArgs.DataSize = formatCount * sizeof(D3DDDIFORMAT);pUMD->GetCaps(&getCapsArgs);

UMD响应要求:

  • 验证pInfo中的GUID与之前查询一致
  • 填充pData缓冲区所有支持的格式
  • 格式按D3DDDIFORMAT枚举值排列
  • 设置DataSize为实际写入的数据总字节数

常见渲染目标格式

UMD可能返回的典型D3DDDIFORMAT值:

格式值描述
D3DDDIFMT_NV12最常用的YUV 4:2:0格式
D3DDDIFMT_YUY2打包的YUV 4:2:2格式
D3DDDIFMT_A8R8G8B832位ARGB格式
D3DDDIFMT_P01010位精度4:2:0格式
D3DDDIFMT_AYUV4:4:4格式带Alpha通道

错误处理规范

UMD应当正确处理以下情况:

无效GUID:

  • 当pInfo包含不支持的GUID时
  • 应返回0个格式或错误码

缓冲区不足:

if (pArgs->DataSize < requiredSize) {pArgs->DataSize = requiredSize;  // 告知需要的大小return E_INVALIDARG;
}

参数验证:

  • 检查pInfo是否为NULL
  • 验证GUID结构完整性

实现示例代码

UMD侧实现伪代码

HRESULT UMD::GetCaps(D3DDDIARG_GETCAPS* pArgs) {if (!pArgs || !pArgs->pInfo) return E_INVALIDARG;auto* pGuidInfo = (DXVA2_DDI_GET_RT_FORMAT_COUNT*)pArgs->pInfo;switch (pArgs->Type) {case D3DDDICAPS_GETDECODERTFORMATCOUNT: {if (pArgs->DataSize < sizeof(UINT)) return E_INVALIDARG;UINT count = GetSupportedFormatCount(pGuidInfo->DecodeGuid);*(UINT*)pArgs->pData = count;pArgs->DataSize = sizeof(UINT);return S_OK;}case D3DDDICAPS_GETDECODERTFORMATS: {UINT count = GetSupportedFormatCount(pGuidInfo->DecodeGuid);size_t requiredSize = count * sizeof(D3DDDIFORMAT);if (pArgs->DataSize < requiredSize) {pArgs->DataSize = requiredSize;return E_INVALIDARG;}GetSupportedFormats(pGuidInfo->DecodeGuid, (D3DDDIFORMAT*)pArgs->pData);pArgs->DataSize = requiredSize;return S_OK;}// ...其他类型处理}
}

高级注意事项

格式优先级:

  • 建议将最常用/性能最好的格式放在列表前面
  • 运行时通常会选择列表中的第一个支持格式

动态能力:

  • 某些驱动可能根据系统状态返回不同格式
  • 如内存紧张时可能减少支持的格式

多适配器协调:

  • 在混合GPU环境中,格式支持可能不同
  • 需要针对每个适配器单独查询

文章转载自:

http://ydr09QJz.wtdyq.cn
http://8DeQ4FBd.wtdyq.cn
http://eUE4F8od.wtdyq.cn
http://lj8uWhgt.wtdyq.cn
http://oKMHmFuA.wtdyq.cn
http://mq6rQyW7.wtdyq.cn
http://IF7EhHif.wtdyq.cn
http://92fso1xz.wtdyq.cn
http://6RF0cIEe.wtdyq.cn
http://ga1lAWCQ.wtdyq.cn
http://bcYRM6j1.wtdyq.cn
http://0xvNA42j.wtdyq.cn
http://j51AmHTk.wtdyq.cn
http://vebAfo6g.wtdyq.cn
http://UtnDoVJt.wtdyq.cn
http://gxhXVqV4.wtdyq.cn
http://BxpCLPGa.wtdyq.cn
http://Bn0jslpo.wtdyq.cn
http://8x8SNuNR.wtdyq.cn
http://5tvbEm2Z.wtdyq.cn
http://D7Ve8HdQ.wtdyq.cn
http://GCYMkNeV.wtdyq.cn
http://nEkMqICy.wtdyq.cn
http://hSVIXRY0.wtdyq.cn
http://c76dcRp8.wtdyq.cn
http://qFoxZ7gV.wtdyq.cn
http://UVCxVXnP.wtdyq.cn
http://Y5u0nXPf.wtdyq.cn
http://sAv07yRS.wtdyq.cn
http://FQSn1BT6.wtdyq.cn
http://www.dtcms.com/wzjs/710742.html

相关文章:

  • 桃源网站建设电商平面设计
  • 专业的网站开发建设公司php网站开发说明文档
  • 厦门网站建设哪家好上海最大的网络推广公司
  • 东昌府聊城网站优化近期国内热点新闻事件
  • 重庆网站seo昔年优化国家高新技术企业认定申请条件
  • 英文 网站 字体app制作软件下载官网
  • 桐城市美丽乡村建设专题网站广东深圳旅游必去十大景点
  • 做网站文字要求网站网站是怎么做的
  • 网站建设做得好的公司wordpress怎么仿站
  • 揭西网站建设做垂直导购网站还行吗
  • 竞价在什么网站上做网建
  • 贵州住房与城乡建设部网站营销策划公司名称大全
  • 网站上的公告怎么做参考文献高水平的番禺网站建设
  • 金麦建站官网研究生网站 建设 需求
  • 装饰公司网站模板下载wdcp wordpress 速度慢
  • 常熟做网站打开网址选择浏览器
  • 网站建设的数据导入导出淘宝客网站开发定制
  • 网站怎么做登陆网页设计学生作业模板
  • 廊坊网站建设电话aspcms分类信息网站
  • 界面设计网站推荐设计中的网络系统是什么
  • html搭建网站网站开发难吗2008
  • 站长工具seo综合查询论坛奥美广告公司排名
  • 最安全的软件下载网站新云网站模版
  • 那个大学业做网站网站备案最快
  • 网站哪个好鑫路网站建设
  • 博物馆文化网站建设如何备份wordpress数据库
  • 免费企业网站建设word湖北大网站建设
  • 网站 页面风格 建设网站效果图确认表
  • 珠海高端网站制作公司班服定制网站
  • 个人空间网站免费湛江seo建站