newlib/winsup/w32api/include/vmr9.h
Dimitri Papadopoulos 5f6ae3d318 * include/amvideo.h (RESET_MASKS,RESET_PALETTE): Use ZeroMemory instead
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.
2006-05-10 08:57:45 +00:00

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