Compartir a través de


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 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

Consulte también

id3D11VideoContext