PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// d3d10umddi.h

PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME Pfnd3dwddm24DdiVideodecoderbeginframe;

HRESULT Pfnd3dwddm24DdiVideodecoderbeginframe(
  D3D10DDI_HDEVICE hDevice,
  D3D11_1DDI_HDECODE hDecode,
  const D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME *pBeginFrame
)
{...}
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nc-d3d10umddi-pfnd3dwddm2_4ddi_videodecoderbeginframe)

PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME callback function

Description

Starts a DirectX Video Acceleration (DXVA) decoding operation to decode a video frame.

Parameters

hDevice

A handle to the display device (graphics context).

hDecode

A handle to the video decoder object that was created through a call to the CreateVideoDecoder function.

pBeginFrame

A pointer to a D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME_RS4_0 structure. For more information, see the Remarks section.

Return value

Returns one of the following HRESULT values:

Return code Description
S_OK The session key for the cryptographic session was negotiated successfully.
E_OUTOFMEMORY Memory was not available to complete the operation.

Prototype

//Declaration

PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME Pfnd3dwddm24DdiVideodecoderbeginframe;

// Definition

HRESULT Pfnd3dwddm24DdiVideodecoderbeginframe
(
    D3D10DDI_HDEVICE hDevice
    D3D11_1DDI_HDECODE hDecode
    CONST D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME *pBeginFrame
)
{...}

PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME

Remarks

If this function returns S_OK, the Microsoft Direct3D runtime calls the VideoDecoderSubmitBuffers function to perform the decoding operations. When all decoding operations have been executed, the runtime calls the VideoDecoderEndFrame function to stop the decoding operation on a video frame.

[!NOTE] Each call to VideoDecoderBeginFrame must have a matching call to VideoDecoderEndFrame, and VideoDecoderBeginFrame calls cannot be nested.

The D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME_RS4_0 structure contains the following data:

If the pContentKey member of this structure is not set to NULL, the buffer that is referenced by this member contains a per-frame content key. This key must be used to decrypt the data instead of using the session key.

[!NOTE] If the pContentKey member is not set to NULL, the buffer that is referenced by this member is encrypted by using the session key with the AES-ECB algorithm.

If the pContentKey member is set to NULL, the video frame data should be decrypted by using the session key.

See also

CreateVideoDecoder NegotiateCryptoSessionKeyeExchange