AmVa.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:4k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //------------------------------------------------------------------------------
  2. // File: AMVA.h
  3. //
  4. // Desc: DirectShowMotionComp include file.
  5. //
  6. // Copyright (c) 1997 - 2000, Microsoft Corporation.  All rights reserved.
  7. //------------------------------------------------------------------------------
  8. #ifndef __AMVA_INCLUDED__
  9. #define __AMVA_INCLUDED__
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13. #define AMVA_TYPEINDEX_OUTPUTFRAME 0xFFFFFFFF
  14. //  Flags for QueryRenderStatus
  15. #define AMVA_QUERYRENDERSTATUSF_READ     0x00000001  // Query for read
  16.                                                      // set this bit to 0
  17.                                                      // if query for update
  18. typedef struct _tag_AMVAUncompBufferInfo
  19. {
  20.  DWORD                   dwMinNumSurfaces;           // IN   min number of surfaces to be allocated
  21.  DWORD                   dwMaxNumSurfaces;           // IN   max number of surfaces to be allocated
  22.  DDPIXELFORMAT           ddUncompPixelFormat;        // IN   pixel format of surfaces to be allocated
  23. } AMVAUncompBufferInfo, *LPAMVAUncompBufferInfo;
  24. typedef struct _tag_AMVAUncompDataInfo
  25. {
  26.     DWORD                   dwUncompWidth;              // [in]     width of uncompressed data
  27.     DWORD                   dwUncompHeight;             // [in]     height of uncompressed data
  28.     DDPIXELFORMAT           ddUncompPixelFormat;        // [in]     pixel-format of uncompressed data
  29. } AMVAUncompDataInfo, *LPAMVAUncompDataInfo;
  30. typedef struct _tag_AMVAInternalMemInfo
  31. {
  32.     DWORD                   dwScratchMemAlloc;          // [out]    amount of scratch memory will the hal allocate for its private use
  33. } AMVAInternalMemInfo, *LPAMVAInternalMemInfo;
  34. typedef struct _tag_AMVACompBufferInfo
  35. {
  36.     DWORD                   dwNumCompBuffers;           // [out]    number of buffers reqd for compressed data
  37.     DWORD                   dwWidthToCreate;            // [out]    Width of surface to create
  38.     DWORD                   dwHeightToCreate;           // [out]    Height of surface to create
  39.     DWORD                   dwBytesToAllocate;          // [out]    Total number of bytes used by each surface
  40.     DDSCAPS2                ddCompCaps;                 // [out]    caps to create surfaces to store compressed data
  41.     DDPIXELFORMAT           ddPixelFormat;              // [out]    fourcc to create surfaces to store compressed data
  42. } AMVACompBufferInfo, *LPAMVACompBufferInfo;
  43. // Note that you are NOT allowed to store any pointer in pMiscData
  44. typedef struct _tag_AMVABeginFrameInfo
  45. {
  46.     DWORD                dwDestSurfaceIndex;         // IN  destination buffer in which to decoding this frame
  47.     LPVOID               pInputData;                 // IN  pointer to misc data
  48.     DWORD                dwSizeInputData;            // IN  size of other misc data to begin frame
  49.     LPVOID               pOutputData;                // OUT pointer to data which the VGA is going to fill
  50.     DWORD                dwSizeOutputData;           // IN  size of data which the VGA is going to fill
  51. } AMVABeginFrameInfo, *LPAMVABeginFrameInfo;
  52. // Note that you are NOT allowed to store any pointer in pMiscData
  53. typedef struct _tag_AMVAEndFrameInfo
  54. {
  55.     DWORD                   dwSizeMiscData;             // [in]     size of other misc data to begin frame
  56.     LPVOID                  pMiscData;                  // [in]     pointer to misc data
  57. } AMVAEndFrameInfo, *LPAMVAEndFrameInfo;
  58. typedef struct _tag_AMVABUFFERINFO
  59. {
  60.     DWORD                   dwTypeIndex;                // [in]    Type of buffer
  61.     DWORD                   dwBufferIndex;              // [in]    Buffer index
  62.     DWORD                   dwDataOffset;               // [in]    offset of relevant data from the beginning of buffer
  63.     DWORD                   dwDataSize;                 // [in]    size of relevant data
  64. } AMVABUFFERINFO, *LPAMVABUFFERINFO;
  65. #ifdef __cplusplus
  66. };
  67. #endif
  68. #endif // _AMVA_INCLUDED