IDXVAHD_Device::GetVideoProcessorOutputFormats, méthode (dxvahd.h)

Obtient la liste des formats de sortie pris en charge par l’appareil Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

Syntaxe

HRESULT GetVideoProcessorOutputFormats(
  [in]  UINT      Count,
  [out] D3DFORMAT *pFormats
);

Paramètres

[in] Count

Nombre de formats à récupérer. Ce paramètre doit être égal au membre OutputFormatCount de la structure DXVAHD_VPDEVCAPS . Appelez la méthode IDXVAHD_Device::GetVideoProcessorDeviceCaps pour obtenir cette valeur.

[out] pFormats

Pointeur vers un tableau de valeurs D3DFORMAT . Le paramètre Count spécifie le nombre d’éléments dans le tableau. La méthode remplit le tableau avec une liste de formats de sortie.

Valeur retournée

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Notes

La liste des formats peut inclure à la fois des valeurs D3DFORMAT , telles que D3DFMT_X8R8G8B8, et des codes FOURCC, tels que « NV12 ». Pour plus d’informations, consultez Vidéo FOURCC.

Exemples

// Checks whether a DXVA-HD device supports a specified output format.

HRESULT CheckOutputFormatSupport(
    IDXVAHD_Device          *pDXVAHD,
    const DXVAHD_VPDEVCAPS& caps,
    D3DFORMAT               d3dformat
    )
{
    D3DFORMAT *pFormats = new (std::nothrow) D3DFORMAT[caps.OutputFormatCount];
    if (pFormats == NULL)
    {
        return E_OUTOFMEMORY;
    }

    HRESULT hr = pDXVAHD->GetVideoProcessorOutputFormats(
        caps.OutputFormatCount, 
        pFormats
        );

    if (FAILED(hr)) 
    { 
        goto done; 
    }

    UINT index;
    for (index = 0; index < caps.OutputFormatCount; index++)
    {
        if (pFormats[index] == d3dformat)
        {
            break;
        }
    }
    if (index == caps.OutputFormatCount)
    {
        hr = E_FAIL;
    }

done:
    delete [] pFormats;
    return hr;
}

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

IDXVAHD_Device