summaryrefslogtreecommitdiffstats
path: root/sdk/dx8sdk/Include/vptype.h
diff options
context:
space:
mode:
Diffstat (limited to 'sdk/dx8sdk/Include/vptype.h')
-rw-r--r--sdk/dx8sdk/Include/vptype.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/sdk/dx8sdk/Include/vptype.h b/sdk/dx8sdk/Include/vptype.h
new file mode 100644
index 00000000..b03baae6
--- /dev/null
+++ b/sdk/dx8sdk/Include/vptype.h
@@ -0,0 +1,78 @@
+//------------------------------------------------------------------------------
+// File: VPType.h
+//
+// Desc: This file includes all the data structures defined for the IVPConfig
+// interface.
+//
+// Copyright (c) 1997-2001, Microsoft Corporation. All rights reserved.
+//------------------------------------------------------------------------------
+
+
+#ifndef __IVPType__
+#define __IVPType__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ // enum to specify the criterion, which the vpmixer is supposed to use
+ // in order to select the video format
+ typedef enum _AMVP_SELECT_FORMAT_BY
+ {
+ AMVP_DO_NOT_CARE,
+ AMVP_BEST_BANDWIDTH,
+ AMVP_INPUT_SAME_AS_OUTPUT
+ } AMVP_SELECT_FORMAT_BY;
+
+ // enum to specify the various mode
+ typedef enum _AMVP_MODE
+ {
+ AMVP_MODE_WEAVE,
+ AMVP_MODE_BOBINTERLEAVED,
+ AMVP_MODE_BOBNONINTERLEAVED,
+ AMVP_MODE_SKIPEVEN,
+ AMVP_MODE_SKIPODD
+ } AMVP_MODE;
+
+ // struct to specify the width and height. The context could be anything
+ // such as scaling cropping etc.
+ typedef struct _AMVPSIZE
+ {
+ DWORD dwWidth; // the width
+ DWORD dwHeight; // the height
+ } AMVPSIZE, *LPAMVPSIZE;
+
+ // struct to specify the dimensional characteristics of the input stream
+ typedef struct _AMVPDIMINFO
+ {
+ DWORD dwFieldWidth; // Field height of the data
+ DWORD dwFieldHeight; // Field width of the data
+ DWORD dwVBIWidth; // Width of the VBI data
+ DWORD dwVBIHeight; // Height of the VBI data
+ RECT rcValidRegion; // The vaild rectangle, used for cropping
+ } AMVPDIMINFO, *LPAMVPDIMINFO;
+
+ // struct to specify the various data specific characteristics of the input stream
+ typedef struct _AMVPDATAINFO
+ {
+ DWORD dwSize; // Size of the struct
+ DWORD dwMicrosecondsPerField; // Time taken by each field
+ AMVPDIMINFO amvpDimInfo; // Dimensional Information
+ DWORD dwPictAspectRatioX; // X dimension of Picture Aspect Ratio
+ DWORD dwPictAspectRatioY; // Y dimension of Picture Aspect Ratio
+ BOOL bEnableDoubleClock; // Videoport should enable double clocking
+ BOOL bEnableVACT; // Videoport should use an external VACT signal
+ BOOL bDataIsInterlaced; // Indicates that the signal is interlaced
+ LONG lHalfLinesOdd; // number of halflines in the odd field
+ BOOL bFieldPolarityInverted; // Device inverts the polarity by default
+ DWORD dwNumLinesInVREF; // Number of lines of data in VREF
+ LONG lHalfLinesEven; // number of halflines in the even field
+ DWORD dwReserved1; // Reserved for future use
+ } AMVPDATAINFO, *LPAMVPDATAINFO;
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // __IVPType__