Skip to content

Latest commit

 

History

History
95 lines (71 loc) · 4.83 KB

nf-d3d11-id3d11videocontext-decoderbeginframe.md

File metadata and controls

95 lines (71 loc) · 4.83 KB
UID title description helpviewer_keywords old-location tech.root ms.assetid ms.date ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames req.redist ms.custom f1_keywords dev_langs topic_type api_type api_location api_name
NF:d3d11.ID3D11VideoContext.DecoderBeginFrame
ID3D11VideoContext::DecoderBeginFrame (d3d11.h)
Starts a decoding operation to decode a video frame.
DecoderBeginFrame
DecoderBeginFrame method [Media Foundation]
DecoderBeginFrame method [Media Foundation]
ID3D11VideoContext interface
ID3D11VideoContext interface [Media Foundation]
DecoderBeginFrame method
ID3D11VideoContext.DecoderBeginFrame
ID3D11VideoContext::DecoderBeginFrame
d3d11/ID3D11VideoContext::DecoderBeginFrame
mf.id3d11videocontext_decoderbeginframe
mf\id3d11videocontext_decoderbeginframe.htm
mf
395B06D8-1BCF-44F2-9F69-A183C30E36B7
12/05/2018
DecoderBeginFrame, DecoderBeginFrame method [Media Foundation], DecoderBeginFrame method [Media Foundation],ID3D11VideoContext interface, ID3D11VideoContext interface [Media Foundation],DecoderBeginFrame method, ID3D11VideoContext.DecoderBeginFrame, ID3D11VideoContext::DecoderBeginFrame, d3d11/ID3D11VideoContext::DecoderBeginFrame, mf.id3d11videocontext_decoderbeginframe
d3d11.h
Windows
Windows 8 [desktop apps \| UWP apps]
Windows Server 2012 [desktop apps \| UWP apps]
Windows
19H1
ID3D11VideoContext::DecoderBeginFrame
d3d11/ID3D11VideoContext::DecoderBeginFrame
c++
APIRef
kbSyntax
COM
d3d11.h
ID3D11VideoContext.DecoderBeginFrame

ID3D11VideoContext::DecoderBeginFrame

-description

Starts a decoding operation to decode a video frame.

-parameters

-param pDecoder [in]

A pointer to the ID3D11VideoDecoder interface. To get this pointer, call ID3D11VideoDevice::CreateVideoDecoder.

-param pView [in]

A pointer to the ID3D11VideoDecoderOutputView interface. This interface describes the resource that will receive the decoded frame. To get this pointer, call ID3D11VideoDevice::CreateVideoDecoderOutputView.

-param ContentKeySize [in]

The size of the content key that is specified in pContentKey. If pContentKey is NULL, set ContentKeySize to zero.

-param pContentKey [in]

An optional pointer to a content key that was used to encrypt the frame data. If no content key was used, set this parameter to NULL. If the caller provides a content key, the caller must use the session key to encrypt the content key.

-returns

If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. D3DERR_WASSTILLDRAWING or E_PENDING is returned if the hardware is busy, in which case the decoder should try to make the call again.

-remarks

After this method is called, call ID3D11VideoContext::SubmitDecoderBuffers to perform decoding operations. When all decoding operations have been executed, call ID3D11VideoContext::DecoderEndFrame.

Each call to DecoderBeginFrame must have a matching call to DecoderEndFrame. In most cases you cannot nest DecoderBeginFrame calls, but some codecs, such as like VC-1, can have nested DecoderBeginFrame calls for special operations like post processing.

The following encryption scenarios are supported through the content key:

  • The decoder can choose to not encrypt every frame, for example it may only encrypt the I frames and not encrypt the P/B frames. In these scenario, the decoder will specify pContentKey = NULL and ContentKeySize = 0 for those frames that it does not encrypt.
  • The decoder can choose to encrypt the compressed buffers using the session key. In this scenario, the decoder will specify a content key containing all zeros.
  • The decoder can choose to encrypt the compressed buffers using a separate content key. In this scenario, the decoder will ECB encrypt the content key using the session key and pass the encrypted content key.

-see-also

ID3D11VideoContext