Win32 API 日本語リファレンス
ホーム › Media.MediaFoundation › PDXVAHDSW_ProposeVideoPrivateFormat

PDXVAHDSW_ProposeVideoPrivateFormat

コールバック

シグネチャ

HRESULT PDXVAHDSW_ProposeVideoPrivateFormat(
    HANDLE hDevice,
    D3DFORMAT* pFormat
);

パラメーター

フィールド型説明
hDeviceHANDLEプラグイン DXVA-HD デバイスへのハンドル。
pFormatD3DFORMAT*D3DFORMAT 値へのポインター。入力時は、アプリケーションが要求するサーフェス形式を指定します。出力時は、プラグインデバイスが提案するプライベートサーフェス形式を指定します。

公式ドキュメント

ソフトウェアプラグインの Microsoft DirectX Video Acceleration High Definition (DXVA-HD) デバイスからプライベートサーフェス形式を取得します。

戻り値

このコールバック関数が成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

この関数は、次の条件が満たされる場合に、アプリケーションが IDXVAHD_Device::CreateVideoSurface を呼び出したときに呼び出されます。

この関数により、プラグインデバイスは同等のメモリレイアウトを持つ代替形式を提案できます。たとえば、アプリケーションが AYUV を要求した場合、プラグインデバイスは D3DFMT_A8R8G8B8 型のサーフェスを割り当てることがあります。

関数が成功すると、CreateVideoSurface メソッドは、pFormat で返された形式でサーフェスの作成を試みます。

例

次のコードは、プラグインデバイスが AYUV の代替サーフェス形式として D3DFMT_A8R8G8B8 を提案する方法を示しています。

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

        default: 
            return E_FAIL;
    }
}
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)