summaryrefslogtreecommitdiffstats
path: root/dxsdk/Include/amva.h
diff options
context:
space:
mode:
Diffstat (limited to 'dxsdk/Include/amva.h')
-rw-r--r--dxsdk/Include/amva.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/dxsdk/Include/amva.h b/dxsdk/Include/amva.h
new file mode 100644
index 00000000..fd46164f
--- /dev/null
+++ b/dxsdk/Include/amva.h
@@ -0,0 +1,85 @@
+//------------------------------------------------------------------------------
+// File: AMVA.h
+//
+// Desc: DirectShowMotionComp include file.
+//
+// Copyright (c) 1997-2001, 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