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

D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAGS_0083_0

PFND3D12DDI_VIDEO_ENCODE_FRAME_0082_0