summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/Graphics/shaderlib/wine/include/axcore.idl
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/axcore.idl')
-rw-r--r--src/VBox/Devices/Graphics/shaderlib/wine/include/axcore.idl666
1 files changed, 666 insertions, 0 deletions
diff --git a/src/VBox/Devices/Graphics/shaderlib/wine/include/axcore.idl b/src/VBox/Devices/Graphics/shaderlib/wine/include/axcore.idl
new file mode 100644
index 00000000..086aa81a
--- /dev/null
+++ b/src/VBox/Devices/Graphics/shaderlib/wine/include/axcore.idl
@@ -0,0 +1,666 @@
+/*
+ * Copyright (C) 2002 Robert Shearman
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/*
+ * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
+ * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
+ * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
+ * a choice of LGPL license versions is made available with the language indicating
+ * that LGPLv2 or any later version may be used, or where a choice of which version
+ * of the LGPL is applied is otherwise unspecified.
+ */
+
+#define CHARS_IN_GUID 39
+cpp_quote("#define CHARS_IN_GUID 39")
+
+/* GetTimeFormat is defined in winnls.h as
+ * either the W or A suffixed version */
+cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
+cpp_quote("#undef GetTimeFormat")
+cpp_quote("#endif")
+
+typedef struct _AMMediaType
+{
+ GUID majortype;
+ GUID subtype;
+ BOOL bFixedSizeSamples;
+ BOOL bTemporalCompression;
+ ULONG lSampleSize;
+ GUID formattype;
+ IUnknown * pUnk;
+ ULONG cbFormat;
+ [size_is(cbFormat)] BYTE * pbFormat;
+} AM_MEDIA_TYPE;
+
+typedef enum _PinDirection
+{
+ PINDIR_INPUT,
+ PINDIR_OUTPUT
+} PIN_DIRECTION;
+
+#define MAX_PIN_NAME 128
+#define MAX_FILTER_NAME 128
+cpp_quote("#define MAX_PIN_NAME 128")
+cpp_quote("#define MAX_FILTER_NAME 128")
+
+cpp_quote("#ifndef REFERENCE_TIME_DEFINED")
+cpp_quote("#define REFERENCE_TIME_DEFINED")
+typedef LONGLONG REFERENCE_TIME;
+cpp_quote("#endif")
+
+cpp_quote("#ifndef REFTIME_DEFINED")
+cpp_quote("#define REFTIME_DEFINED")
+typedef DOUBLE REFTIME;
+cpp_quote("#endif")
+
+typedef DWORD_PTR HSEMAPHORE;
+typedef DWORD_PTR HEVENT;
+
+typedef struct _AllocatorProperties
+{
+ long cBuffers;
+ long cbBuffer;
+ long cbAlign;
+ long cbPrefix;
+} ALLOCATOR_PROPERTIES;
+
+interface IAMovieSetup;
+interface IEnumFilters;
+interface IEnumMediaTypes;
+interface IEnumPins;
+interface IBaseFilter;
+interface IFilterGraph;
+interface IMediaFilter;
+interface IMediaSample;
+interface IMemAllocator;
+interface IMemAllocatorCallbackTemp;
+interface IMemAllocatorNotifyCallbackTemp;
+interface IMemInputPin;
+interface IPin;
+interface IReferenceClock;
+
+[
+object,
+uuid(56a86891-0ad4-11ce-b03a-0020af0ba770),
+pointer_default(unique)
+]
+interface IPin : IUnknown
+{
+ typedef struct _PinInfo
+ {
+ IBaseFilter *pFilter;
+ PIN_DIRECTION dir;
+ WCHAR achName[MAX_PIN_NAME];
+ } PIN_INFO;
+
+ HRESULT Connect(
+ [in] IPin * pReceivePin,
+ [in] const AM_MEDIA_TYPE * pmt);
+
+ HRESULT ReceiveConnection(
+ [in] IPin * pConnector,
+ [in] const AM_MEDIA_TYPE *pmt);
+
+ HRESULT Disconnect(void);
+
+ HRESULT ConnectedTo(
+ [out] IPin **pPin);
+
+ HRESULT ConnectionMediaType(
+ [out] AM_MEDIA_TYPE *pmt);
+
+ HRESULT QueryPinInfo(
+ [out] PIN_INFO * pInfo);
+
+ HRESULT QueryDirection(
+ [out] PIN_DIRECTION *pPinDir);
+
+ HRESULT QueryId(
+ [out] LPWSTR * Id);
+
+ HRESULT QueryAccept(
+ [in] const AM_MEDIA_TYPE *pmt);
+
+ HRESULT EnumMediaTypes(
+ [out] IEnumMediaTypes **ppEnum);
+
+ HRESULT QueryInternalConnections(
+ [out] IPin* *apPin,
+ [in, out] ULONG *nPin);
+
+ HRESULT EndOfStream(void);
+
+ HRESULT BeginFlush(void);
+
+ HRESULT EndFlush(void);
+ HRESULT NewSegment(
+ [in] REFERENCE_TIME tStart,
+ [in] REFERENCE_TIME tStop,
+ [in] double dRate);
+}
+
+typedef IPin *PPIN;
+
+[
+object,
+uuid(56a86892-0ad4-11ce-b03a-0020af0ba770),
+pointer_default(unique)
+]
+interface IEnumPins : IUnknown
+{
+
+ HRESULT Next(
+ [in] ULONG cPins,
+ [out, size_is(cPins)] IPin ** ppPins,
+ [out] ULONG * pcFetched);
+
+ HRESULT Skip(
+ [in] ULONG cPins);
+
+ HRESULT Reset(void);
+
+ HRESULT Clone(
+ [out] IEnumPins **ppEnum);
+}
+
+typedef IEnumPins *PENUMPINS;
+
+[
+object,
+uuid(89c31040-846b-11ce-97d3-00aa0055595a),
+pointer_default(unique)
+]
+interface IEnumMediaTypes : IUnknown
+{
+ HRESULT Next(
+ [in] ULONG cMediaTypes,
+ [out, size_is(cMediaTypes)]
+ AM_MEDIA_TYPE ** ppMediaTypes,
+ [out] ULONG * pcFetched
+ );
+
+ HRESULT Skip(
+ [in] ULONG cMediaTypes);
+
+ HRESULT Reset(void);
+
+ HRESULT Clone(
+ [out] IEnumMediaTypes **ppEnum
+ );
+}
+
+typedef IEnumMediaTypes *PENUMMEDIATYPES;
+
+[
+object,
+uuid(56a8689f-0ad4-11ce-b03a-0020af0ba770),
+pointer_default(unique)
+]
+interface IFilterGraph : IUnknown
+{
+ HRESULT AddFilter(
+ [in] IBaseFilter * pFilter,
+ [in, string] LPCWSTR pName);
+
+ HRESULT RemoveFilter(
+ [in] IBaseFilter * pFilter);
+
+ HRESULT EnumFilters(
+ [out] IEnumFilters **ppEnum);
+
+ HRESULT FindFilterByName(
+ [in, string] LPCWSTR pName,
+ [out] IBaseFilter ** ppFilter);
+
+ HRESULT ConnectDirect(
+ [in] IPin * ppinOut,
+ [in] IPin * ppinIn,
+ [in, unique] const AM_MEDIA_TYPE* pmt);
+
+ HRESULT Reconnect(
+ [in] IPin * ppin);
+
+ HRESULT Disconnect(
+ [in] IPin * ppin);
+
+ HRESULT SetDefaultSyncSource(void);
+}
+
+typedef IFilterGraph *PFILTERGRAPH;
+
+[
+object,
+uuid(56a86893-0ad4-11ce-b03a-0020af0ba770),
+pointer_default(unique)
+]
+interface IEnumFilters : IUnknown
+{
+ HRESULT Next(
+ [in] ULONG cFilters,
+ [out] IBaseFilter ** ppFilter,
+ [out] ULONG * pcFetched);
+
+
+ HRESULT Skip(
+ [in] ULONG cFilters);
+
+
+ HRESULT Reset(void);
+
+
+ HRESULT Clone(
+ [out] IEnumFilters **ppEnum);
+}
+
+typedef IEnumFilters *PENUMFILTERS;
+
+[
+object,
+uuid(56a86899-0ad4-11ce-b03a-0020af0ba770),
+pointer_default(unique)
+]
+interface IMediaFilter : IPersist
+{
+ typedef enum _FilterState
+ {
+ State_Stopped,
+ State_Paused,
+ State_Running
+ } FILTER_STATE;
+
+ HRESULT Stop(void);
+ HRESULT Pause(void);
+
+ HRESULT Run(REFERENCE_TIME tStart);
+
+ HRESULT GetState(
+ [in] DWORD dwMilliSecsTimeout,
+ [out] FILTER_STATE *State);
+
+ HRESULT SetSyncSource(
+ [in] IReferenceClock * pClock);
+
+ HRESULT GetSyncSource(
+ [out] IReferenceClock ** pClock);
+}
+
+typedef IMediaFilter *PMEDIAFILTER;
+
+[
+object,
+uuid(56a86895-0ad4-11ce-b03a-0020af0ba770),
+pointer_default(unique)
+]
+interface IBaseFilter : IMediaFilter
+{
+ typedef struct _FilterInfo
+ {
+ WCHAR achName[MAX_FILTER_NAME];
+ IFilterGraph * pGraph;
+ } FILTER_INFO;
+
+ HRESULT EnumPins(
+ [out] IEnumPins ** ppEnum);
+
+ HRESULT FindPin(
+ [in, string] LPCWSTR Id,
+ [out] IPin ** ppPin);
+
+ HRESULT QueryFilterInfo(
+ [out] FILTER_INFO * pInfo);
+
+ HRESULT JoinFilterGraph(
+ [in] IFilterGraph * pGraph,
+ [in, string] LPCWSTR pName);
+
+ HRESULT QueryVendorInfo(
+ [out, string] LPWSTR* pVendorInfo);
+}
+
+typedef IBaseFilter *PFILTER;
+
+[
+object,
+uuid(56a86897-0ad4-11ce-b03a-0020af0ba770),
+pointer_default(unique)
+]
+interface IReferenceClock : IUnknown
+{
+ HRESULT GetTime(
+ [out] REFERENCE_TIME *pTime);
+
+ HRESULT AdviseTime(
+ [in] REFERENCE_TIME baseTime,
+ [in] REFERENCE_TIME streamTime,
+ [in] HEVENT hEvent,
+ [out] DWORD_PTR * pdwAdviseCookie);
+
+ HRESULT AdvisePeriodic(
+ [in] REFERENCE_TIME startTime,
+ [in] REFERENCE_TIME periodTime,
+ [in] HSEMAPHORE hSemaphore,
+ [out] DWORD_PTR * pdwAdviseCookie);
+
+ HRESULT Unadvise(
+ [in] DWORD_PTR dwAdviseCookie);
+}
+
+typedef IReferenceClock *PREFERENCECLOCK;
+
+/*
+[
+object,
+uuid(36b73885-c2c8-11cf-8b46-00805f6cef60),
+pointer_default(unique)
+]
+interface IReferenceClock2 : IReferenceClock
+{
+}
+
+typedef IReferenceClock2 *PREFERENCECLOCK2;
+
+*/
+
+[
+local,
+object,
+uuid(56a8689a-0ad4-11ce-b03a-0020af0ba770),
+pointer_default(unique)
+]
+interface IMediaSample : IUnknown
+{
+ HRESULT GetPointer([out] BYTE ** ppBuffer);
+
+ long GetSize(void);
+
+ HRESULT GetTime(
+ [out] REFERENCE_TIME * pTimeStart,
+ [out] REFERENCE_TIME * pTimeEnd);
+
+ HRESULT SetTime(
+ [in] REFERENCE_TIME * pTimeStart,
+ [in] REFERENCE_TIME * pTimeEnd);
+
+ HRESULT IsSyncPoint(void);
+
+ HRESULT SetSyncPoint(BOOL bIsSyncPoint);
+
+ HRESULT IsPreroll(void);
+
+ HRESULT SetPreroll(BOOL bIsPreroll);
+
+ LONG GetActualDataLength(void);
+
+ HRESULT SetActualDataLength(LONG length);
+
+ HRESULT GetMediaType(AM_MEDIA_TYPE **ppMediaType);
+
+ HRESULT SetMediaType(AM_MEDIA_TYPE *pMediaType);
+
+ HRESULT IsDiscontinuity(void);
+
+ HRESULT SetDiscontinuity(BOOL bDiscontinuity);
+
+ HRESULT GetMediaTime(
+ [out] LONGLONG * pTimeStart,
+ [out] LONGLONG * pTimeEnd);
+
+ HRESULT SetMediaTime(
+ [in] LONGLONG * pTimeStart,
+ [in] LONGLONG * pTimeEnd);
+}
+
+typedef IMediaSample *PMEDIASAMPLE;
+
+enum tagAM_SAMPLE_PROPERTY_FLAGS
+{
+ AM_SAMPLE_SPLICEPOINT = 0x01,
+ AM_SAMPLE_PREROLL = 0x02,
+ AM_SAMPLE_DATADISCONTINUITY = 0x04,
+ AM_SAMPLE_TYPECHANGED = 0x08,
+ AM_SAMPLE_TIMEVALID = 0x10,
+ AM_SAMPLE_TIMEDISCONTINUITY = 0x40,
+ AM_SAMPLE_FLUSH_ON_PAUSE = 0x80,
+ AM_SAMPLE_STOPVALID = 0x100,
+ AM_SAMPLE_ENDOFSTREAM = 0x200,
+ AM_STREAM_MEDIA = 0,
+ AM_STREAM_CONTROL = 1
+};
+
+typedef struct tagAM_SAMPLE2_PROPERTIES
+{
+ DWORD cbData;
+ DWORD dwTypeSpecificFlags;
+ DWORD dwSampleFlags;
+ LONG lActual;
+ REFERENCE_TIME tStart;
+ REFERENCE_TIME tStop;
+ DWORD dwStreamId;
+ AM_MEDIA_TYPE *pMediaType;
+ BYTE *pbBuffer;
+ LONG cbBuffer;
+} AM_SAMPLE2_PROPERTIES;
+
+[
+ local,
+ object,
+ uuid(36b73884-c2c8-11cf-8b46-00805f6cef60),
+ pointer_default(unique)
+]
+interface IMediaSample2 : IMediaSample
+{
+ HRESULT GetProperties(
+ [in] DWORD cbProperties,
+ [out, size_is(cbProperties)] BYTE * pbProperties
+ );
+
+ HRESULT SetProperties(
+ [in] DWORD cbProperties,
+ [in, size_is(cbProperties)] const BYTE * pbProperties
+ );
+}
+
+typedef IMediaSample2 *PMEDIASAMPLE2;
+
+#define AM_GBF_PREVFRAMESKIPPED 1
+#define AM_GBF_NOTASYNCPOINT 2
+cpp_quote("#define AM_GBF_PREVFRAMESKIPPED 1")
+cpp_quote("#define AM_GBF_NOTASYNCPOINT 2")
+
+cpp_quote("#define AM_GBF_NOWAIT 4")
+cpp_quote("#define AM_GBF_NODDSURFACELOCK 8")
+
+[
+object,
+uuid(56a8689c-0ad4-11ce-b03a-0020af0ba770),
+pointer_default(unique)
+]
+interface IMemAllocator : IUnknown
+{
+ HRESULT SetProperties(
+ [in] ALLOCATOR_PROPERTIES* pRequest,
+ [out] ALLOCATOR_PROPERTIES* pActual);
+
+ HRESULT GetProperties(
+ [out] ALLOCATOR_PROPERTIES* pProps);
+
+ HRESULT Commit(void);
+
+ HRESULT Decommit(void);
+
+ HRESULT GetBuffer(
+ [out] IMediaSample **ppBuffer,
+ [in] REFERENCE_TIME * pStartTime,
+ [in] REFERENCE_TIME * pEndTime,
+ [in] DWORD dwFlags);
+
+ HRESULT ReleaseBuffer(
+ [in] IMediaSample *pBuffer);
+}
+
+typedef IMemAllocator *PMEMALLOCATOR;
+
+[
+object,
+uuid(379a0cf0-c1de-11d2-abf5-00a0c905f375),
+pointer_default(unique)
+]
+interface IMemAllocatorCallbackTemp : IMemAllocator
+{
+ HRESULT SetNotify(
+ [in] IMemAllocatorNotifyCallbackTemp *pNotify);
+
+ HRESULT GetFreeCount(
+ [out] LONG *plBuffersFree);
+}
+
+[
+object,
+uuid(92980b30-c1de-11d2-abf5-00a0c905f375),
+pointer_default(unique)
+]
+interface IMemAllocatorNotifyCallbackTemp : IUnknown
+{
+ HRESULT NotifyRelease();
+}
+
+[
+object,
+uuid(56a8689d-0ad4-11ce-b03a-0020af0ba770),
+pointer_default(unique)
+]
+interface IMemInputPin : IUnknown
+{
+ HRESULT GetAllocator(
+ [out] IMemAllocator ** ppAllocator);
+
+ HRESULT NotifyAllocator(
+ [in] IMemAllocator * pAllocator,
+ [in] BOOL bReadOnly);
+
+ HRESULT GetAllocatorRequirements( [out] ALLOCATOR_PROPERTIES*pProps );
+
+ HRESULT Receive(
+ [in] IMediaSample * pSample);
+
+ HRESULT ReceiveMultiple(
+ [in, size_is(nSamples)] IMediaSample **pSamples,
+ [in] long nSamples,
+ [out] long *nSamplesProcessed);
+
+ HRESULT ReceiveCanBlock();
+}
+
+typedef IMemInputPin *PMEMINPUTPIN;
+
+[
+object,
+uuid(a3d8cec0-7e5a-11cf-bbc5-00805f6cef20),
+pointer_default(unique)
+]
+interface IAMovieSetup : IUnknown
+{
+ HRESULT Register( );
+ HRESULT Unregister( );
+}
+
+typedef IAMovieSetup *PAMOVIESETUP;
+
+typedef enum AM_SEEKING_SeekingFlags
+{
+ AM_SEEKING_NoPositioning = 0x00,
+ AM_SEEKING_AbsolutePositioning = 0x01,
+ AM_SEEKING_RelativePositioning = 0x02,
+ AM_SEEKING_IncrementalPositioning = 0x03,
+ AM_SEEKING_PositioningBitsMask = 0x03,
+ AM_SEEKING_SeekToKeyFrame = 0x04,
+ AM_SEEKING_ReturnTime = 0x08,
+ AM_SEEKING_Segment = 0x10,
+ AM_SEEKING_NoFlush = 0x20
+} AM_SEEKING_SEEKING_FLAGS;
+
+typedef enum AM_SEEKING_SeekingCapabilities
+{
+ AM_SEEKING_CanSeekAbsolute = 0x001,
+ AM_SEEKING_CanSeekForwards = 0x002,
+ AM_SEEKING_CanSeekBackwards = 0x004,
+ AM_SEEKING_CanGetCurrentPos = 0x008,
+ AM_SEEKING_CanGetStopPos = 0x010,
+ AM_SEEKING_CanGetDuration = 0x020,
+ AM_SEEKING_CanPlayBackwards = 0x040,
+ AM_SEEKING_CanDoSegments = 0x080,
+ AM_SEEKING_Source = 0x100
+} AM_SEEKING_SEEKING_CAPABILITIES;
+
+[
+object,
+uuid(36b73880-c2c8-11cf-8b46-00805f6cef60),
+pointer_default(unique)
+]
+interface IMediaSeeking : IUnknown
+{
+ HRESULT GetCapabilities( [out] DWORD * pCapabilities );
+
+ HRESULT CheckCapabilities( [in,out] DWORD * pCapabilities );
+
+ HRESULT IsFormatSupported([in] const GUID * pFormat);
+
+ HRESULT QueryPreferredFormat([out] GUID * pFormat);
+
+ HRESULT GetTimeFormat([out] GUID *pFormat);
+
+ HRESULT IsUsingTimeFormat([in] const GUID * pFormat);
+
+ HRESULT SetTimeFormat([in] const GUID * pFormat);
+
+ HRESULT GetDuration([out] LONGLONG *pDuration);
+
+ HRESULT GetStopPosition([out] LONGLONG *pStop);
+
+ HRESULT GetCurrentPosition([out] LONGLONG *pCurrent);
+
+ HRESULT ConvertTimeFormat([out] LONGLONG * pTarget, [in] const GUID * pTargetFormat,
+ [in] LONGLONG Source, [in] const GUID * pSourceFormat );
+
+ HRESULT SetPositions(
+ [in,out] LONGLONG * pCurrent,
+ [in] DWORD dwCurrentFlags,
+ [in,out] LONGLONG * pStop,
+ [in] DWORD dwStopFlags);
+
+ HRESULT GetPositions(
+ [out] LONGLONG * pCurrent,
+ [out] LONGLONG * pStop);
+
+ HRESULT GetAvailable(
+ [out] LONGLONG * pEarliest,
+ [out] LONGLONG * pLatest);
+
+ HRESULT SetRate([in] double dRate);
+
+ HRESULT GetRate([out] double * pdRate);
+
+ HRESULT GetPreroll([out] LONGLONG * pllPreroll);
+}
+
+typedef IMediaSeeking *PMEDIASEEKING;
+
+enum tagAM_MEDIAEVENT_FLAGS
+{
+ AM_MEDIAEVENT_NONOTIFY = 0x01
+};