Partager via


Méthode IDirectXVideoProcessorService::GetVideoProcessorDeviceGuids (dxva2api.h)

Obtient un tableau de GUID qui identifient les processeurs vidéo pris en charge par le matériel graphique.

Syntaxe

HRESULT GetVideoProcessorDeviceGuids(
  [in]  const DXVA2_VideoDesc *pVideoDesc,
  [out] UINT                  *pCount,
  [out] GUID                  **pGuids
);

Paramètres

[in] pVideoDesc

Pointeur vers une structure DXVA2_VideoDesc qui décrit le contenu vidéo.

[out] pCount

Reçoit le nombre de GUID.

[out] pGuids

Reçoit un tableau de GUID. La taille du tableau est récupérée dans le paramètre pCount . La méthode alloue la mémoire pour le tableau. L’appelant doit libérer la mémoire en appelant CoTaskMemFree.

Valeur retournée

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

Notes

Les GUID de processeur vidéo suivants sont prédéfinis.

GUID Description
DXVA2_VideoProcBobDevice Bob désinterlace l’appareil. Cet appareil utilise un algorithme « bob » pour désinterlacer la vidéo. Les algorithmes Bob créent des lignes de champ manquantes en interpolant les lignes dans un champ unique.
DXVA2_VideoProcProgressiveDevice Appareil vidéo progressif. Cet appareil est disponible pour la vidéo progressive, ce qui ne nécessite pas d’algorithme de désinterlacement.
DXVA2_VideoProcSoftwareDevice Appareil de référence (logiciel).
 

Le périphérique graphique peut définir des GUID supplémentaires spécifiques au fournisseur. Le pilote fournit la liste des GUID dans l’ordre de qualité décroissant. Le mode avec la qualité la plus élevée figure en premier dans la liste. Pour obtenir les fonctionnalités de chaque mode, appelez IDirectXVideoProcessorService::GetVideoProcessorCaps et passez le GUID du mode.

Exemples


    // Initialize the video descriptor.

    g_VideoDesc.SampleWidth                         = VIDEO_MAIN_WIDTH;
    g_VideoDesc.SampleHeight                        = VIDEO_MAIN_HEIGHT;
    g_VideoDesc.SampleFormat.VideoChromaSubsampling = DXVA2_VideoChromaSubsampling_MPEG2;
    g_VideoDesc.SampleFormat.NominalRange           = DXVA2_NominalRange_16_235;
    g_VideoDesc.SampleFormat.VideoTransferMatrix    = EX_COLOR_INFO[g_ExColorInfo][0];
    g_VideoDesc.SampleFormat.VideoLighting          = DXVA2_VideoLighting_dim;
    g_VideoDesc.SampleFormat.VideoPrimaries         = DXVA2_VideoPrimaries_BT709;
    g_VideoDesc.SampleFormat.VideoTransferFunction  = DXVA2_VideoTransFunc_709;
    g_VideoDesc.SampleFormat.SampleFormat           = DXVA2_SampleProgressiveFrame;
    g_VideoDesc.Format                              = VIDEO_MAIN_FORMAT;
    g_VideoDesc.InputSampleFreq.Numerator           = VIDEO_FPS;
    g_VideoDesc.InputSampleFreq.Denominator         = 1;
    g_VideoDesc.OutputFrameFreq.Numerator           = VIDEO_FPS;
    g_VideoDesc.OutputFrameFreq.Denominator         = 1;

    // Query the video processor GUID.

    UINT count;
    GUID* guids = NULL;

    hr = g_pDXVAVPS->GetVideoProcessorDeviceGuids(&g_VideoDesc, &count, &guids);

Spécifications

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

Voir aussi

Traitement vidéo DXVA

IDirectXVideoProcessorService