The Execute method performs a DirectX Video Acceleration (DXVA) decoding operation.
HRESULT Execute( DWORD dwFunction, LPVOID lpPrivateInputData, DWORD cbPrivateInputData, LPVOID lpPrivateOutputDat, DWORD cbPrivateOutputData, DWORD dwNumBuffers, const AMVABUFFERINFO *pamvaBufferInfo );
Contains one or more DXVA function numbers.
Pointer to input data for the decoding operation. The meaning of this data depends on the surface type and function number. For details, refer to the DXVA 1.0 specification.
Size of the input data, in bytes.
Pointer to a buffer where the video accelerator will write output data.
Size of the lpPrivateOutputData buffer, in bytes.
Number of elements in the pamvaBufferInfo array.
Pointer to an array of AMVABUFFERINFO structures.
Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.
||Argument is invalid.|
||Method is not supported.|
||NULL pointer argument.|
||The decoder did not use a DXVA decoding type when it connected to the video renderer.|
||The pins on the decoder and video renderer filters are not connected.|
If the filter's pins are not connected, the method returns VFW_E_NOT_CONNECTED.
The associated buffer list is passed along with a function number (defaulting to zero) and any necessary private data describing the decompression operation. For example, decompressed reference frame information is passed in the buffer list. The buffer list order is important and is defined by the particular decompression operation being performed.
Private data can be passed to and from a driver.
|Minimum supported client||Windows 2000 Professional [desktop apps only]|
|Minimum supported server||Windows 2000 Server [desktop apps only]|