Metodo ID3D11VideoContext::D ecoderBeginFrame (d3d11.h)
Avvia un'operazione di decodifica per decodificare un fotogramma video.
Sintassi
HRESULT DecoderBeginFrame(
[in] ID3D11VideoDecoder *pDecoder,
[in] ID3D11VideoDecoderOutputView *pView,
[in] UINT ContentKeySize,
[in] const void *pContentKey
);
Parametri
[in] pDecoder
Puntatore all'interfaccia ID3D11VideoDecoder
[in] pView
Puntatore all'interfaccia ID3D11VideoDecoderOutputView. Questa interfaccia descrive la risorsa che riceverà il frame decodificato. Per ottenere questo puntatore, chiamare ID3D11VideoDevice::CreateVideoDecoderOutputView.
[in] ContentKeySize
Dimensione della chiave simmetrica specificata in pContentKey. Se pContentKey è NULL, impostare ContentKeySize su zero.
[in] pContentKey
Puntatore facoltativo a una chiave simmetrica usata per crittografare i dati del frame. Se non è stata usata alcuna chiave simmetrica, impostare questo parametro su NULL. Se il chiamante fornisce una chiave simmetrica, il chiamante deve usare la chiave di sessione per crittografare la chiave simmetrica.
Valore restituito
Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT. D3DERR_WASSTILLDRAWING o E_PENDING viene restituito se l'hardware è occupato, nel qual caso il decodificatore deve tentare di eseguire di nuovo la chiamata.
Osservazioni
Dopo aver chiamato questo metodo, chiamare ID3D11VideoContext::SubmitDecoderBuffers per eseguire operazioni di decodifica. Quando tutte le operazioni di decodifica sono state eseguite, chiamare ID3D11VideoContext::D ecoderEndFrame.
Ogni chiamata a DecoderBeginFrame deve avere una chiamata corrispondente a DecoderEndFrame. Nella maggior parte dei casi non è possibile annidare decoderBeginFrame chiamate, ma alcuni codec, ad esempio VC-1, possono avere decodificatoreBeginFrame annidato chiamate per operazioni speciali come post-elaborazione.
Gli scenari di crittografia seguenti sono supportati tramite la chiave simmetrica:
- Il decodificatore può scegliere di non crittografare ogni fotogramma, ad esempio può crittografare solo i fotogrammi I e non crittografare i fotogrammi P/B. In questo scenario, il decodificatore specifica pContentKey = NULL e ContentKeySize = 0 per i fotogrammi che non crittografa.
- Il decodificatore può scegliere di crittografare i buffer compressi usando la chiave di sessione. In questo scenario, il decodificatore specifica una chiave simmetrica contenente tutti gli zeri.
- Il decodificatore può scegliere di crittografare i buffer compressi usando una chiave simmetrica separata. In questo scenario, il decodificatore crittograferà la chiave simmetrica usando la chiave di sessione e passerà la chiave simmetrica crittografata.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 8 [app desktop | App UWP] |
server minimo supportato | Windows Server 2012 [app desktop | App UWP] |
piattaforma di destinazione | Finestre |
intestazione |
d3d11.h |