structure D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0 (d3d12umddi.h)
La structure D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0 contient les paramètres au niveau de l’image pour l’entrée d’une opération d’encodage.
Syntaxe
typedef struct D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0 {
UINT IntraRefreshFrameIndex;
D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS_0080 Flags;
D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0 PictureControlCodecData;
D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080 ReferenceFrames;
} D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0;
Membres
IntraRefreshFrameIndex
Lors de la demande d’une vague intra-actualisation pour les trames IntraRefreshFramesDuration en spécifiant l’indicateur D3D12DDI_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_0080_REQUEST_INTRA_REFRESH , cette valeur indique, pour l’image actuelle, l’index de l’image dans la vague intra-actualisation. La plage de valeurs est définie par l’hôte pour être comprise entre [0-IntraRefreshFramesDuration) pour indiquer le status de la session intra-actualisation au pilote.
Flags
Valeur D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS_0080 qui indique les indicateurs de descripteur de contrôle d’image pour l’opération de trame d’encodage actuelle.
PictureControlCodecData
Structure D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0 qui contient des données spécifiques au codec de contrôle d’image. Selon le mode de contrôle de débit sélectionné, les valeurs du paramètre de quantification (QP) sont interprétées différemment.
ReferenceFrames
Une structure D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080 qui contient les images reconstruites à partir des sorties des opérations d’encodage passées.
Remarques
Pour plus d’informations générales, consultez Encodage vidéo D3D12 .
Les remarques suivantes fournissent des conseils pour la gestion des images.
L’hôte appelle EncodeFrame dans l’ordre d’encodage en fonction de la séquence périodique de type d’image configurée dans la structure de groupe d’images de codecs (GOP) après avoir effectué la réorganisation de l’image B par POC si nécessaire.
Différents codecs peuvent utiliser leurs propres méthodes pour indexer cette structure et conserver leurs métadonnées d’état. Reportez-vous aux paramètres d’image du codec également transmis dans l’opération EncodeFrame qui contiennent ces détails.
D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAG_0082_0_RECONSTRUCTED_FRAMES_REQUIRE_CONTIGUOUS_TEXTURE_ARRAYS spécifie la spécification des tableaux de textures pour les champs hDrvTexture2Ds et pSubresources de la structure D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080 .
La sortie de l’opération d’encodage pour une image donnée doit également retourner l’image reconstruite si elle est marquée comme référence dans les images suivantes. Le client transmet les images reconstruites dans les commandes EncodeFrame futures.
Si vous codez des couches temporelles, une image peut uniquement être utilisée comme image de référence sur les couches TemporalLayerIndex qui sont inférieures à son propre numéro de couche. Les index de couche temporelle sont spécifiés dans la structure de contrôle d’image et dans les descripteurs d’image de référence.
Les limitations matérielles du nombre d’images de référence sont exprimées en termes de nombre maximal d’éléments présents dans les listes L0 (MaxL0ReferencesForP/MaxL0ReferencesForB) et L1 (MaxL1ReferencesForB), et en limitant par MaxDPBCapacity le nombre maximal d’index uniques dans (L0 union L1) qui correspondent à la valeur de pReferenceFramesReconPictureDescriptors fournis dans D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0.
Il n’existe aucune limite au nombre d’entrées de mémoire tampon d’images décodées (DPB) passées dans pReferenceFramesReconPictureDescriptors, mais au nombre d’entrées de ce tableau faisant référence par les listes L0 et L1. Cela permet à l’utilisateur de suivre l’état d’un DPB dans pReferenceFramesReconPictureDescriptors dans les restrictions définies par les limitations standard du codec et d’utiliser uniquement un sous-ensemble restreint par les limitations matérielles lors de l’appel d’EncodeFrame. Par exemple, pour l’encodage HEVC, l’appelant peut suivre les 15 dernières images encodées dans pReferenceFramesReconPictureDescriptors , mais utiliser uniquement un sous-ensemble des images qui entrent dans les restrictions matérielles, en affectant un nombre limité d’index uniques dans les listes L0 et L1.
Notez qu’une demande d’actualisation instantanée de décodeur (IDR) agit comme une barrière entre les références de trame et la mémoire tampon DPB et que son état peut devoir être vidé en conséquence par l’hôte.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 11 (WDDM 3.0) |
En-tête | d3d12umddi.h |
Voir aussi
D3D12DDI_VIDEO_ENCODER_ENCODEFRAME_INPUT_STREAM_ARGUMENTS_0082_0
D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_0080
D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080
D3D12DDI_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS_0082_0