Partager via


ID3D12VideoEncodeCommandList2 ::EncodeFrame, méthode (d3d12video.h)

Encode un flux de bits.

Syntaxe

void EncodeFrame(
  ID3D12VideoEncoder                                     *pEncoder,
  ID3D12VideoEncoderHeap                                 *pHeap,
  const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS  *pInputArguments,
  const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS *pOutputArguments
);

Paramètres

pEncoder

ID3D12VideoEncoder représentant l’encodeur vidéo à utiliser pour l’opération d’encodage.

pHeap

ID3D12VideoEncoderHeap représentant le tas d’encodeur vidéo à utiliser pour cette opération.

L’allocation d’objet tas de l’encodeur ne doit pas être libérée avant que les commandes GPU en cours de vol qui le référencent ne terminent l’exécution.

Notez que les reconfigurations dans les arguments d’entrée des commandes enregistrées effectuées dans les limites autorisées (par exemple, différentes résolutions de cible dans les listes de résolutions autorisées) peuvent coexister en cours avec le même tas d’encodeur instance, à condition que la résolution cible soit prise en charge par le tas d’encodeur donné.

Dans la version actuelle, nous ne prenons en charge qu’un seul flux d’exécution à la fois à l’aide des mêmes instances d’encodeur ou de tas d’encodeurs. Toutes les commandes sur ces objets doivent être enregistrées et envoyées dans un ordre sérialisé, c’est-à-dire à partir d’un thread de processeur unique ou en synchronisant plusieurs threads de telle sorte que les commandes soient enregistrées dans un ordre sérialisé.

L’encodeur vidéo et le tas d’encodeurs vidéo peuvent être utilisés pour enregistrer des commandes à partir de plusieurs listes de commandes, mais ne peuvent être associés qu’à une seule liste de commandes à la fois. L’application est chargée de synchroniser les accès uniques à l’encodeur vidéo et au tas de l’encodeur vidéo à la fois. L’application doit également enregistrer les commandes d’encodage vidéo sur l’encodeur vidéo et les tas d’encodeurs vidéo dans l’ordre dans lequel elles sont exécutées sur le GPU.

pInputArguments

D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS représentant les arguments d’entrée pour l’opération d’encodage.

pOutputArguments

D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS représentant les arguments de sortie pour l’opération d’encodage.

Valeur de retour

None

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Build 22000
Serveur minimal pris en charge Windows Build 22000
En-tête d3d12video.h