IDirectXVideoDecoder::GetBuffer method

Retrieves a pointer to a DirectX Video Acceleration (DXVA) decoder buffer.

Syntax

HRESULT GetBuffer(
  UINT BufferType,
  void **ppBuffer,
  UINT *pBufferSize
);

Parameters

BufferType

Type of buffer to retrieve. Use one of the following values.

Value Meaning
DXVA2_PictureParametersBufferType
Picture decoding parameter buffer.
DXVA2_MacroBlockControlBufferType
Macroblock control command buffer.
DXVA2_ResidualDifferenceBufferType
Residual difference block data buffer.
DXVA2_DeblockingControlBufferType
Deblocking filter control command buffer.
DXVA2_InverseQuantizationMatrixBufferType
Inverse quantization matrix buffer.
DXVA2_SliceControlBufferType
Slice-control buffer.
DXVA2_BitStreamDateBufferType
Bitstream data buffer.
DXVA2_MotionVectorBuffer
Motion vector buffer.
DXVA2_FilmGrainBuffer
Film grain synthesis data buffer.

ppBuffer

Receives a pointer to the start of the memory buffer.

pBufferSize

Receives the size of the buffer, in bytes.

Return value

The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.

Return code Description
S_OK
The method succeeded.

Remarks

The method locks the Direct3D surface that contains the buffer. When you are done using the buffer, call IDirectXVideoDecoder::ReleaseBuffer to unlock the surface.

This method might block if too many operations have been queued on the GPU. The method unblocks when a free buffer becomes available.

Requirements

   
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header dxva2api.h

See also

DirectX Video Acceleration 2.0

IDirectXVideoDecoder