D3D12DDIARG_CREATE_VIDEO_DECODER_HEAP_0033 structure (d3d12umddi.h)

Utilisé pour créer un objet décodeur pour une session de décodage.

Syntaxe

typedef struct D3D12DDIARG_CREATE_VIDEO_DECODER_HEAP_0033 {
  UINT                                     NodeMask;
  D3D12DDI_VIDEO_DECODE_CONFIGURATION_0020 Configuration;
  UINT                                     DecodeWidth;
  UINT                                     DecodeHeight;
  DXGI_FORMAT                              Format;
  DXGI_RATIONAL                            FrameRate;
  UINT                                     BitRate;
  UINT                                     MaxDecodePictureBufferCount;
} D3D12DDIARG_CREATE_VIDEO_DECODER_HEAP_0033;

Membres

NodeMask

Pour une opération GPU unique, définissez cette valeur sur zéro. S’il existe plusieurs nœuds GPU, définissez un bit pour identifier le nœud (l’adaptateur physique de l’appareil) auquel la file d’attente de commandes s’applique. Chaque bit du masque correspond à un seul nœud. Seul 1 bit peut être défini.

Configuration

Chiffrement du profil de décodage et du flux de bits. Voir D3D12DDI_VIDEO_DECODE_CONFIGURATION.

DecodeWidth

Largeur de décodage du flux de bits à décoder.

DecodeHeight

Hauteur de décodage du flux de bits à décoder.

Format

Format de données de ressource.

FrameRate

Fréquence d’images du flux vidéo d’entrée.

BitRate

Taux de compression des données bits par seconde pour le flux vidéo compressé.

MaxDecodePictureBufferCount

Nombre maximal de mémoires tampons d’images de décodage que ce flux peut avoir.

Remarques

Le tas du décodeur contient les allocations d’une session de décodage et peut contenir un état, y compris des données de référence telles que des vecteurs de mouvement. En cas de modification de résolution ou de modification de MaxDecodePictureBufferCount, une nouvelle instance de cet objet est créée. Il est spécifique au codec lorsque ces propriétés peuvent changer.

La largeur et la hauteur du décodage spécifient la résolution de flux natif avant toute mise à l’échelle. Le nombre maximal de mémoires tampons d’images décodées (DPB) spécifie le plus grand nombre de DPB pouvant être utilisé sans recréer le flux de décodage vidéo.

Les paramètres Vitesse de transmission et FrameRate peuvent être utilisés par les pilotes pour informer les heuristiques telles que les tailles d’allocation intermédiaires ou les optimisations des performances.

Le décodage d’une image peut échouer si les valeurs de débit binaire et framerate sont insuffisantes pour le flux vidéo. Si le décodage échoue pour cette raison, le D3D12DDI_QUERY_TYPE_VIDEO_DECODE_STATISTICS de requête doit retourner status D3D12DDI_VIDEO_DECODE_STATUS_RATE_EXCEEDED.

Les paramètres Débit binaire et FrameRate peuvent également être définis sur zéro. Lorsque ces valeurs sont utilisées, les pilotes doivent faire des hypothèses les plus défavorables et ne sont pas autorisés à échouer avec D3D12DDI_VIDEO_DECODE_STATUS_RATE_EXCEEDED.

Configuration requise

Condition requise Valeur
En-tête d3d12umddi.h