mingw-5.1.4/win32/include/vmr9.h
changeset 0 76b1f169d9fe
equal deleted inserted replaced
-1:000000000000 0:76b1f169d9fe
       
     1 #ifndef _VMR9_H
       
     2 #define _VMR9_H
       
     3 #if __GNUC__ >= 3
       
     4 #pragma GCC system_header
       
     5 #endif
       
     6 
       
     7 #ifdef __cplusplus
       
     8 extern "C" {
       
     9 #endif
       
    10 
       
    11 /*--- DirectShow Reference - DirectShow Enumerated Types */
       
    12 typedef enum _VMR9_SampleFormat {
       
    13 	VMR9_SampleReserved = 1,
       
    14 	VMR9_SampleProgressiveFrame = 2,
       
    15 	VMR9_SampleFieldInterleavedEvenFirst = 3,
       
    16 	VMR9_SampleFieldInterleavedOddFirst = 4,
       
    17 	VMR9_SampleFieldSingleEven = 5,
       
    18 	VMR9_SampleFieldSingleOdd = 6
       
    19 } VMR9_SampleFormat;
       
    20 typedef enum {
       
    21 	VMR9AlphaBitmap_Disable = 0x00000001,
       
    22 	VMR9AlphaBitmap_hDC = 0x00000002,
       
    23 	VMR9AlphaBitmap_EntireDDS = 0x00000004,
       
    24 	VMR9AlphaBitmap_SrcColorKey = 0x00000008,
       
    25 	VMR9AlphaBitmap_SrcRect = 0x00000010,
       
    26 	VMR9AlphaBitmap_FilterMode = 0x00000020
       
    27 } VMR9AlphaBitmapFlags;
       
    28 typedef enum {
       
    29 	VMR9ARMode_None,
       
    30 	VMR9ARMode_LetterBox
       
    31 } VMR9AspectRatioMode;
       
    32 typedef enum {
       
    33 	DeinterlacePref9_NextBest = 0x01,
       
    34 	DeinterlacePref9_BOB = 0x02,
       
    35 	DeinterlacePref9_Weave = 0x04,
       
    36 	DeinterlacePref9_Mask = 0x07
       
    37 } VMR9DeinterlacePrefs;
       
    38 typedef enum {
       
    39 	DeinterlaceTech9_Unknown = 0x0000,
       
    40 	DeinterlaceTech9_BOBLineReplicate = 0x0001,
       
    41 	DeinterlaceTech9_BOBVerticalStretch = 0x0002,
       
    42 	DeinterlaceTech9_MedianFiltering = 0x0004,
       
    43 	DeinterlaceTech9_EdgeFiltering = 0x0010,
       
    44 	DeinterlaceTech9_FieldAdaptive = 0x0020,
       
    45 	DeinterlaceTech9_PixelAdaptive = 0x0040,
       
    46 	DeinterlaceTech9_MotionVectorSteered = 0x0080
       
    47 } VMR9DeinterlaceTech;
       
    48 typedef enum {
       
    49 	MixerPref9_NoDecimation = 0x00000001,
       
    50 	MixerPref9_DecimateOutput = 0x00000002,
       
    51 	MixerPref9_ARAdjustXorY = 0x00000004,
       
    52 	MixerPref9_NonSquareMixing = 0x00000008,
       
    53 	MixerPref9_DecimateMask = 0x0000000F,
       
    54 	MixerPref9_BiLinearFiltering = 0x00000010,
       
    55 	MixerPref9_PointFiltering = 0x00000020,
       
    56 	MixerPref9_AnisotropicFiltering = 0x00000040,
       
    57 	MixerPref9_PyramidalQuadFiltering = 0x00000080,
       
    58 	MixerPref9_GaussianQuadFiltering = 0x00000100,
       
    59 	MixerPref9_FilteringReserved = 0x00000E00,
       
    60 	MixerPref9_FilteringMask = 0x00000FF0,
       
    61 	MixerPref9_RenderTargetRGB = 0x00001000,
       
    62 	MixerPref9_RenderTargetYUV = 0x00002000,
       
    63 	MixerPref9_RenderTargetReserved = 0x000FC000,
       
    64 	MixerPref9_RenderTargetMask = 0x000FF000
       
    65 	MixerPref9_DynamicSwitchToBOB = 0x00100000,
       
    66 	MixerPref9_DynamicDecimateBy2 = 0x00200000,
       
    67 	MixerPref9_DynamicReserved = 0x00C00000,
       
    68 	MixerPref9_DynamicMask = 0x00F00000
       
    69 } VMR9MixerPrefs;
       
    70 typedef enum VMR9Mode {
       
    71 	VMR9Mode_Windowed = 0x00000001,
       
    72 	VMR9Mode_Windowless = 0x00000002,
       
    73 	VMR9Mode_Renderless = 0x00000004,
       
    74 	VMR9Mode_Mask = 0x00000007
       
    75 };
       
    76 typedef enum {
       
    77 	VMR9Sample_SyncPoint = 0x00000001,
       
    78 	VMR9Sample_Preroll = 0x00000002,
       
    79 	VMR9Sample_Discontinuity = 0x00000004,
       
    80 	VMR9Sample_TimeValid = 0x00000008
       
    81 } VMR9PresentationFlags;
       
    82 typedef enum {
       
    83 	ProcAmpControl9_Brightness = 0x00000001,
       
    84 	ProcAmpControl9_Contrast = 0x00000002,
       
    85 	ProcAmpControl9_Hue = 0x00000004,
       
    86 	ProcAmpControl9_Saturation = 0x00000008,
       
    87 	ProcAmpControl9_Mask = 0x0000000F
       
    88 } VMR9ProcAmpControlFlags;
       
    89 typedef enum VMR9RenderPrefs {
       
    90 	RenderPrefs9_DoNotRenderBorder = 0x00000001,
       
    91 	RenderPrefs9_Mask = 0x00000001
       
    92 };
       
    93 typedef enum {
       
    94 	VMR9AllocFlag_3DRenderTarget = 0x0001,
       
    95 	VMR9AllocFlag_DXVATarget = 0x0002,
       
    96 	VMR9AllocFlag_TextureSurface = 0x0004,
       
    97 	VMR9AllocFlag_OffscreenSurface = 0x0008,
       
    98 	VMR9AllocFlag_UsageReserved = 0x00F0,
       
    99 	VMR9AllocFlag_UsageMask = 0x00FF
       
   100 } VMR9SurfaceAllocationFlags;
       
   101 /*--- DirectShow Reference - DirectShow Structures */
       
   102 /**********
       
   103 typedef struct VMR9AllocationInfo{
       
   104 	DWORD dwFlags;
       
   105 	DWORD dwWidth;
       
   106 	DWORD dwHeight;
       
   107 	D3DFORMAT Format;
       
   108 	D3DPOOL Pool;
       
   109 	DWORD MinBuffers;
       
   110 	SIZE szAspectRatio;
       
   111 	SIZE szNativeSize;
       
   112 };
       
   113 **********/
       
   114 typedef struct _VMR9DeinterlaceCaps {
       
   115 	DWORD dwSize;
       
   116 	DWORD dwNumPreviousOutputFrames;
       
   117 	DWORD dwNumForwardRefSamples;
       
   118 	DWORD dwNumBackwardRefSamples;
       
   119 	VMRDeinterlaceTech DeinterlaceTechnology;
       
   120 } VMR9DeinterlaceCaps;
       
   121 typedef struct _VMR9Frequency {
       
   122 	DWORD dwNumerator;
       
   123 	DWORD dwDenominator;
       
   124 } VMR9Frequency;
       
   125 typedef struct {
       
   126 	UINT uDevID;
       
   127 	RECT rcMonitor;
       
   128 	HMONITOR hMon;
       
   129 	DWORD dwFlags;
       
   130 	wchar_t szDevice[32];
       
   131 	wchar_t szDescription[512]
       
   132 	LARGE_INTEGER liDriverVersion;
       
   133 	DWORD dwVendorId;
       
   134 	DWORD dwDeviceId;
       
   135 	DWORD dwSubSysId;
       
   136 	DWORD dwRevision;
       
   137 } VMR9MonitorInfo;
       
   138 typedef struct VMR9NormalizedRect{
       
   139 	float left;
       
   140 	float top;
       
   141 	float right;
       
   142 	float bottom;
       
   143 };
       
   144 /**********
       
   145 typedef struct {
       
   146 	DWORD dwFlags;
       
   147 	IDirect3DSurface9 *lpSurf;
       
   148 	REFERENCE_TIME rtStart;
       
   149 	REFERENCE_TIME rtEnd;
       
   150 	SIZE szAspectRatio;
       
   151 	RECT rcSrc;
       
   152 	RECT rcDst;
       
   153 	DWORD dwReserved1;
       
   154 	DWORD dwReserved2;
       
   155 } VMR9PresentationInfo;
       
   156 **********/
       
   157 typedef struct _VMR9ProcAmpControl
       
   158 {
       
   159 	DWORD dwSize;
       
   160 	DWORD dwFlags;
       
   161 	float Contrast;
       
   162 	float Brightness;
       
   163 	float Hue;
       
   164 	float Saturation;
       
   165 } VMR9ProcAmpControl;
       
   166 typedef struct _VMR9ProcAmpControlRange
       
   167 {
       
   168 	DWORD dwSize;
       
   169 	VMR9ProcAmpControlFlags dwProperty;
       
   170 	float MinValue;
       
   171 	float MaxValue;
       
   172 	float DefaultValue;
       
   173 	float StepSize;
       
   174 } VMR9ProcAmpControlRange;
       
   175 typedef struct _VMR9VideoDesc {
       
   176 	DWORD dwSize;
       
   177 	DWORD dwSampleWidth;
       
   178 	DWORD dwSampleHeight;
       
   179 	VMR9_SampleFormat SampleFormat;
       
   180 	DWORD dwFourCC;
       
   181 	VMR9Frequency InputSampleFreq;
       
   182 	VMR9Frequency OutputFrameFreq;
       
   183 } VMR9VideoDesc;
       
   184 /**********
       
   185 typedef struct VMR9VideoStreamInfo{
       
   186 	IDirect3DSurface9 *pddsVideoSurface;
       
   187 	DWORD dwWidth;
       
   188 	DWORD dwHeight;
       
   189 	DWORD dwStrmID;
       
   190 	FLOAT fAlpha;
       
   191 	VMR9NormalizedRect rNormal;
       
   192 	REFERENCE_TIME rtStart;
       
   193 	REFERENCE_TIME rtEnd;
       
   194 	VMR9_SampleFormat SampleFormat;
       
   195 };
       
   196 typedef struct VMR9AlphaBitmap{
       
   197 	DWORD dwFlags;
       
   198 	HDC hdc;
       
   199 	IDirect3DSurface9 *pDDS;
       
   200 	RECT rSrc;
       
   201 	VMR9NormalizedRect rDest;
       
   202 	FLOAT fAlpha;
       
   203 	COLORREF clrSrcKey;
       
   204 	DWORD dwFilterMode;
       
   205 };
       
   206 **********/
       
   207 
       
   208 #ifdef __cplusplus
       
   209 }
       
   210 #endif
       
   211 #endif