diff options
Diffstat (limited to '')
-rw-r--r-- | sdk/dx8sdk/Include/DShowIDL/Videoacc.idl | 172 |
1 files changed, 0 insertions, 172 deletions
diff --git a/sdk/dx8sdk/Include/DShowIDL/Videoacc.idl b/sdk/dx8sdk/Include/DShowIDL/Videoacc.idl deleted file mode 100644 index 6c55aa73..00000000 --- a/sdk/dx8sdk/Include/DShowIDL/Videoacc.idl +++ /dev/null @@ -1,172 +0,0 @@ -//------------------------------------------------------------------------------ -// File: VideoAcc.idl -// -// Desc: An interface exposed by the overlay mixer to help decode samples -// using hardware video acceleration. -// -// Copyright (c) 1992-2002, Microsoft Corporation. All rights reserved. -//------------------------------------------------------------------------------ - - -import "unknwn.idl"; - -cpp_quote("//") -cpp_quote("// The following declarations within the 'if 0' block are dummy typedefs used to make") -cpp_quote("// the motncomp.idl file build. The actual definitions are contained in ddraw.h and amva.h") -cpp_quote("//") -cpp_quote("#if 0") - -typedef void* LPVOID; -typedef void* LPGUID; -typedef void* LPDIRECTDRAWSURFACE; -typedef void* LPDDPIXELFORMAT; -typedef void* LPAMVAInternalMemInfo; -typedef void AMVAUncompDataInfo; -typedef void* LPAMVACompBufferInfo; -typedef void AMVABUFFERINFO; -typedef void AMVAEndFrameInfo; -typedef void* LPAMVAUncompBufferInfo; -typedef void AMVABeginFrameInfo; -typedef IUnknown* IMediaSample; - -cpp_quote("#endif") -cpp_quote("#include <ddraw.h>") -cpp_quote("#include <amva.h>") - - -[ - local, - object, - uuid(256A6A21-FBAD-11d1-82BF-00A0C9696C8F), - helpstring("IAMVideoAcceleratorNotify Interface"), - pointer_default(unique) -] - -// IAMVideoAcceleratorNotify -interface IAMVideoAcceleratorNotify : IUnknown -{ - // get information necessary to allocate uncompressed data buffers - // which is not part of the mediatype format (like how many buffers to allocate etc) - HRESULT GetUncompSurfacesInfo([in] const GUID *pGuid, [in] [out] LPAMVAUncompBufferInfo pUncompBufferInfo); - - // set information regarding allocated uncompressed data buffers - HRESULT SetUncompSurfacesInfo([in] DWORD dwActualUncompSurfacesAllocated); - - // get information necessary to create video accelerator object. It is the caller's responsibility - // to call CoTaskMemFree() on *ppMiscData - HRESULT GetCreateVideoAcceleratorData([in] const GUID *pGuid, [out] LPDWORD pdwSizeMiscData, [out] LPVOID *ppMiscData); -}; - -[ - local, - object, - uuid(256A6A22-FBAD-11d1-82BF-00A0C9696C8F), - helpstring("IAMVideoAccelerator Interface"), - pointer_default(unique) -] - -// IAMVideoAccelerator -interface IAMVideoAccelerator : IUnknown -{ - // pdwNumGuidsSupported is an IN OUT paramter - // pGuidsSupported is an IN OUT paramter - // if pGuidsSupported is NULL, pdwNumGuidsSupported should return back with the - // number of uncompressed pixel formats supported - // Otherwise pGuidsSupported is an array of *pdwNumGuidsSupported structures - HRESULT GetVideoAcceleratorGUIDs([in] [out] LPDWORD pdwNumGuidsSupported, [in] [out] LPGUID pGuidsSupported); - - // pGuid is an IN parameter - // pdwNumFormatsSupported is an IN OUT paramter - // pFormatsSupported is an IN OUT paramter (caller should make sure to set the size of EACH struct) - // if pFormatsSupported is NULL, pdwNumFormatsSupported should return back with - // the number of uncompressed pixel formats supported - // Otherwise pFormatsSupported is an array of *pdwNumFormatsSupported structures - HRESULT GetUncompFormatsSupported( [in] const GUID *pGuid, [in] [out] LPDWORD pdwNumFormatsSupported, - [in] [out] LPDDPIXELFORMAT pFormatsSupported); - - // pGuid is an IN parameter - // pamvaUncompDataInfo is an IN parameter - // pamvaInternalMemInfo is an IN OUT parameter (caller should make sure to set the size of struct) - // currently only gets info about how much scratch memory will the hal allocate for its private use - HRESULT GetInternalMemInfo([in] const GUID *pGuid, [in] const AMVAUncompDataInfo *pamvaUncompDataInfo, - [in] [out] LPAMVAInternalMemInfo pamvaInternalMemInfo); - - // pGuid is an IN parameter - // pamvaUncompDataInfo is an IN parameter - // pdwNumTypesCompBuffers is an IN OUT paramter - // pamvaCompBufferInfo is an IN OUT paramter (caller should make sure to set the size of EACH struct) - // if pamvaCompBufferInfo is NULL, pdwNumTypesCompBuffers should return back with the number of types of - // compressed buffers - // Otherwise pamvaCompBufferInfo is an array of *pdwNumTypesCompBuffers structures - HRESULT GetCompBufferInfo([in] const GUID *pGuid, [in] const AMVAUncompDataInfo *pamvaUncompDataInfo, - [in] [out] LPDWORD pdwNumTypesCompBuffers, [out] LPAMVACompBufferInfo pamvaCompBufferInfo); - - - // pdwNumTypesCompBuffers is an IN OUT paramter - // pamvaCompBufferInfo is an IN OUT paramter (caller should make sure to set the size of EACH struct) - // if pamvaCompBufferInfo is NULL, pdwNumTypesCompBuffers should return back with the number of types of - // compressed buffers - // Otherwise pamvaCompBufferInfo is an array of *pdwNumTypesCompBuffers structures - // only valid to call this after the pins are connected - HRESULT GetInternalCompBufferInfo([in] [out] LPDWORD pdwNumTypesCompBuffers, [out] LPAMVACompBufferInfo pamvaCompBufferInfo); - - // begin a frame, the pMiscData is passed directly to the hal - // only valid to call this after the pins are connected - // Tells the ovmixer which frame is the destination - // frame. Use indices (valid vales are [0 .. pdwNumSurfacesAllocated-1]) to specify frames - HRESULT BeginFrame([in] const AMVABeginFrameInfo *amvaBeginFrameInfo); - - // end a frame, the pMiscData is passed directly to the hal - // only valid to call this after the pins are connected - HRESULT EndFrame([in] const AMVAEndFrameInfo *pEndFrameInfo); - - // lock and obtain access to a single buffer - // only valid to call this after the pins are connected - // Buffers are identified by type and index within that type - // Specifiying read-only will allow access to busy reference - // frames - // Output (uncompressed) frames use a type index of 0xFFFFFFFF - HRESULT GetBuffer( - [in] DWORD dwTypeIndex, - [in] DWORD dwBufferIndex, - [in] BOOL bReadOnly, - [out] LPVOID *ppBuffer, - [out] LONG *lpStride); - - // unlock a single buffer - // Buffers are identified by type and index within that type - // only valid to call this after the pins are connected - HRESULT ReleaseBuffer([in] DWORD dwTypeIndex, [in] DWORD dwBufferIndex); - - // Perform a decompression operation - // Private data can be passed to and from a driver - // identifiers for the corresponding members of pamvaMacroBlockInfo - // pamvaMacroBlockInfo is an IN parameter which is array (of length dwNumBlocks) of structures - // only valid to call this after the pins are connected - HRESULT Execute( - [in] DWORD dwFunction, - [in] LPVOID lpPrivateInputData, - [in] DWORD cbPrivateInputData, - [in] LPVOID lpPrivateOutputDat, - [in] DWORD cbPrivateOutputData, - [in] DWORD dwNumBuffers, - [in] const AMVABUFFERINFO *pamvaBufferInfo); - - // query the decode status of a particular decompression operation - // dwTypeIndex and dwBufferIndex define the buffer whose status is - // being queried - HRESULT QueryRenderStatus([in] DWORD dwTypeIndex, - [in] DWORD dwBufferIndex, - [in] DWORD dwFlags); - - // display a frame. The mediasample contains the timestamps etc for the frame to be displayed - // this call is a non-blocking call - // only valid to call this after the pins are connected - HRESULT DisplayFrame([in] DWORD dwFlipToIndex, [in] IMediaSample *pMediaSample); -}; - - - - - - |