Condividi tramite


struttura D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC (d3d12video.h)

Descrive un controllo immagine del codificatore video.

Sintassi

typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC {
  UINT                                           IntraRefreshFrameIndex;
  D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS      Flags;
  D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA PictureControlCodecData;
  D3D12_VIDEO_ENCODE_REFERENCE_FRAMES            ReferenceFrames;
} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC;

Members

IntraRefreshFrameIndex

Quando si richiede un'onda intra-aggiornamento per i fotogrammi IntraRefreshFramesDuration specificando il flag D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_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 compreso tra 0 e IntraRefreshFramesDuration per suggerire lo stato della sessione all'interno dell'aggiornamento al driver.

Flags

Combinazione OR bit per bit dei valori dell'enumerazione D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS che specifica i flag del descrittore del controllo immagine.

PictureControlCodecData

Struttura D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA contenente dati di controllo immagine specifici del codec. A seconda della modalità di controllo frequenza selezionata, i valori QP vengono interpretati in modo diverso.

ReferenceFrames

Struttura D3D12_VIDEO_ENCODE_REFERENCE_FRAMES contenente le immagini ricostruite degli output delle operazioni di codifica precedenti.

Commenti

Le note seguenti forniscono indicazioni per la gestione dei frame.

L'host chiama EncodeFrame in base all'ordine di codifica in base alla sequenza periodica del tipo di immagine configurata nella struttura GOP del codec dopo aver eseguito il riordinamento dei fotogrammi B, se necessario. Codec diversi useranno 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.

D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RECONSTRUCTED_FRAMES_REQUIRE_TEXTURE_ARRAYS specifica il requisito delle matrici di trame per i campi ppTexture2Ds e pSubresources della struttura D3D12_VIDEO_ENCODE_REFERENCE_FRAMES .

L'output dell'operazione di codifica per un determinato frame deve anche restituire l'immagine ricostruita se contrassegnata come riferimento come riferimento per l'utilizzo futuro 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 riferimenti a immagini in un elemento TemporalLayerIndex inferiore rispetto al proprio. Gli indici del livello temporale vengono specificati nella struttura del controllo immagine e nei descrittori dell'immagine di riferimento.

Le limitazioni HW per il numero di immagini di riferimento sono espresse in termini di numero massimo di elementi presenti in L0 (MaxL0ReferencesForP/MaxL0ReferencesForB) e L1 (MaxL1References)ForB) elenca e limita in base a MaxDPBCapacity il numero massimo di indici univoci in (L0 union L1) che eseguono il mapping al valore di pReferenceFramesReconPictureDescriptor fornito in D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA.

Non esiste alcuna limitazione al numero di voci DPB passate negli 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 per un frame IDR fungerà da barriera tra i riferimenti al frame e il buffer DPB e il relativo stato potrebbe essere necessario scaricare di conseguenza dall'host.

Requisiti

Requisito Valore
Client minimo supportato Windows Build 22000
Server minimo supportato Windows Build 22000
Intestazione d3d12video.h