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 ID3D11VideoDecoder . Para obtener este puntero, llame a ID3D11VideoDevice::CreateVideoDecoder.

[in] pView

Puntero a la interfaz 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 código de error de HRESULT. D3DERR_WASSTILLDRAWING o E_PENDING se devuelve si el hardware está ocupado, en cuyo caso el descodificador debe intentar volver a realizar la llamada.

Comentarios

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 se pueden anidar llamadas de DecoderBeginFrame , pero algunos códecs, como VC-1, pueden tener llamadas anidadas de DecoderBeginFrame para operaciones especiales como el procesamiento posterior.

Los siguientes escenarios de cifrado se admiten a través de la clave de contenido:

  • El descodificador puede optar por no cifrar todos los fotogramas, 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 elegir 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 Value
Cliente mínimo compatible Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2012 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado d3d11.h

Consulte también

ID3D11VideoContext