Partager via


énumération D3D12_VIDEO_DECODE_TIER (d3d12video.h)

Spécifie le niveau de décodage d’un décodeur vidéo matériel, qui détermine le format requis des textures et des mémoires tampons définies par l’application.

Syntax

typedef enum D3D12_VIDEO_DECODE_TIER {
  D3D12_VIDEO_DECODE_TIER_NOT_SUPPORTED,
  D3D12_VIDEO_DECODE_TIER_1,
  D3D12_VIDEO_DECODE_TIER_2,
  D3D12_VIDEO_DECODE_TIER_3
} ;

Constantes

 
D3D12_VIDEO_DECODE_TIER_NOT_SUPPORTED
Le décodage vidéo n’est pas pris en charge.
D3D12_VIDEO_DECODE_TIER_1
Au niveau 1, le décodeur matériel nécessite que l’application alloue des textures de référence en tant que tableau de textures. Cela permet de répondre à la configuration matérielle requise pour que les textures soient « proches » dans l’espace d’adressage, car le matériel ne prend pas en charge un pointeur de taille réelle pour chaque mémoire tampon d’image individuelle. Au lieu de cela, il a un pointeur et un décalage de bits plus limité. Pour plus d’informations sur les tableaux de textures, consultez Présentation des textures dans Direct3D 11.

Si le matériel du décodeur nécessite une disposition de mémoire unique qui n’est pas prise en charge pour les opérations sur d’autres moteurs ou différentes opérations vidéo, le décodeur peut définir l’indicateur de configuration D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED dans la structure D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT lorsqu’il est interrogé pour la prise en charge du profil. Cet indicateur indique que l’application doit allouer des références avec l’indicateur D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY . L’application doit utiliser la structure D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS pour définir une sortie de référence uniquement si la sortie est nécessaire comme cadre de référence ultérieur. Le frame de sortie passé à ID3D12VideoCommandList ::D ecodeFrame est une ressource D3D12 qui peut être consommée par d’autres parties du pipeline et ne doit pas avoir l’indicateur D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY.

#### Conditions requises de niveau 1 pour les mémoires tampons d’entrée compressées
- Toutes les tranches d’un cadre donné doivent être placées dans l’ordre et doivent être contiguës, c’est-à-dire qu’il ne doit y avoir aucun espace entre les tranches. Les mémoires tampons de contrôle de tranche doivent spécifier des paramètres de décalage et de taille qui répondent à cette exigence.
- La première tranche doit commencer sur une limite de 128 octets. Le décalage défini dans la structure D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM doit être un multiple de 128 octets.
- Le décodage est pris en charge à partir des mémoires tampons allouées avec D3D12_MEMORY_POOL_L0. Il s’agit toujours de la mémoire système, mais toujours d’une mémoire tampon D3D12.
- Le décodage est pris en charge à partir des mémoires tampons allouées avec D3D12_MEMORY_POOL_L1, le pool par défaut, y compris celles allouées avec D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE.
D3D12_VIDEO_DECODE_TIER_2
Dans le niveau de décodage 2, les textures peuvent être référencées en tant que tableau de textures ou en tant que tableau de ressources 2D de texture distinctes (chaque ressource ayant une taille de tableau de 1). Cela est plus flexible pour l’appelant et est important dans les scénarios où la résolution change fréquemment, comme dans le streaming vidéo, car un tableau de textures ne peut être alloué et libéré qu’en une seule unité, mais des ressources 2D de texture distinctes peuvent être allouées et libérées individuellement.

Si le matériel de décodage nécessite un format de mosaïques unique qui n’est pas pris en charge pour les opérations sur d’autres moteurs ou différentes opérations vidéo, le décodeur peut définir l’indicateur de configuration D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED dans la structure D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT lorsqu’il est interrogé pour la prise en charge du profil. Cet indicateur indique que l’application doit allouer des références avec l’indicateur D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY . L’application doit utiliser la structure D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS pour définir une sortie de référence uniquement si la sortie est nécessaire comme cadre de référence ultérieur. Le frame de sortie passé à ID3D12VideoCommandList ::D ecodeFrame est une ressource D3D12 qui peut être consommée par d’autres parties du pipeline et ne doit pas avoir l’indicateur D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY.

#### Configuration requise de niveau 2 pour les mémoires tampons d’entrée compressées

Ces exigences sont identiques aux exigences de niveau 1.

- Toutes les tranches d’un cadre donné doivent être placées dans l’ordre et doivent être contiguës, c’est-à-dire qu’il ne doit y avoir aucun espace entre les tranches. Les mémoires tampons de contrôle de tranche doivent spécifier des paramètres de décalage et de taille qui répondent à cette exigence.
- La première tranche doit commencer sur une limite de 128 octets. Le décalage défini dans la structure D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM doit être un multiple de 128 octets.
- Le décodage est pris en charge à partir des mémoires tampons allouées avec D3D12_MEMORY_POOL_L0. Il s’agit toujours de la mémoire système, mais toujours d’une mémoire tampon D3D12.
- Le décodage est pris en charge à partir des mémoires tampons allouées avec D3D12_MEMORY_POOL_L1, le pool par défaut, y compris celles allouées avec D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE.
-
D3D12_VIDEO_DECODE_TIER_3
Ce champ est réservé.

Configuration requise

Condition requise Valeur
En-tête d3d12video.h