Método ID3D11VideoContext::D ecoderBeginFrame (d3d11.h)
Inicia una operación de descodificación para descodificar un fotograma de vídeo.
Sintaxis
HRESULT DecoderBeginFrame(
[in] ID3D11VideoDecoder *pDecoder,
[in] ID3D11VideoDecoderOutputView *pView,
[in] UINT ContentKeySize,
[in] const void *pContentKey
);
Parámetros
[in] pDecoder
Puntero a la interfaz
[in] pView
Puntero a la interfaz de ID3D11VideoDecoderOutputView. Esta interfaz describe el recurso que recibirá el marco descodificado. Para obtener este puntero, llame a ID3D11VideoDevice::CreateVideoDecoderOutputView.
[in] ContentKeySize
Tamaño de la clave de contenido especificada en pContentKey. Si pContentKey es NULL, establezca ContentKeySize en cero.
[in] pContentKey
Puntero opcional a una clave de contenido que se usó para cifrar los datos de fotogramas. Si no se usó ninguna clave de contenido, establezca este parámetro en NULL. Si el autor de la llamada proporciona una clave de contenido, el autor de la llamada debe usar la clave de sesión para cifrar la clave de contenido.
Valor devuelto
Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un hrESULT código de error. D3DERR_WASSTILLDRAWING o E_PENDING se devuelve si el hardware está ocupado, en cuyo caso el descodificador debe intentar volver a realizar la llamada.
Observaciones
Después de llamar a este método, llame a ID3D11VideoContext::SubmitDecoderBuffers para realizar operaciones de descodificación. Cuando se hayan ejecutado todas las operaciones de descodificación, llame a ID3D11VideoContext::D ecoderEndFrame.
Cada llamada a DecoderBeginFrame debe tener una llamada coincidente a DecoderEndFrame. En la mayoría de los casos, no puede anidar llamadas DecoderBeginFrame, pero algunos códecs, como VC-1, pueden haber anidado DecoderBeginFrame llamadas para operaciones especiales como el procesamiento posterior.
Los siguientes escenarios de cifrado se admiten mediante la clave de contenido:
- El descodificador puede optar por no cifrar cada fotograma, por ejemplo, solo puede cifrar los fotogramas I y no cifrar los fotogramas P/B. En este escenario, el descodificador especificará pContentKey = NULL y ContentKeySize = 0 para los fotogramas que no cifra.
- El descodificador puede optar por cifrar los búferes comprimidos mediante la clave de sesión. En este escenario, el descodificador especificará una clave de contenido que contenga todos los ceros.
- El descodificador puede optar por cifrar los búferes comprimidos mediante una clave de contenido independiente. En este escenario, el descodificador cifrará la clave de contenido mediante la clave de sesión y pasará la clave de contenido cifrada.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP] |
servidor mínimo admitido | Windows Server 2012 [aplicaciones de escritorio | Aplicaciones para UWP] |
de la plataforma de destino de |
Windows |
encabezado de |
d3d11.h |