of memset to avoid <string.h>. Still need a fix for memcmp. * include/dshow.h (AM_ASPECT_RATIO_MODE,AM_WST_DRAWBGMODE,AM_WST_LEVEL) (AMExtendedSeekingCapabilities,AM_WST_SERVICE,AM_WST_STATE) (AM_WST_STYLE): Add enums. (AM_WST_PAGE,AMVABeginFrameInfo,AMVACompBufferInfo,AMVAEndFrameInfo, AMVAInternalMemInfo,AMVAUncompBufferInfo,AMVAUncompDataInfo): New structures. * include/errors.h (VFW_*): Define. * include/evcode.h (AM_WMT_EVENT_DATA): New structure. * include/mmsystem.h (WAVE_FORMAT_EXTENSIBLE): Define. * include/edevdefs.h (ED_FORMAT_SMPTE_30,ED_FORMAT_SMPTE_30DROP) (ED_FORMAT_SMPTE_25,ED_FORMAT_SMPTE_24): Move from here... * include/strmif.h: ... to here. New file. * include/aviriff.h: New file. * include/bdatypes.h: New file. * include/control.h: New file. * include/dvdmedia.h: New file. * include/il21dec.h: New file. * include/ks.h: New file. * include/ksmedia.h: New file. * include/mmreg.h: New file. * include/mpegtype.h: New file. * include/vidcap.h: New file. * include/vmr9.h: New file. * include/vptype.h: New file. * include/xprtdefs.h: New file.
		
			
				
	
	
		
			212 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			212 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#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
 |