Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Spécifie des indicateurs pour les fonctionnalités d’encodeur vidéo.
Syntaxe
typedef enum D3D12_VIDEO_ENCODER_SUPPORT_FLAGS {
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_NONE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_GENERAL_SUPPORT_OK,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_RECONFIGURATION_AVAILABLE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RESOLUTION_RECONFIGURATION_AVAILABLE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_VBV_SIZE_CONFIG_AVAILABLE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_FRAME_ANALYSIS_AVAILABLE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RECONSTRUCTED_FRAMES_REQUIRE_TEXTURE_ARRAYS,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_DELTA_QP_AVAILABLE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGION_LAYOUT_RECONFIGURATION_AVAILABLE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_ADJUSTABLE_QP_RANGE_AVAILABLE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_INITIAL_QP_AVAILABLE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_MAX_FRAME_SIZE_AVAILABLE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SEQUENCE_GOP_RECONFIGURATION_AVAILABLE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_MOTION_ESTIMATION_PRECISION_MODE_LIMIT_AVAILABLE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_EXTENSION1_SUPPORT = 0x2000,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_QUALITY_VS_SPEED_AVAILABLE = 0x4000,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_READABLE_RECONSTRUCTED_PICTURE_LAYOUT_AVAILABLE = 0x8000,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_PER_BLOCK_QP_MAP_METADATA_AVAILABLE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_PER_BLOCK_SATD_MAP_METADATA_AVAILABLE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_PER_BLOCK_RC_BIT_ALLOCATION_MAP_METADATA_AVAILABLE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGION_NOTIFICATION_ARRAY_OF_BUFFERS_AVAILABLE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGION_NOTIFICATION_SINGLE_BUFFER_AVAILABLE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_FRAME_PSNR_METADATA_AVAILABLE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGIONS_PSNR_METADATA_AVAILABLE,
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_SPATIAL_ADAPTIVE_QP_AVAILABLE
} ;
Constantes
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_NONEAucun. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_GENERAL_SUPPORT_OKIndique si la configuration donnée est prise en charge par l’encodeur en combinaison avec le reste des indicateurs pour transmettre certaines limitations ou aucune prise en charge générale. La couche de débogage Direct3D 12 peut fournir des informations supplémentaires. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_RECONFIGURATION_AVAILABLEPrise en charge de la modification du contrôle de débit au milieu de la session d’encodage. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RESOLUTION_RECONFIGURATION_AVAILABLEPrise en charge de la modification de la résolution au milieu de la session d’encodage. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_VBV_SIZE_CONFIG_AVAILABLEPrise en charge de la configuration de l’intégralité et de la capacité initiale de VBV pour les algorithmes de contrôle de débit. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_FRAME_ANALYSIS_AVAILABLEPrise en charge des modes de contrôle de débit qui impliquent l’analyse d’images pour optimiser l’utilisation du débit binaire au coût d’une performance plus lente. Lorsque cet indicateur est signalé par le pilote, une prise en charge supplémentaire de l’exécution de deux passes à des résolutions inférieures peut être interrogée dans D3D12_FEATURE_VIDEO_ENCODER_RATE_CONTROL_FRAME_ANALYSIS. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RECONSTRUCTED_FRAMES_REQUIRE_TEXTURE_ARRAYSLorsque cet indicateur est défini, les textures faisant référence à des images reconstruites ne peuvent être référencées qu’en tant que tableau de textures, par opposition à un tableau de ressources 2D de texture distinctes avec chaque ressource ayant une taille de tableau de 1. Lorsque cette fonctionnalité n’est pas nécessaire, il existe plus de flexibilité pour l’hôte. Cela est important pour les scénarios où la résolution change fréquemment et que le DPB doit être vidé pour un frame IDR, car un tableau de textures ne peut être alloué et libéré qu’en tant qu’unité unique, mais des ressources de texture distinctes peuvent être allouées et libérées individuellement. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_DELTA_QP_AVAILABLEPrise en charge de l’utilisation du QP Delta dans le contrôle de débit |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGION_LAYOUT_RECONFIGURATION_AVAILABLEPrise en charge des modifications de disposition dynamiques de sous-région lors d’une session d’encodage. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_ADJUSTABLE_QP_RANGE_AVAILABLEPrise en charge de la plage de QP réglable dans le contrôle de débit. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_INITIAL_QP_AVAILABLEPrise en charge du QP initial réglable dans le contrôle de débit. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_MAX_FRAME_SIZE_AVAILABLEPrise en charge de la définition d’une limite maximale dans l’algorithme de débit binaire par chaque trame encodée. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SEQUENCE_GOP_RECONFIGURATION_AVAILABLEPrise en charge des modifications goP dynamiques pendant une session d’encodage. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_MOTION_ESTIMATION_PRECISION_MODE_LIMIT_AVAILABLEPrise en charge de l’appelant pour limiter la précision utilisée pour la recherche de mouvement sur l’encodeur d’images. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_EXTENSION1_SUPPORTPrise en charge des configurations de l’extension de contrôle de débit 1. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_QUALITY_VS_SPEED_AVAILABLEPrise en charge de la qualité et de la configuration de compromis de vitesse dans le contrôle de débit. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_READABLE_RECONSTRUCTED_PICTURE_LAYOUT_AVAILABLEPrise en charge des dispositions d’image reconstruites lisibles. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_PER_BLOCK_QP_MAP_METADATA_AVAILABLEPrise en charge de la sortie des métadonnées de mappage QP par bloc. Quand elle est prise en charge, l’application peut activer D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_QP_MAP. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_PER_BLOCK_SATD_MAP_METADATA_AVAILABLEPrise en charge de la sortie des métadonnées de mappage SATD par bloc. Quand elle est prise en charge, l’application peut activer D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SATD_MAP. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_PER_BLOCK_RC_BIT_ALLOCATION_MAP_METADATA_AVAILABLEPrise en charge de la sortie des métadonnées de mappage d’allocation de bits par contrôle de débit par bloc. Quand elle est prise en charge, l’application peut activer D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_RC_BIT_ALLOCATION_MAP. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGION_NOTIFICATION_ARRAY_OF_BUFFERS_AVAILABLEPrise en charge de la notification de flux binaire compressé de sous-région à l’aide d’un tableau de mémoires tampons de sortie distinctes, une par sous-région. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGION_NOTIFICATION_SINGLE_BUFFER_AVAILABLEPrise en charge de la notification de flux binaire compressé de la sous-région à l’aide d’une seule mémoire tampon de sortie contiguë pour tous les sous-régions. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_FRAME_PSNR_METADATA_AVAILABLEPrise en charge de la sortie des métadonnées PSNR au niveau de l’image. Quand elle est prise en charge, l’application peut activer D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_FRAME_PSNR. |
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGIONS_PSNR_METADATA_AVAILABLEPrise en charge de la sortie des métadonnées PSNR au niveau de la sous-région. En cas de prise en charge, l’application peut activer D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SUBREGIONS_PSNR. |
Remarques
D3D12_VIDEO_ENCODER_SUPPORT_FLAG_GENERAL_SUPPORT_OK indique qu’il existe une prise en charge générale. Le reste des indicateurs peut être combiné pour transmettre des informations supplémentaires.
Prise en charge générale toujours attendue.
- Il existe une prise en charge de toutes les mémoires tampons à allouer avec D3D12_MEMORY_POOL_L0. Il s’agit toujours de la mémoire système, mais toujours d’une mémoire tampon D3D12.
- Il existe une prise en charge de toutes les mémoires tampons à allouer avec D3D12_MEMORY_POOL_L1), le pool par défaut, y compris ceux alloués avec D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE.
Exigences
| Prérequis | Valeur |
|---|---|
| Client minimum requis | Windows Build 22000 |
| Serveur minimal pris en charge | Windows Build 22000 |
| En-tête | d3d12video.h |