Freigeben über


D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095-Struktur (d3d12umddi.h)

Wenn ein D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAGS Wert für die jeweilige Struktur gemeldet wird, muss der Treiber den Wert nach der EncodeFrame-Ausführung mit oder ohne Änderungen (API-Clienteingabe kopieren) schreiben, die vom Treiber vorgenommen wurden. Andernfalls muss der Treiber beim Aufrufen von EncodeFrame die Werte aus der zugeordneten API-Clienteingabe kopieren.

Syntax

typedef struct D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095 {
  UINT64                                                          CompoundPredictionType;
  D3D12DDI_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG_0095        LoopFilter;
  D3D12DDI_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG_0095  LoopFilterDelta;
  D3D12DDI_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG_0095       Quantization;
  D3D12DDI_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG_0095 QuantizationDelta;
  D3D12DDI_VIDEO_ENCODER_AV1_CDEF_CONFIG_0095                     CDEF;
  D3D12DDI_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG_0095             SegmentationConfig;
  UINT64                                                          PrimaryRefFrame;
  UINT64                                                          ReferenceIndices[7];
} D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095;

Member

CompoundPredictionType

Das zugeordnete Flag ist D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_COMPOUND_PREDICTION_MODE.

LoopFilter

Das zugeordnete Flag ist D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_LOOP_FILTER.

LoopFilterDelta

Das zugeordnete Flag ist D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_LOOP_FILTER_DELTA.

Quantization

Das zugeordnete Flag ist D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_QUANTIZATION.

QuantizationDelta

Das zugeordnete Flag ist D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_QUANTIZATION_DELTA.

CDEF

Das zugeordnete Flag ist D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_CDEF_DATA.

SegmentationConfig

Dieser Member arbeitet je nach ausgewähltem Segmentierungsmodus in verschiedenen Modi.

  • Wenn D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_0095_FLAG_ENABLE_FRAME_SEGMENTATION_AUTO für den aktuellen Frame aktiviert ist, führt der Treiber folgendes aus:
    • Berechnet und schreibt SegmentationConfig, die vom API-Client zum Codieren der segmentation_params()-Syntax im Frameheader verwendet wird.
    • Berechnet und schreibt die read_segment_id()-Zuordnungsinformationen direkt im komprimierten Bitstream.
  • Wenn D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_FRAME_SEGMENTATION_CUSTOM für den aktuellen Frame aktiviert ist, führt der Treiber Folgendes aus:
    • Kopieren Sie hier die SegmentationConfig , die vom API-Client in den Frameparametern für den API-Client gesendet wurde, um die segmentation_params()-Syntax im Frameheader zu codieren.
    • Kopieren Sie die read_segment_id()-Zuordnung, die vom API-Client gesendet wird, direkt in den Codierungsrahmenparametern in den komprimierten Bitstream.
  • Andernfalls (beide Segmentierungsmodi sind deaktiviert):
    • Der Treiber sollte alle Nullen schreiben.
    • Der API-Client schreibt segmentation_enabled = 0 entsprechend im Abschnitt segmentation_params() des Frameheaders.

PrimaryRefFrame

Das zugeordnete Flag ist D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_PRIMARY_REF_FRAME. Wenn das Flag festgelegt wurde, steuert der Treiber die Auswahl des primären Referenzrahmens, von dem die Segment-ID-Zuordnung, CDF usw. geerbt werden.

Bei verwendung mit D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_AUTO_SEGMENTATION kann der Treiber ggf. einen anderen Wert als PRIMARY_REF_NONE erzwingen, sodass der Treiber die volle Kontrolle über die AV1-Syntax erhält: segmentation_update_map, segmentation_temporal_update und segmentation_update_data in segmentation_params().

ReferenceIndices[7]

Wenn das Flag gemeldet wird, kann der Treiber das ReferenceIndices-Array basierend auf der Benutzereingabe D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA_0095 neu anordnen/neu zuordnen (aber nicht die Anzahl der Verweise ändern). ReferenceIndices. Andernfalls muss der Treiber jeden Arrayeintrag dieses Parameters unverändert aus D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA_0095.ReferenceIndices kopieren.

Der API-Client schreibt den Bildheader ref_frame_idx AV1-Syntax aus diesem Ausgabeparameter.

Hinweise

Weitere Informationen finden Sie unter D3D12 AV1-Videocodierung .

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 11, Version 24H2 (WDDM 3.2)
Kopfzeile d3d12umddi.h

Weitere Informationen

D3D12DDI_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT_0095

D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAGS