PDXVAHDSW_ProposeVideoPrivateFormat回调函数 (dxvahd.h)

从软件插件 Microsoft DirectX 视频加速高清 (DXVA-HD) 设备获取专用表面格式。

语法

PDXVAHDSW_ProposeVideoPrivateFormat PdxvahdswProposevideoprivateformat;

HRESULT PdxvahdswProposevideoprivateformat(
  [in]      HANDLE hDevice,
  [in, out] D3DFORMAT *pFormat
)
{...}

参数

[in] hDevice

插件 DXVA-HD 设备的句柄。

[in, out] pFormat

指向 D3DFORMAT 值的指针。 输入时,指定应用程序请求的图面格式。 在输出中,指定插件设备建议的专用表面格式。

返回值

如果此回调函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

备注

如果满足以下条件,则应用程序调用 IDXVAHD_Device::CreateVideoSurface 时调用此函数:

  • 输入图面的类型 DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE
  • Direct3D 设备不支持应用程序本机请求的表面格式。
此函数使插件设备能够建议具有等效内存布局的备用格式。 例如,如果应用程序请求 AYUV,插件设备可能会分配 D3DFMT_A8R8G8B8类型的图面。

如果函数成功, CreateVideoSurface 方法将尝试使用 pFormat 中返回的格式创建图面。

示例

以下代码演示插件设备如何建议 D3DFMT_A8R8G8B8 作为 AYUV 的替代表面格式。

HRESULT CALLBACK ProposeVideoPrivateFormat(
    HANDLE hDevice,
    D3DFORMAT* pFormat 
    )
{
    switch (*pFormat)
    {
        case D3DFMT_AYUV: 
            *pFormat = D3DFMT_A8R8G8B8; 
            return S_OK;

        default: 
            return E_FAIL;
    }
}

要求

   
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 dxvahd.h

另请参阅

DXVA-HD

DXVAHDSW_CALLBACKS

IDXVAHD_Device::CreateVideoSurface

媒体基础函数