Share via


PDXVAHDSW_ProposeVideoPrivateFormat fonction de rappel (dxvahd.h)

Obtient un format de surface privé à partir d’un plug-in logiciel Microsoft DirectX Video Acceleration Haute Définition (DXVA-HD).

Syntaxe

PDXVAHDSW_ProposeVideoPrivateFormat PdxvahdswProposevideoprivateformat;

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

Paramètres

[in] hDevice

Handle pour l’appareil plug-in DXVA-HD.

[in, out] pFormat

Pointeur vers une valeur D3DFORMAT . En entrée, spécifie le format de surface qui est demandé par l’application. Sur la sortie, spécifie le format de surface privé proposé par l’appareil de plug-in.

Valeur retournée

Si cette fonction de rappel réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Notes

Cette fonction est appelée lorsque l’application appelle IDXVAHD_Device::CreateVideoSurface si les conditions suivantes sont remplies :

  • Le type de surface d’entrée est DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE.
  • L’appareil Direct3D ne prend pas en charge le format surface demandé par l’application en mode natif.
Cette fonction permet au périphérique de plug-in de proposer un autre format avec une disposition de mémoire équivalente. Par exemple, si l’application demande AYUV, l’appareil de plug-in peut allouer une surface de type D3DFMT_A8R8G8B8.

Si la fonction réussit, la méthode CreateVideoSurface tente de créer une surface au format retourné dans pFormat.

Exemples

Le code suivant montre comment un périphérique de plug-in propose D3DFMT_A8R8G8B8 comme format de surface alternatif pour AYUV.

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

        default: 
            return E_FAIL;
    }
}

Spécifications

   
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête dxvahd.h

Voir aussi

DXVA-HD

DXVAHDSW_CALLBACKS

IDXVAHD_Device::CreateVideoSurface

Fonctions Media Foundation