AmVa.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:4k
- //------------------------------------------------------------------------------
- // File: AMVA.h
- //
- // Desc: DirectShowMotionComp include file.
- //
- // Copyright (c) 1997 - 2000, Microsoft Corporation. All rights reserved.
- //------------------------------------------------------------------------------
- #ifndef __AMVA_INCLUDED__
- #define __AMVA_INCLUDED__
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define AMVA_TYPEINDEX_OUTPUTFRAME 0xFFFFFFFF
- // Flags for QueryRenderStatus
- #define AMVA_QUERYRENDERSTATUSF_READ 0x00000001 // Query for read
- // set this bit to 0
- // if query for update
- typedef struct _tag_AMVAUncompBufferInfo
- {
- DWORD dwMinNumSurfaces; // IN min number of surfaces to be allocated
- DWORD dwMaxNumSurfaces; // IN max number of surfaces to be allocated
- DDPIXELFORMAT ddUncompPixelFormat; // IN pixel format of surfaces to be allocated
- } AMVAUncompBufferInfo, *LPAMVAUncompBufferInfo;
- typedef struct _tag_AMVAUncompDataInfo
- {
- DWORD dwUncompWidth; // [in] width of uncompressed data
- DWORD dwUncompHeight; // [in] height of uncompressed data
- DDPIXELFORMAT ddUncompPixelFormat; // [in] pixel-format of uncompressed data
- } AMVAUncompDataInfo, *LPAMVAUncompDataInfo;
- typedef struct _tag_AMVAInternalMemInfo
- {
- DWORD dwScratchMemAlloc; // [out] amount of scratch memory will the hal allocate for its private use
- } AMVAInternalMemInfo, *LPAMVAInternalMemInfo;
- typedef struct _tag_AMVACompBufferInfo
- {
- DWORD dwNumCompBuffers; // [out] number of buffers reqd for compressed data
- DWORD dwWidthToCreate; // [out] Width of surface to create
- DWORD dwHeightToCreate; // [out] Height of surface to create
- DWORD dwBytesToAllocate; // [out] Total number of bytes used by each surface
- DDSCAPS2 ddCompCaps; // [out] caps to create surfaces to store compressed data
- DDPIXELFORMAT ddPixelFormat; // [out] fourcc to create surfaces to store compressed data
- } AMVACompBufferInfo, *LPAMVACompBufferInfo;
- // Note that you are NOT allowed to store any pointer in pMiscData
- typedef struct _tag_AMVABeginFrameInfo
- {
- DWORD dwDestSurfaceIndex; // IN destination buffer in which to decoding this frame
- LPVOID pInputData; // IN pointer to misc data
- DWORD dwSizeInputData; // IN size of other misc data to begin frame
- LPVOID pOutputData; // OUT pointer to data which the VGA is going to fill
- DWORD dwSizeOutputData; // IN size of data which the VGA is going to fill
- } AMVABeginFrameInfo, *LPAMVABeginFrameInfo;
- // Note that you are NOT allowed to store any pointer in pMiscData
- typedef struct _tag_AMVAEndFrameInfo
- {
- DWORD dwSizeMiscData; // [in] size of other misc data to begin frame
- LPVOID pMiscData; // [in] pointer to misc data
- } AMVAEndFrameInfo, *LPAMVAEndFrameInfo;
- typedef struct _tag_AMVABUFFERINFO
- {
- DWORD dwTypeIndex; // [in] Type of buffer
- DWORD dwBufferIndex; // [in] Buffer index
- DWORD dwDataOffset; // [in] offset of relevant data from the beginning of buffer
- DWORD dwDataSize; // [in] size of relevant data
- } AMVABUFFERINFO, *LPAMVABUFFERINFO;
- #ifdef __cplusplus
- };
- #endif
- #endif // _AMVA_INCLUDED