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;

Membri

IntraRefreshFrameIndex

Quando si richiede un'onda intra-aggiornamento per IntraRefreshFramesDuration fotogrammi specificando il flag D3D12DDI_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_0080_REQUEST_INTRA_REFRESH, questo valore indica, per l'immagine corrente, l'indice del fotogramma nell'onda intra-aggiornamento. L'intervallo di valori viene impostato dall'host in modo che sia compreso tra [0-IntraRefreshFramesDuration) per suggerire 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 frame di codifica corrente.

PictureControlCodecData

Struttura D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0 che contiene dati specifici del codec del controllo immagine. A seconda della modalità di controllo della 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.

Osservazioni

Per informazioni generali, vedere di codifica video D3D12.

Le osservazioni seguenti forniscono indicazioni per la gestione dei frame.

L'host chiama EncodeFrame in ordine di codifica in base al tipo di immagine sequenza periodica 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 metadati di stato. Fare riferimento ai parametri dell'immagine del codec passati anche nell'operazione diencodeframeche 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 hDrvTexture2Ds e pSubresources campi 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 in futuro comandi EncodeFrame.

Se si codificano livelli temporali, un'immagine può essere usata solo come immagine di riferimento su livelli TemporalLayerIndex inferiori al 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 del numero massimo di elementi presenti in L0 (MaxL0ReferencesForP/MaxL0ReferencesForB) e L1 (MaxL1ReferencesForB) elenchi, e limitando MaxDPBCapacity il numero massimo di indici univoci in (L0 union L1) che eseguono il mapping nel valore di pReferenceFramesReconPictureDescriptors fornito in D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0.

Non esiste alcuna limitazione al numero di voci di buffer immagine decodificate (DPB) passate in pReferenceFramesReconPictureDescriptor, ma invece nel numero di voci in tale matrice a cui fanno riferimento gli elenchi L0 e L1. Ciò consente all'utente di 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 pReferenceFramesReconPictureDescriptor 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 fotogramma 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.

Fabbisogno

Requisito Valore
client minimo supportato Windows 11 (WDDM 3.0)
intestazione d3d12umddi.h

Vedere 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