IAMVideoAccelerator interface (videoacc.h)

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The IAMVideoAccelerator interface enables a video decoder filter to access DirectX Video Acceleration (DXVA) 1.0 functionality. Applications should not call methods on this interface.

The Video Mixing Renderer filter's input pins support this interface, and so does pin 0 on the Overlay Mixer. If a video decoder filter calls methods on this interface, the decoder should support the IAMVideoAcceleratorNotify interface on its output pin. For more information on how to use this interface, see How Decoders Use IAMVideoAccelerator.

Inheritance

The IAMVideoAccelerator interface inherits from the IUnknown interface. IAMVideoAccelerator also has these types of members:

Methods

The IAMVideoAccelerator interface has these methods.

 
IAMVideoAccelerator::BeginFrame

The BeginFrame method begins the processing to create a decoded picture.
IAMVideoAccelerator::DisplayFrame

The DisplayFrame method causes the video renderer to display a decoded frame.
IAMVideoAccelerator::EndFrame

The EndFrame method ends frame processing.
IAMVideoAccelerator::Execute

The Execute method performs a DirectX Video Acceleration (DXVA) decoding operation.
IAMVideoAccelerator::GetBuffer

The GetBuffer method gets a pointer to a compressed or uncompressed surface that was allocated for DirectX Video Acceleration (DXVA) decoding.
IAMVideoAccelerator::GetCompBufferInfo

The GetCompBufferInfo method gets information about the compressed buffers used for DirectX Video Acceleration (DXVA) decoding.
IAMVideoAccelerator::GetInternalCompBufferInfo

The GetInternalCompBufferInfo method gets information about the compressed buffers used for DirectX Video Acceleration (DXVA) decoding.
IAMVideoAccelerator::GetInternalMemInfo

The GetInternalMemInfo method queries for the amount of scratch memory the hardware abstraction layer (HAL) will allocate for its private use.
IAMVideoAccelerator::GetUncompFormatsSupported

The GetUncompFormatsSupported method gets a list of uncompressed pixel formats that can be rendered using a specified DirectX Video Acceleration (DXVA) profile.
IAMVideoAccelerator::GetVideoAcceleratorGUIDs

The GetVideoAcceleratorGUIDs method gets a list of DirectX Video Acceleration (DXVA) profiles supported by the display driver.
IAMVideoAccelerator::QueryRenderStatus

The QueryRenderStatus method queries the read/write status of a DirectX Video Acceleration (DXVA) decoding surface.
IAMVideoAccelerator::ReleaseBuffer

The ReleaseBuffer method releases a buffer that was locked by a previous call to IAMVideoAccelerator::GetBuffer.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header videoacc.h

See also

DXVA 1.0 specification

How Decoders Use IAMVideoAccelerator