- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在正确的 GPU(实现编码器的 GPU)上创建 D3D 设备和上下文。
MFT_ENUM_ADAPTER_LUID
的文档说它需要 Windows 10,实际上 NVENC MFT 即使在 Win10 上也不会公开该属性。
MFT_ENUM_HARDWARE_URL_Attribute
的文档说该值是设备驱动程序的符号链接(symbolic link),实际上 NVENC MFT 不返回任何 GUID 链接,该值与 MFT_FRIENDLY_NAME_Attribute 中的值相同
,特别是 L"NVIDIA H.264 Encoder MFT"
MFT_ENUM_HARDWARE_VENDOR_ID_Attribute
似乎工作正常,返回 L"VEN_10DE"
因此我可以将其解析为数字并与 VendorId
字段匹配 DXGI_ADAPTER_DESC
结构。但是该属性的文档说支持是可选的。
我不喜欢可选的,我想要可靠的。如何将硬件编码器 MFT 与 GPU 匹配? AMD 即将推出带有两个 GPU 的 PC,例如华硕 FX505DY,供应商 ID 技巧在此类系统上不起作用。
最佳答案
MFT 实例 [至少在实例化阶段] 不是特定于设备的。如果您的系统中有两个支持 NVENC 的视频适配器,则编码器 MFT 是相同的,具有相同的 CLSID。
您通过 MFT_MESSAGE_SET_D3D_MANAGER
指定要使用的 GPU消息,该参数包装 D3D 设备并且是特定于 GPU 的。这是您为编码器选择 GPU 的地方。
此外,仅供引用,NVIDIA H.264 编码器 MFT 特别无法与主要视频适配器(包括但不限于 this )以外的任何东西一起正常工作,如果不是在任何地方,至少在大量系统中都是如此。据我了解,这是他们要在 MFT 实现中修复的 Nvidia 错误。
关于c++ - 如何在 Media Foundation 中支持多 GPU 系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54254525/
我是一名优秀的程序员,十分优秀!