Microsoft DirectX 8.0

IAMVideoAcceleratorNotify Interface

The IAMVideoAcceleratorNotify interface is supported by the video decoder's output pin. The methods are called during pin connection with the downstream Overlay Mixer to set up the IAMVideoAccelerator interface.

Note  This interface is available in Microsoft® Windows® 2000.

Requirements

Requires Videoacc.h.

Methods in Vtable Order

IUnknown methodsDescription
QueryInterface Retrieves pointers to supported interfaces.
AddRef Increments the reference count.
Release Decrements the reference count.
IAMVideoAcceleratorNotify methodsDescription
GetUncompSurfacesInfo Retrieves the decompressed buffer information for a given video accelerator GUID.
SetUncompSurfacesInfo Sets the uncompressed buffer information.
GetCreateVideoAcceleratorData Retrieves the information needed to create a video accelerator object.

IAMVideoAcceleratorNotify::GetUncompSurfacesInfo

IAMVideoAcceleratorNotify

Retrieves the decompressed buffer information for a given video accelerator GUID.

Syntax

HRESULT GetUncompSurfacesInfo(
    const GUID *pGuid,
    LPAMVAUncompBufferInfo pUncomBufferInfo
);

Parameters

pGuid
[in] Pointer to a GUID identifying the video accelerator for which information is returned.
pUncompBufferInfo
[in, out] Pointer to a AMVAUncompBufferInfo structure, containing uncompressed surface information.

Return Value

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.

E_FAILFailure.
E_INVALIDARG Argument is invalid.
E_NOTIMPLMethod is not supported.
E_POINTER Null pointer argument.
S_OK Success.

Remarks

Calling this method returns the video decoder's requirements for the minimum and maximum number of surfaces, as well as the pixel format. This method provides information necessary to allocate uncompressed data buffers.

IAMVideoAcceleratorNotify::SetUncompSurfacesInfo

IAMVideoAcceleratorNotify

Sets the uncompressed buffer information.

Syntax

HRESULT SetUncompSurfacesInfo(
    DWORD  dwActualUncompSurfacesAllocated
);

Parameters

dwActualUncompSurfacesAllocated
[in] The number of surfaces allocated.

Return Value

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.

E_FAILFailure.
E_INVALIDARG Argument is invalid.
E_NOTIMPLMethod is not supported.
E_POINTER Null pointer argument.
S_OK Success.

Remarks

Calling this method tells the video decoder how many decompressed surfaces are actually allocated.

IAMVideoAcceleratorNotify::GetCreateVideoAcceleratorData

IAMVideoAcceleratorNotify

Retrieves the information needed to create a video accelerator object.

Syntax

HRESULT GetCreateVideoAcceleratorData(
    const GUID *pGuid,
    LPWDORD pdwSizeMiscData,
    LPVOID *ppMiscData
);

Parameters

pGuid
[in] Pointer to a GUID identifying the video accelerator.
pdwSizeMiscData
[out] Pointer to a variable that receives the size of the data returned in ppMiscData, in bytes.
ppMiscData
[out] Address to a pointer of type void that receives the miscellaneous data (or NULL if pdwSizeMiscData is 0). This pointer should be allocated with CoTaskMemAlloc, a helper function from the COM library. It is freed by the caller. See Remarks.

Return Value

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.

E_FAILFailure.
E_INVALIDARG Argument is invalid.
E_NOTIMPLMethod is not supported.
E_POINTER Null pointer argument.
S_OK Success.

Remarks

This method retrieves a pointer to any miscellaneous data that the video decoder needs to send to the video accelerator driver when the video accelerator is initialized. It is the caller's responsibility to call CoTaskMemFree on ppMiscData.