Condividi tramite


struttura D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0 (d3d12umddi.h)

La struttura D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0 contiene i parametri a livello di immagine per l'input di un'operazione di codifica.

Sintassi

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;

Members

IntraRefreshFrameIndex

Quando si richiede un'onda intra-aggiornamento per i fotogrammi IntraRefreshFramesDuration specificando il flag D3D12DDI_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_0080_REQUEST_INTRA_REFRESH , questo valore indica, per l'immagine corrente, l'indice del frame nell'onda intra-aggiornamento. L'intervallo di valori viene impostato dall'host in modo che sia compreso tra [0-IntraRefreshFramesDuration) per invitare lo stato della sessione all'interno dell'aggiornamento al driver.

Flags

Valore D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS_0080 che indica i flag del descrittore del controllo immagine per l'operazione del frame di codifica corrente.

PictureControlCodecData

Struttura D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0 che contiene dati specifici del codec di controllo immagine. A seconda della modalità di controllo frequenza selezionata, i valori del parametro di quantizzazione (QP) vengono interpretati in modo diverso.

ReferenceFrames

Struttura D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080 che contiene le immagini ricostruite degli output delle operazioni di codifica precedenti.

Commenti

Per informazioni generali, vedere Codifica video D3D12 .

Le note seguenti forniscono indicazioni per la gestione dei frame.

L'host chiama EncodeFrame in ordine di codifica in base alla sequenza periodica del tipo di immagine configurata nel gruppo codec di immagini (GOP) dopo aver eseguito il riordinamento dei fotogrammi B, se necessario.

Codec diversi possono usare i propri modi per indicizzare questa struttura e mantenere i relativi metadati di stato. Fare riferimento ai parametri dell'immagine del codec passati anche nell'operazione EncodeFrame che contengono tali dettagli.

D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAG_0082_0_RECONSTRUCTED_FRAMES_REQUIRE_CONTIGUOUS_TEXTURE_ARRAYS specifica il requisito delle matrici di trame per i campi hDrvTexture2Ds e pSubresources della struttura D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080 .

L'output dell'operazione di codifica per un determinato frame deve restituire anche l'immagine ricostruita se è contrassegnata come riferimento nei fotogrammi successivi. Il client passa le immagini ricostruite nei comandi EncodeFrame futuri.

Se si codificano livelli temporali, un'immagine può essere usata solo come immagine di riferimento nei livelli TemporalLayerIndex minori del proprio numero di livello. Gli indici del livello temporale vengono specificati nella struttura del controllo immagine e nei descrittori dell'immagine di riferimento.

Le limitazioni hardware per il numero di immagini di riferimento sono espresse in termini di numero massimo di elementi presenti negli elenchi L0 (MaxL0ReferencesForP/MaxL0ReferencesForB) e L1 (MaxL1ReferencesForB), e limitando da MaxDPBCapacity il numero massimo di indici univoci in (L0 union L1) che eseguono il mapping al valore di pReferenceFramesReconPictureDescriptor fornito in D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0.

Non esiste alcuna limitazione al numero di voci decodificate del buffer immagine (DPB) passate in pReferenceFramesReconPictureDescriptor, ma invece al numero di voci in tale matrice a cui fanno riferimento gli elenchi L0 e L1. In questo modo l'utente può tenere traccia dello stato di un DPB in pReferenceFramesReconPictureDescriptors entro le restrizioni definite dalle limitazioni standard del codec e usare solo un subset limitato dalle limitazioni hardware quando si chiama EncodeFrame. Ad esempio, per la codifica HEVC, il chiamante potrebbe tenere traccia delle ultime 15 immagini codificate in pReferenceFramesReconPictureDescriptors , ma usare solo un subset delle immagini che rientrano nelle restrizioni hardware, assegnando un numero limitato di indici univoci negli elenchi L0 e L1.

Si noti che una richiesta di un frame IDR (InstantAneOus Decoder Refresh) fungerà da barriera tra i riferimenti ai frame e il buffer DPB e il relativo stato potrebbe essere necessario scaricare di conseguenza dall'host.

Requisiti

Requisito Valore
Client minimo supportato Windows 11 (WDDM 3.0)
Intestazione d3d12umddi.h

Vedi anche

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