IDirectXVideoDecoder::GetBuffer method

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

Syntax


HRESULT GetBuffer(
  [in]  UINT BufferType,
  [out] void **ppBuffer,
  [out] UINT *pBufferSize
);

Parameters

BufferType [in]

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

ValueMeaning
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 [out]

Receives a pointer to the start of the memory buffer.

pBufferSize [out]

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

Header

Dxva2api.h

See also

IDirectXVideoDecoder
DirectX Video Acceleration 2.0

 

 

Show: