Freigeben über


D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0 Struktur (d3d12umddi.h)

Die D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0-Struktur enthält die Parameter auf Bildebene für die Eingabe eines Codierungsvorgangs.

Syntax

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;

Angehörige

IntraRefreshFrameIndex

Beim Anfordern einer Intra-Refresh-Welle für IntraRefreshFramesDuration Frames durch Angabe des D3D12DDI_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_0080_REQUEST_INTRA_REFRESH Flags gibt dieser Wert für das aktuelle Bild den Index des Frames in der Intraaktualisierungswelle an. Der Wertbereich wird vom Host so festgelegt, dass er zwischen [0-IntraRefreshFramesDuration) liegt, um den Status der intra-refresh-Sitzung auf den Treiber hinzuweisen.

Flags

Ein D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS_0080 Wert, der die Kennzeichnungen des Bildsteuerelements für den aktuellen codierten Framevorgang angibt.

PictureControlCodecData

Eine D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0 Struktur, die bildgesteuerte Codec-spezifische Daten enthält. Je nach dem ausgewählten Steuerungsmoduswerden die Quantisierungsparameterwerte (QP) unterschiedlich interpretiert.

ReferenceFrames

Eine D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080 Struktur, die die konstruierten Bilder aus den vergangenen Codierungsvorgängen enthält.

Bemerkungen

Allgemeine Informationen finden Sie unter D3D12-Videocodierung.

Die folgenden Hinweise enthalten Anleitungen für die Frameverwaltung.

Der Host ruft EncodeFrame in codierter Reihenfolge auf, basierend auf der regelmäßigen Sequenz des Bildtyps, die in der Codecgruppe von Bildern (GOP) konfiguriert ist, nachdem die B-Frame-Neuanordnung nach POC bei Bedarf durchgeführt wurde.

Verschiedene Codecs können ihre eigenen Methoden zum Indizieren dieser Struktur verwenden und deren Zustandsmetadaten beibehalten. Verweisen Sie auf die Codec-Bildparameter, die auch im EncodeFrame--Vorgang übergeben werden, der solche Details enthält.

D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAG_0082_0_RECONSTRUCTED_FRAMES_REQUIRE_CONTIGUOUS_TEXTURE_ARRAYS gibt die Anforderung von Texturarrays für die hDrvTexture2Ds und pSubresources Felder der D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080 Struktur an.

Die Ausgabe des codierten Vorgangs für einen bestimmten Frame muss auch die wiederkonstruierte Grafik zurückgeben, wenn sie als Referenz in den nächsten Frames verwendet werden soll. Der Client übergibt die wiederkonstruierten Bilder in Zukunft EncodeFrame Befehle.

Wenn Zeitliche Ebenen codiert werden, kann ein Bild nur als Referenzbild auf TemporalLayerIndex- Ebenen verwendet werden, die kleiner als ihre eigene Layernummer sind. Die zeitlichen Ebenenindizes werden in der Bildsteuerelementstruktur und in den Referenzbilddeskriptoren angegeben.

Die Hardwareeinschränkungen für die Anzahl der Referenzbilder werden in Bezug auf die maximale Anzahl von Elementen in L0 (MaxL0ReferencesForP/MaxL0ReferencesForB) und L1 (MaxL1ReferencesForB) angegeben, und durch MaxDPBCapacity die maximale Anzahl eindeutiger Indizes (L0 union L1), die den Wert pReferenceFramesReconPictureDescriptors in D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0.

Es gibt keine Einschränkung für die Anzahl der dekodierten Bildpuffereinträge (DPB), die in pReferenceFramesReconPictureDescriptorsübergeben werden, sondern stattdessen in der Anzahl der Einträge für dieses Array, auf die von den Listen L0 und L1 verwiesen wird. Auf diese Weise kann der Benutzer den Status eines DPB in pReferenceFramesReconPictureDescriptors innerhalb der durch die Codec-Standardeinschränkungen definierten Einschränkungen nachverfolgen und nur eine Teilmenge verwenden, die durch die Hardwareeinschränkungen eingeschränkt ist, wenn EncodeFrameaufgerufen wird. Beispielsweise könnte der Aufrufer für die HEVC-Codierung die neuesten 15 codierten Bilder in pReferenceFramesReconPictureDescriptors nachverfolgen, aber nur eine Teilmenge der Bilder verwenden, die in die Hardwareeinschränkungen fallen, indem eine begrenzte Anzahl eindeutiger Indizes in den L0- und L1-Listen zugewiesen wird.

Beachten Sie, dass eine Anforderung für eine sofortige Decoderaktualisierung (IDR) als Barriere zwischen Frameverweise und dem DPB-Puffer fungiert und deren Zustand möglicherweise vom Host entsprechend geleert werden muss.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 11 (WDDM 3.0)
Header- d3d12umddi.h

Siehe auch

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