typedef struct D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT
{
UINT NodeIndex;
D3D12_VIDEO_SAMPLE InputSample;
DXGI_FORMAT OutputFormat;
BOOL Supported;
UINT8 Reserved[3];
} D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT;
其中,各成员的含义如下:
- NodeIndex: 与硬件节点相关联的索引。
- InputSample: 一个 D3D12_VIDEO_SAMPLE 结构,描述视频处理的输入样本。
- OutputFormat: 指定视频处理的输出格式。
- Supported: 如果硬件支持指定的视频处理功能,则为 TRUE;否则为 FALSE。
- Reserved: 保留字段。
使用该结构时,你需要填充 NodeIndex、InputSample 和 OutputFormat 成员,然后通过 ID3D12Device::CheckFeatureSupport 函数查询硬件是否支持相应的视频处理功能。例如:
D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT videoProcessSupport = {};
videoProcessSupport.NodeIndex = 0; // 可以根据需要设置节点索引
videoProcessSupport.InputSample.Format = DXGI_FORMAT_NV12; // 设置输入样本格式
videoProcessSupport.OutputFormat = DXGI_FORMAT_B8G8R8A8_UNORM; // 设置输出格式
HRESULT hr = pDevice->CheckFeatureSupport(
D3D12_FEATURE_VIDEO_PROCESS_SUPPORT,
&videoProcessSupport,
sizeof(D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT)
);
if (SUCCEEDED(hr) && videoProcessSupport.Supported)
{
// 硬件支持指定的视频处理功能
}
else
{
// 硬件不支持或查询失败
}
请注意,具体的使用方式和支持的功能取决于你的硬件和驱动程序的实现。最好参考 Microsoft 的文档和相关示例代码以获取详细的信息。
转载请注明出处:http://www.zyzy.cn/article/detail/26186/Win32 API/D3d12video.h/D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT