--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mingw-5.1.4/win32/include/vmr9.h Fri Apr 03 17:16:45 2009 +0100
@@ -0,0 +1,211 @@
+#ifndef _VMR9_H
+#define _VMR9_H
+#if __GNUC__ >= 3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*--- DirectShow Reference - DirectShow Enumerated Types */
+typedef enum _VMR9_SampleFormat {
+ VMR9_SampleReserved = 1,
+ VMR9_SampleProgressiveFrame = 2,
+ VMR9_SampleFieldInterleavedEvenFirst = 3,
+ VMR9_SampleFieldInterleavedOddFirst = 4,
+ VMR9_SampleFieldSingleEven = 5,
+ VMR9_SampleFieldSingleOdd = 6
+} VMR9_SampleFormat;
+typedef enum {
+ VMR9AlphaBitmap_Disable = 0x00000001,
+ VMR9AlphaBitmap_hDC = 0x00000002,
+ VMR9AlphaBitmap_EntireDDS = 0x00000004,
+ VMR9AlphaBitmap_SrcColorKey = 0x00000008,
+ VMR9AlphaBitmap_SrcRect = 0x00000010,
+ VMR9AlphaBitmap_FilterMode = 0x00000020
+} VMR9AlphaBitmapFlags;
+typedef enum {
+ VMR9ARMode_None,
+ VMR9ARMode_LetterBox
+} VMR9AspectRatioMode;
+typedef enum {
+ DeinterlacePref9_NextBest = 0x01,
+ DeinterlacePref9_BOB = 0x02,
+ DeinterlacePref9_Weave = 0x04,
+ DeinterlacePref9_Mask = 0x07
+} VMR9DeinterlacePrefs;
+typedef enum {
+ DeinterlaceTech9_Unknown = 0x0000,
+ DeinterlaceTech9_BOBLineReplicate = 0x0001,
+ DeinterlaceTech9_BOBVerticalStretch = 0x0002,
+ DeinterlaceTech9_MedianFiltering = 0x0004,
+ DeinterlaceTech9_EdgeFiltering = 0x0010,
+ DeinterlaceTech9_FieldAdaptive = 0x0020,
+ DeinterlaceTech9_PixelAdaptive = 0x0040,
+ DeinterlaceTech9_MotionVectorSteered = 0x0080
+} VMR9DeinterlaceTech;
+typedef enum {
+ MixerPref9_NoDecimation = 0x00000001,
+ MixerPref9_DecimateOutput = 0x00000002,
+ MixerPref9_ARAdjustXorY = 0x00000004,
+ MixerPref9_NonSquareMixing = 0x00000008,
+ MixerPref9_DecimateMask = 0x0000000F,
+ MixerPref9_BiLinearFiltering = 0x00000010,
+ MixerPref9_PointFiltering = 0x00000020,
+ MixerPref9_AnisotropicFiltering = 0x00000040,
+ MixerPref9_PyramidalQuadFiltering = 0x00000080,
+ MixerPref9_GaussianQuadFiltering = 0x00000100,
+ MixerPref9_FilteringReserved = 0x00000E00,
+ MixerPref9_FilteringMask = 0x00000FF0,
+ MixerPref9_RenderTargetRGB = 0x00001000,
+ MixerPref9_RenderTargetYUV = 0x00002000,
+ MixerPref9_RenderTargetReserved = 0x000FC000,
+ MixerPref9_RenderTargetMask = 0x000FF000
+ MixerPref9_DynamicSwitchToBOB = 0x00100000,
+ MixerPref9_DynamicDecimateBy2 = 0x00200000,
+ MixerPref9_DynamicReserved = 0x00C00000,
+ MixerPref9_DynamicMask = 0x00F00000
+} VMR9MixerPrefs;
+typedef enum VMR9Mode {
+ VMR9Mode_Windowed = 0x00000001,
+ VMR9Mode_Windowless = 0x00000002,
+ VMR9Mode_Renderless = 0x00000004,
+ VMR9Mode_Mask = 0x00000007
+};
+typedef enum {
+ VMR9Sample_SyncPoint = 0x00000001,
+ VMR9Sample_Preroll = 0x00000002,
+ VMR9Sample_Discontinuity = 0x00000004,
+ VMR9Sample_TimeValid = 0x00000008
+} VMR9PresentationFlags;
+typedef enum {
+ ProcAmpControl9_Brightness = 0x00000001,
+ ProcAmpControl9_Contrast = 0x00000002,
+ ProcAmpControl9_Hue = 0x00000004,
+ ProcAmpControl9_Saturation = 0x00000008,
+ ProcAmpControl9_Mask = 0x0000000F
+} VMR9ProcAmpControlFlags;
+typedef enum VMR9RenderPrefs {
+ RenderPrefs9_DoNotRenderBorder = 0x00000001,
+ RenderPrefs9_Mask = 0x00000001
+};
+typedef enum {
+ VMR9AllocFlag_3DRenderTarget = 0x0001,
+ VMR9AllocFlag_DXVATarget = 0x0002,
+ VMR9AllocFlag_TextureSurface = 0x0004,
+ VMR9AllocFlag_OffscreenSurface = 0x0008,
+ VMR9AllocFlag_UsageReserved = 0x00F0,
+ VMR9AllocFlag_UsageMask = 0x00FF
+} VMR9SurfaceAllocationFlags;
+/*--- DirectShow Reference - DirectShow Structures */
+/**********
+typedef struct VMR9AllocationInfo{
+ DWORD dwFlags;
+ DWORD dwWidth;
+ DWORD dwHeight;
+ D3DFORMAT Format;
+ D3DPOOL Pool;
+ DWORD MinBuffers;
+ SIZE szAspectRatio;
+ SIZE szNativeSize;
+};
+**********/
+typedef struct _VMR9DeinterlaceCaps {
+ DWORD dwSize;
+ DWORD dwNumPreviousOutputFrames;
+ DWORD dwNumForwardRefSamples;
+ DWORD dwNumBackwardRefSamples;
+ VMRDeinterlaceTech DeinterlaceTechnology;
+} VMR9DeinterlaceCaps;
+typedef struct _VMR9Frequency {
+ DWORD dwNumerator;
+ DWORD dwDenominator;
+} VMR9Frequency;
+typedef struct {
+ UINT uDevID;
+ RECT rcMonitor;
+ HMONITOR hMon;
+ DWORD dwFlags;
+ wchar_t szDevice[32];
+ wchar_t szDescription[512]
+ LARGE_INTEGER liDriverVersion;
+ DWORD dwVendorId;
+ DWORD dwDeviceId;
+ DWORD dwSubSysId;
+ DWORD dwRevision;
+} VMR9MonitorInfo;
+typedef struct VMR9NormalizedRect{
+ float left;
+ float top;
+ float right;
+ float bottom;
+};
+/**********
+typedef struct {
+ DWORD dwFlags;
+ IDirect3DSurface9 *lpSurf;
+ REFERENCE_TIME rtStart;
+ REFERENCE_TIME rtEnd;
+ SIZE szAspectRatio;
+ RECT rcSrc;
+ RECT rcDst;
+ DWORD dwReserved1;
+ DWORD dwReserved2;
+} VMR9PresentationInfo;
+**********/
+typedef struct _VMR9ProcAmpControl
+{
+ DWORD dwSize;
+ DWORD dwFlags;
+ float Contrast;
+ float Brightness;
+ float Hue;
+ float Saturation;
+} VMR9ProcAmpControl;
+typedef struct _VMR9ProcAmpControlRange
+{
+ DWORD dwSize;
+ VMR9ProcAmpControlFlags dwProperty;
+ float MinValue;
+ float MaxValue;
+ float DefaultValue;
+ float StepSize;
+} VMR9ProcAmpControlRange;
+typedef struct _VMR9VideoDesc {
+ DWORD dwSize;
+ DWORD dwSampleWidth;
+ DWORD dwSampleHeight;
+ VMR9_SampleFormat SampleFormat;
+ DWORD dwFourCC;
+ VMR9Frequency InputSampleFreq;
+ VMR9Frequency OutputFrameFreq;
+} VMR9VideoDesc;
+/**********
+typedef struct VMR9VideoStreamInfo{
+ IDirect3DSurface9 *pddsVideoSurface;
+ DWORD dwWidth;
+ DWORD dwHeight;
+ DWORD dwStrmID;
+ FLOAT fAlpha;
+ VMR9NormalizedRect rNormal;
+ REFERENCE_TIME rtStart;
+ REFERENCE_TIME rtEnd;
+ VMR9_SampleFormat SampleFormat;
+};
+typedef struct VMR9AlphaBitmap{
+ DWORD dwFlags;
+ HDC hdc;
+ IDirect3DSurface9 *pDDS;
+ RECT rSrc;
+ VMR9NormalizedRect rDest;
+ FLOAT fAlpha;
+ COLORREF clrSrcKey;
+ DWORD dwFilterMode;
+};
+**********/
+
+#ifdef __cplusplus
+}
+#endif
+#endif