mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Remove previous dxva2 patch (accepted upstream), added additional dxva2 implementation patches.
This commit is contained in:
parent
86c9842e64
commit
3c6c730333
@ -1,129 +0,0 @@
|
||||
From 6a0540157019fee86dab35dd5e5f8891aa93c3e0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 24 Mar 2014 00:05:38 +0100
|
||||
Subject: dxva2: Added stub dll.
|
||||
|
||||
---
|
||||
configure.ac | 1 +
|
||||
dlls/dxva2/Makefile.in | 4 ++++
|
||||
dlls/dxva2/dxva2.spec | 37 +++++++++++++++++++++++++++++++++++++
|
||||
dlls/dxva2/main.c | 40 ++++++++++++++++++++++++++++++++++++++++
|
||||
4 files changed, 82 insertions(+)
|
||||
create mode 100644 dlls/dxva2/Makefile.in
|
||||
create mode 100644 dlls/dxva2/dxva2.spec
|
||||
create mode 100644 dlls/dxva2/main.c
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index fc425c6..34d2aa2 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2889,6 +2889,7 @@ WINE_CONFIG_LIB(dxerr9)
|
||||
WINE_CONFIG_DLL(dxgi,,[implib])
|
||||
WINE_CONFIG_TEST(dlls/dxgi/tests)
|
||||
WINE_CONFIG_LIB(dxguid)
|
||||
+WINE_CONFIG_DLL(dxva2)
|
||||
WINE_CONFIG_DLL(explorerframe,,[clean])
|
||||
WINE_CONFIG_TEST(dlls/explorerframe/tests)
|
||||
WINE_CONFIG_DLL(ext-ms-win-gdi-devcaps-l1-1-0)
|
||||
diff --git a/dlls/dxva2/Makefile.in b/dlls/dxva2/Makefile.in
|
||||
new file mode 100644
|
||||
index 0000000..7b9ef6f
|
||||
--- /dev/null
|
||||
+++ b/dlls/dxva2/Makefile.in
|
||||
@@ -0,0 +1,4 @@
|
||||
+MODULE = dxva2.dll
|
||||
+
|
||||
+C_SRCS = \
|
||||
+ main.c
|
||||
diff --git a/dlls/dxva2/dxva2.spec b/dlls/dxva2/dxva2.spec
|
||||
new file mode 100644
|
||||
index 0000000..da94df3
|
||||
--- /dev/null
|
||||
+++ b/dlls/dxva2/dxva2.spec
|
||||
@@ -0,0 +1,37 @@
|
||||
+@ stub CapabilitiesRequestAndCapabilitiesReply
|
||||
+@ stub DXVA2CreateDirect3DDeviceManager9
|
||||
+@ stub DXVA2CreateVideoService
|
||||
+@ stub DegaussMonitor
|
||||
+@ stub DestroyPhysicalMonitor
|
||||
+@ stub DestroyPhysicalMonitors
|
||||
+@ stub GetCapabilitiesStringLength
|
||||
+@ stub GetMonitorBrightness
|
||||
+@ stub GetMonitorCapabilities
|
||||
+@ stub GetMonitorColorTemperature
|
||||
+@ stub GetMonitorContrast
|
||||
+@ stub GetMonitorDisplayAreaPosition
|
||||
+@ stub GetMonitorDisplayAreaSize
|
||||
+@ stub GetMonitorRedGreenOrBlueDrive
|
||||
+@ stub GetMonitorRedGreenOrBlueGain
|
||||
+@ stub GetMonitorTechnologyType
|
||||
+@ stub GetNumberOfPhysicalMonitorsFromHMONITOR
|
||||
+@ stub GetNumberOfPhysicalMonitorsFromIDirect3DDevice9
|
||||
+@ stub GetPhysicalMonitorsFromHMONITOR
|
||||
+@ stub GetPhysicalMonitorsFromIDirect3DDevice9
|
||||
+@ stub GetTimingReport
|
||||
+@ stub GetVCPFeatureAndVCPFeatureReply
|
||||
+@ stub OPMGetVideoOutputsFromHMONITOR
|
||||
+@ stub OPMGetVideoOutputsFromIDirect3DDevice9Object
|
||||
+@ stub RestoreMonitorFactoryColorDefaults
|
||||
+@ stub RestoreMonitorFactoryDefaults
|
||||
+@ stub SaveCurrentMonitorSettings
|
||||
+@ stub SaveCurrentSettings
|
||||
+@ stub SetMonitorBrightness
|
||||
+@ stub SetMonitorColorTemperature
|
||||
+@ stub SetMonitorContrast
|
||||
+@ stub SetMonitorDisplayAreaPosition
|
||||
+@ stub SetMonitorDisplayAreaSize
|
||||
+@ stub SetMonitorRedGreenOrBlueDrive
|
||||
+@ stub SetMonitorRedGreenOrBlueGain
|
||||
+@ stub SetVCPFeature
|
||||
+@ stub UABGetCertificate
|
||||
diff --git a/dlls/dxva2/main.c b/dlls/dxva2/main.c
|
||||
new file mode 100644
|
||||
index 0000000..d16320f
|
||||
--- /dev/null
|
||||
+++ b/dlls/dxva2/main.c
|
||||
@@ -0,0 +1,40 @@
|
||||
+/*
|
||||
+ * Copyright 2014 Michael Müller for Pipelight
|
||||
+ *
|
||||
+ * 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
|
||||
+ */
|
||||
+
|
||||
+#include <stdarg.h>
|
||||
+#include "windef.h"
|
||||
+#include "winbase.h"
|
||||
+
|
||||
+#include "wine/debug.h"
|
||||
+
|
||||
+WINE_DEFAULT_DEBUG_CHANNEL(dxva2);
|
||||
+
|
||||
+BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
||||
+{
|
||||
+ TRACE("%p,%x,%p\n", hinstDLL, fdwReason, lpvReserved);
|
||||
+
|
||||
+ switch (fdwReason) {
|
||||
+ case DLL_WINE_PREATTACH:
|
||||
+ return FALSE; /* prefer native version */
|
||||
+ case DLL_PROCESS_ATTACH:
|
||||
+ DisableThreadLibraryCalls(hinstDLL);
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ return TRUE;
|
||||
+}
|
||||
--
|
||||
1.8.3.2
|
||||
|
493
patches/11-DXVA2/0001-include-Add-dxva2api.idl.patch
Normal file
493
patches/11-DXVA2/0001-include-Add-dxva2api.idl.patch
Normal file
@ -0,0 +1,493 @@
|
||||
From fea79238dba89c6233b58cbb86b3702f91f5be24 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Wed, 26 Mar 2014 21:09:24 +0100
|
||||
Subject: include: Add dxva2api.idl
|
||||
|
||||
---
|
||||
include/Makefile.in | 1 +
|
||||
include/dxva2api.idl | 461 ++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 462 insertions(+)
|
||||
create mode 100644 include/dxva2api.idl
|
||||
|
||||
diff --git a/include/Makefile.in b/include/Makefile.in
|
||||
index ebdc96b..d6997db 100644
|
||||
--- a/include/Makefile.in
|
||||
+++ b/include/Makefile.in
|
||||
@@ -40,6 +40,7 @@ PUBLIC_IDL_H_SRCS = \
|
||||
dwrite_1.idl \
|
||||
dxgi.idl \
|
||||
dxgi1_2.idl \
|
||||
+ dxva2api.idl \
|
||||
endpointvolume.idl \
|
||||
exdisp.idl \
|
||||
fusion.idl \
|
||||
diff --git a/include/dxva2api.idl b/include/dxva2api.idl
|
||||
new file mode 100644
|
||||
index 0000000..274cccf
|
||||
--- /dev/null
|
||||
+++ b/include/dxva2api.idl
|
||||
@@ -0,0 +1,461 @@
|
||||
+/*
|
||||
+ * Copyright Michael Müller for Pipelight
|
||||
+ *
|
||||
+ * 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
|
||||
+ */
|
||||
+
|
||||
+cpp_quote("#include <d3d9.h>")
|
||||
+import "unknwn.idl";
|
||||
+
|
||||
+cpp_quote("#if 0")
|
||||
+typedef DWORD IDirect3DDevice9;
|
||||
+typedef DWORD IDirect3DSurface9;
|
||||
+
|
||||
+typedef DWORD D3DFORMAT;
|
||||
+typedef DWORD D3DPOOL;
|
||||
+cpp_quote("#endif")
|
||||
+
|
||||
+typedef LONGLONG REFERENCE_TIME;
|
||||
+
|
||||
+enum
|
||||
+{
|
||||
+ DXVA2_VideoDecoderRenderTarget = 0,
|
||||
+ DXVA2_VideoProcessorRenderTarget = 1,
|
||||
+ DXVA2_VideoSoftwareRenderTarget = 2
|
||||
+};
|
||||
+
|
||||
+typedef struct _DXVA2_ExtendedFormat
|
||||
+{
|
||||
+ union
|
||||
+ {
|
||||
+ struct
|
||||
+ {
|
||||
+ UINT SampleFormat :8;
|
||||
+ UINT VideoChromaSubsampling :4;
|
||||
+ UINT NominalRange :3;
|
||||
+ UINT VideoTransferMatrix :3;
|
||||
+ UINT VideoLighting :4;
|
||||
+ UINT VideoPrimaries :5;
|
||||
+ UINT VideoTransferFunction :5;
|
||||
+ };
|
||||
+ UINT value;
|
||||
+ };
|
||||
+} DXVA2_ExtendedFormat;
|
||||
+
|
||||
+typedef struct _DXVA2_Frequency
|
||||
+{
|
||||
+ UINT Numerator;
|
||||
+ UINT Denominator;
|
||||
+} DXVA2_Frequency;
|
||||
+
|
||||
+typedef struct _DXVA2_ConfigPictureDecode
|
||||
+{
|
||||
+ GUID guidConfigBitstreamEncryption;
|
||||
+ GUID guidConfigMBcontrolEncryption;
|
||||
+ GUID guidConfigResidDiffEncryption;
|
||||
+ UINT ConfigBitstreamRaw;
|
||||
+ UINT ConfigMBcontrolRasterOrder;
|
||||
+ UINT ConfigResidDiffHost;
|
||||
+ UINT ConfigSpatialResid8;
|
||||
+ UINT ConfigResid8Subtraction;
|
||||
+ UINT ConfigSpatialHost8or9Clipping;
|
||||
+ UINT ConfigSpatialResidInterleaved;
|
||||
+ UINT ConfigIntraResidUnsigned;
|
||||
+ UINT ConfigResidDiffAccelerator;
|
||||
+ UINT ConfigHostInverseScan;
|
||||
+ UINT ConfigSpecificIDCT;
|
||||
+ UINT Config4GroupedCoefs;
|
||||
+ UINT ConfigMinRenderTargetBuffCount;
|
||||
+ USHORT ConfigDecoderSpecific;
|
||||
+} DXVA2_ConfigPictureDecode;
|
||||
+
|
||||
+typedef struct _DXVA2_VideoDesc
|
||||
+{
|
||||
+ UINT SampleWidth;
|
||||
+ UINT SampleHeight;
|
||||
+ DXVA2_ExtendedFormat SampleFormat;
|
||||
+ D3DFORMAT Format;
|
||||
+ DXVA2_Frequency InputSampleFreq;
|
||||
+ DXVA2_Frequency OutputFrameFreq;
|
||||
+ UINT UABProtectionLevel;
|
||||
+ UINT Reserved;
|
||||
+} DXVA2_VideoDesc;
|
||||
+
|
||||
+typedef struct _DXVA2_DecodeBufferDesc
|
||||
+{
|
||||
+ DWORD CompressedBufferType;
|
||||
+ UINT BufferIndex;
|
||||
+ UINT DataOffset;
|
||||
+ UINT DataSize;
|
||||
+ UINT FirstMBaddress;
|
||||
+ UINT NumMBsInBuffer;
|
||||
+ UINT Width;
|
||||
+ UINT Height;
|
||||
+ UINT Stride;
|
||||
+ UINT ReservedBits;
|
||||
+ PVOID pvPVPState;
|
||||
+} DXVA2_DecodeBufferDesc;
|
||||
+
|
||||
+typedef struct _DXVA2_DecodeExtensionData
|
||||
+{
|
||||
+ UINT Function;
|
||||
+ PVOID pPrivateInputData;
|
||||
+ UINT PrivateInputDataSize;
|
||||
+ PVOID pPrivateOutputData;
|
||||
+ UINT PrivateOutputDataSize;
|
||||
+} DXVA2_DecodeExtensionData;
|
||||
+
|
||||
+typedef struct _DXVA2_DecodeExecuteParams
|
||||
+{
|
||||
+ UINT NumCompBuffers;
|
||||
+ DXVA2_DecodeBufferDesc* pCompressedBuffers;
|
||||
+ DXVA2_DecodeExtensionData* pExtensionData;
|
||||
+} DXVA2_DecodeExecuteParams;
|
||||
+
|
||||
+typedef struct _DXVA2_VideoProcessorCaps
|
||||
+{
|
||||
+ UINT DeviceCaps;
|
||||
+ D3DPOOL InputPool;
|
||||
+ UINT NumForwardRefSamples;
|
||||
+ UINT NumBackwardRefSamples;
|
||||
+ UINT Reserved;
|
||||
+ UINT DeinterlaceTechnology;
|
||||
+ UINT ProcAmpControlCaps;
|
||||
+ UINT VideoProcessorOperations;
|
||||
+ UINT NoiseFilterTechnology;
|
||||
+ UINT DetailFilterTechnology;
|
||||
+} DXVA2_VideoProcessorCaps;
|
||||
+
|
||||
+typedef struct _DXVA2_Fixed32
|
||||
+{
|
||||
+ union
|
||||
+ {
|
||||
+ struct
|
||||
+ {
|
||||
+ USHORT Fraction;
|
||||
+ SHORT Value;
|
||||
+ };
|
||||
+ LONG ll;
|
||||
+ };
|
||||
+} DXVA2_Fixed32;
|
||||
+
|
||||
+typedef struct _DXVA2_ValueRange
|
||||
+{
|
||||
+ DXVA2_Fixed32 MinValue;
|
||||
+ DXVA2_Fixed32 MaxValue;
|
||||
+ DXVA2_Fixed32 DefaultValue;
|
||||
+ DXVA2_Fixed32 StepSize;
|
||||
+} DXVA2_ValueRange;
|
||||
+
|
||||
+typedef struct _DXVA2_AYUVSample8
|
||||
+{
|
||||
+ UCHAR Cr;
|
||||
+ UCHAR Cb;
|
||||
+ UCHAR Y;
|
||||
+ UCHAR Alpha;
|
||||
+} DXVA2_AYUVSample8;
|
||||
+
|
||||
+typedef struct _DXVA2_AYUVSample16
|
||||
+{
|
||||
+ USHORT Cr;
|
||||
+ USHORT Cb;
|
||||
+ USHORT Y;
|
||||
+ USHORT Alpha;
|
||||
+} DXVA2_AYUVSample16;
|
||||
+
|
||||
+typedef struct _DXVA2_ProcAmpValues
|
||||
+{
|
||||
+ DXVA2_Fixed32 Brightness;
|
||||
+ DXVA2_Fixed32 Contrast;
|
||||
+ DXVA2_Fixed32 Hue;
|
||||
+ DXVA2_Fixed32 Saturation;
|
||||
+} DXVA2_ProcAmpValues;
|
||||
+
|
||||
+typedef struct _DXVA2_FilterValues
|
||||
+{
|
||||
+ DXVA2_Fixed32 Level;
|
||||
+ DXVA2_Fixed32 Threshold;
|
||||
+ DXVA2_Fixed32 Radius;
|
||||
+} DXVA2_FilterValues;
|
||||
+
|
||||
+typedef struct _DXVA2_VideoProcessBltParams
|
||||
+{
|
||||
+ REFERENCE_TIME TargetFrame;
|
||||
+ RECT TargetRect;
|
||||
+ SIZE ConstrictionSize;
|
||||
+ UINT StreamingFlags;
|
||||
+ DXVA2_AYUVSample16 BackgroundColor;
|
||||
+ DXVA2_ExtendedFormat DestFormat;
|
||||
+ DXVA2_ProcAmpValues ProcAmpValues;
|
||||
+ DXVA2_Fixed32 Alpha;
|
||||
+ DXVA2_FilterValues NoiseFilterLuma;
|
||||
+ DXVA2_FilterValues NoiseFilterChroma;
|
||||
+ DXVA2_FilterValues DetailFilterLuma;
|
||||
+ DXVA2_FilterValues DetailFilterChroma;
|
||||
+ DWORD DestData;
|
||||
+} DXVA2_VideoProcessBltParams;
|
||||
+
|
||||
+typedef struct _DXVA2_VideoSample
|
||||
+{
|
||||
+ REFERENCE_TIME Start;
|
||||
+ REFERENCE_TIME End;
|
||||
+ DXVA2_ExtendedFormat SampleFormat;
|
||||
+ IDirect3DSurface9* SrcSurface;
|
||||
+ RECT SrcRect;
|
||||
+ RECT DstRect;
|
||||
+ DXVA2_AYUVSample8 Pal[16];
|
||||
+ DXVA2_Fixed32 PlanarAlpha;
|
||||
+ DWORD SampleData;
|
||||
+} DXVA2_VideoSample;
|
||||
+
|
||||
+interface IDirectXVideoDecoder;
|
||||
+interface IDirectXVideoProcessor;
|
||||
+
|
||||
+/*****************************************************************************
|
||||
+ * IDirect3DDeviceManager9 interface
|
||||
+ */
|
||||
+[
|
||||
+ object,
|
||||
+ uuid(a0cade0f-06d5-4cf4-a1c7-f3cdd725aa75),
|
||||
+ helpstring("IDirect3DDeviceManager9 Interface"),
|
||||
+ local
|
||||
+]
|
||||
+interface IDirect3DDeviceManager9 : IUnknown
|
||||
+{
|
||||
+ HRESULT ResetDevice(
|
||||
+ [in] IDirect3DDevice9* pDevice,
|
||||
+ [in] UINT resetToken);
|
||||
+
|
||||
+ HRESULT OpenDeviceHandle(
|
||||
+ [out] HANDLE* phDevice);
|
||||
+
|
||||
+ HRESULT CloseDeviceHandle(
|
||||
+ [in] HANDLE hDevice);
|
||||
+
|
||||
+ HRESULT TestDevice(
|
||||
+ [in] HANDLE hDevice);
|
||||
+
|
||||
+ HRESULT LockDevice(
|
||||
+ [in] HANDLE hDevice,
|
||||
+ [out] IDirect3DDevice9** ppDevice,
|
||||
+ [in] BOOL fBlock);
|
||||
+
|
||||
+ HRESULT UnlockDevice(
|
||||
+ [in] HANDLE hDevice,
|
||||
+ [in] BOOL fSaveState);
|
||||
+
|
||||
+ HRESULT GetVideoService(
|
||||
+ [in] HANDLE hDevice,
|
||||
+ [in] REFIID riid,
|
||||
+ [out] void** ppService);
|
||||
+};
|
||||
+
|
||||
+/*****************************************************************************
|
||||
+ * IDirectXVideoAccelerationService interface
|
||||
+ */
|
||||
+[
|
||||
+ object,
|
||||
+ uuid(fc51a550-d5e7-11d9-af55-00054e43ff02),
|
||||
+ helpstring("IDirectXVideoAccelerationService Interface"),
|
||||
+ local
|
||||
+]
|
||||
+interface IDirectXVideoAccelerationService : IUnknown
|
||||
+{
|
||||
+ HRESULT CreateSurface(
|
||||
+ [in] UINT width,
|
||||
+ [in] UINT height,
|
||||
+ [in] UINT backBuffers,
|
||||
+ [in] D3DFORMAT format,
|
||||
+ [in] D3DPOOL pool,
|
||||
+ [in] DWORD usage,
|
||||
+ [in] DWORD dxvaType,
|
||||
+ [out] IDirect3DSurface9 **ppSurface,
|
||||
+ [in, out] HANDLE *pSharedHandle);
|
||||
+};
|
||||
+
|
||||
+/*****************************************************************************
|
||||
+ * IDirectXVideoDecoderService interface
|
||||
+ */
|
||||
+[
|
||||
+ object,
|
||||
+ uuid(fc51a551-d5e7-11d9-af55-00054e43ff02),
|
||||
+ helpstring("IDirectXVideoDecoderService Interface"),
|
||||
+ local
|
||||
+]
|
||||
+interface IDirectXVideoDecoderService : IDirectXVideoAccelerationService
|
||||
+{
|
||||
+ HRESULT CreateVideoDecoder(
|
||||
+ [in] REFGUID guid,
|
||||
+ [in] const DXVA2_VideoDesc *pVideoDesc,
|
||||
+ [in] DXVA2_ConfigPictureDecode *pConfig,
|
||||
+ [in] IDirect3DSurface9 **ppDecoderRenderTargets,
|
||||
+ [in] UINT NumSurfaces,
|
||||
+ [out] IDirectXVideoDecoder **ppDecode);
|
||||
+
|
||||
+ HRESULT GetDecoderConfigurations(
|
||||
+ [in] REFGUID guid,
|
||||
+ [in] const DXVA2_VideoDesc *pVideoDesc,
|
||||
+ [in] IUnknown *pReserved,
|
||||
+ [out] UINT *pCount,
|
||||
+ [out] DXVA2_ConfigPictureDecode **ppConfigs);
|
||||
+
|
||||
+ HRESULT GetDecoderDeviceGuids(
|
||||
+ [out] UINT *count,
|
||||
+ [out] GUID **pGuids);
|
||||
+
|
||||
+ HRESULT GetDecoderRenderTargets(
|
||||
+ [in] REFGUID guid,
|
||||
+ [out] UINT *pCount,
|
||||
+ [out] D3DFORMAT **pFormats);
|
||||
+};
|
||||
+
|
||||
+/*****************************************************************************
|
||||
+ * IDirectXVideoDecoder interface
|
||||
+ */
|
||||
+[
|
||||
+ object,
|
||||
+ uuid(f2b0810a-fd00-43c9-918c-df94e2d8ef7d),
|
||||
+ helpstring("IDirectXVideoDecoder Interface"),
|
||||
+ local
|
||||
+]
|
||||
+interface IDirectXVideoDecoder : IUnknown
|
||||
+{
|
||||
+ HRESULT GetVideoDecoderService(
|
||||
+ [out] IDirectXVideoDecoderService** ppService);
|
||||
+
|
||||
+ HRESULT GetCreationParameters(
|
||||
+ [out] GUID* pDeviceGuid,
|
||||
+ [out] DXVA2_VideoDesc* pVideoDesc,
|
||||
+ [out] DXVA2_ConfigPictureDecode* pConfig,
|
||||
+ [out] IDirect3DSurface9*** pDecoderRenderTargets,
|
||||
+ [out] UINT* pNumSurfaces);
|
||||
+
|
||||
+ HRESULT GetBuffer(
|
||||
+ [in] UINT BufferType,
|
||||
+ [out] void** ppBuffer,
|
||||
+ [out] UINT* pBufferSize);
|
||||
+
|
||||
+ HRESULT ReleaseBuffer(
|
||||
+ [in] UINT BufferType);
|
||||
+
|
||||
+ HRESULT BeginFrame(
|
||||
+ [in] IDirect3DSurface9* pRenderTarget,
|
||||
+ [in] void* pvPVPData);
|
||||
+
|
||||
+ HRESULT EndFrame(
|
||||
+ [out] HANDLE* pHandleComplete);
|
||||
+
|
||||
+ HRESULT Execute(
|
||||
+ [in] const DXVA2_DecodeExecuteParams* pExecuteParams);
|
||||
+};
|
||||
+
|
||||
+/*****************************************************************************
|
||||
+ * IDirectXVideoProcessorService interface
|
||||
+ */
|
||||
+[
|
||||
+ object,
|
||||
+ uuid(fc51a551-d5e7-11d9-af55-00054e43ff02),
|
||||
+ helpstring("IDirectXVideoProcessorService Interface"),
|
||||
+ local
|
||||
+]
|
||||
+interface IDirectXVideoProcessorService : IDirectXVideoAccelerationService
|
||||
+{
|
||||
+ HRESULT RegisterVideoProcessorSoftwareDevice(
|
||||
+ [in] void* pCallbacks);
|
||||
+
|
||||
+ HRESULT GetVideoProcessorDeviceGuids(
|
||||
+ [in] const DXVA2_VideoDesc* pVideoDesc,
|
||||
+ [out] UINT* pCount,
|
||||
+ [out] GUID** pGuids);
|
||||
+
|
||||
+ HRESULT GetVideoProcessorRenderTargets(
|
||||
+ [in] REFGUID VideoProcDeviceGuid,
|
||||
+ [in] const DXVA2_VideoDesc* pVideoDesc,
|
||||
+ [out] UINT* pCount,
|
||||
+ [out] D3DFORMAT** pFormats);
|
||||
+
|
||||
+ HRESULT GetVideoProcessorSubStreamFormats(
|
||||
+ [in] REFGUID VideoProcDeviceGuid,
|
||||
+ [in] const DXVA2_VideoDesc* pVideoDesc,
|
||||
+ [in] D3DFORMAT RenderTargetFormat,
|
||||
+ [out] UINT* pCount,
|
||||
+ [out] D3DFORMAT** pFormats);
|
||||
+
|
||||
+ HRESULT GetVideoProcessorCaps(
|
||||
+ [in] REFGUID VideoProcDeviceGuid,
|
||||
+ [in] const DXVA2_VideoDesc* pVideoDesc,
|
||||
+ [in] D3DFORMAT RenderTargetFormat,
|
||||
+ [out] DXVA2_VideoProcessorCaps* pCaps);
|
||||
+
|
||||
+ HRESULT GetProcAmpRange(
|
||||
+ [in] REFGUID VideoProcDeviceGuid,
|
||||
+ [in] const DXVA2_VideoDesc* pVideoDesc,
|
||||
+ [in] D3DFORMAT RenderTargetFormat,
|
||||
+ [in] UINT ProcAmpCap,
|
||||
+ [out] DXVA2_ValueRange* pRange);
|
||||
+
|
||||
+ HRESULT GetFilterPropertyRange(
|
||||
+ [in] REFGUID VideoProcDeviceGuid,
|
||||
+ [in] const DXVA2_VideoDesc* pVideoDesc,
|
||||
+ [in] D3DFORMAT renderTargetFormat,
|
||||
+ [in] UINT FilterSetting,
|
||||
+ [out] DXVA2_ValueRange* pRange);
|
||||
+
|
||||
+ HRESULT CreateVideoProcessor(
|
||||
+ [in] REFGUID VideoProcDeviceGuid,
|
||||
+ [in] const DXVA2_VideoDesc* pVideoDesc,
|
||||
+ [in] D3DFORMAT RenderTargetFormat,
|
||||
+ [in] UINT MaxNumSubStreams,
|
||||
+ [out] IDirectXVideoProcessor** ppVidProcess);
|
||||
+};
|
||||
+
|
||||
+/*****************************************************************************
|
||||
+ * IDirectXVideoProcessor interface
|
||||
+ */
|
||||
+[
|
||||
+ object,
|
||||
+ uuid(8c3a39f0-916e-4690-804f-4c8001355d25),
|
||||
+ helpstring("IDirectXVideoProcessor Interface"),
|
||||
+ local
|
||||
+]
|
||||
+interface IDirectXVideoProcessor : IUnknown
|
||||
+{
|
||||
+ HRESULT GetVideoProcessorService(
|
||||
+ [out] IDirectXVideoProcessorService** ppService);
|
||||
+
|
||||
+ HRESULT GetCreationParameters(
|
||||
+ [out] GUID* pDeviceGuid,
|
||||
+ [out] DXVA2_VideoDesc* pVideoDesc,
|
||||
+ [out] D3DFORMAT* pRenderTargetFormat,
|
||||
+ [out] UINT* pMaxNumSubStreams);
|
||||
+
|
||||
+ HRESULT GetVideoProcessorCaps(
|
||||
+ [out] DXVA2_VideoProcessorCaps* pCaps);
|
||||
+
|
||||
+ HRESULT GetProcAmpRange(
|
||||
+ [in] UINT ProcAmpCap,
|
||||
+ [out] DXVA2_ValueRange* pRange);
|
||||
+
|
||||
+ HRESULT GetFilterPropertyRange(
|
||||
+ [in] UINT FilterSetting,
|
||||
+ [out] DXVA2_ValueRange* pRange);
|
||||
+
|
||||
+ HRESULT VideoProcessBlt(
|
||||
+ [in] IDirect3DSurface9* pRenderTarget,
|
||||
+ [in] const DXVA2_VideoProcessBltParams* pBltParams,
|
||||
+ [in] const DXVA2_VideoSample* pSamples,
|
||||
+ [in] UINT NumSamples,
|
||||
+ [out] HANDLE* pHandleCompleteIDirect3DDeviceManager9);
|
||||
+};
|
||||
--
|
||||
1.7.9.5
|
||||
|
@ -0,0 +1,60 @@
|
||||
From e9681f3d80f1900071d56a5a008424453f39a304 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Wed, 26 Mar 2014 05:20:09 +0100
|
||||
Subject: include: Add PhysicalMonitorEnumerationAPI.h
|
||||
|
||||
---
|
||||
include/Makefile.in | 1 +
|
||||
include/PhysicalMonitorEnumerationAPI.h | 27 +++++++++++++++++++++++++++
|
||||
2 files changed, 28 insertions(+)
|
||||
create mode 100644 include/PhysicalMonitorEnumerationAPI.h
|
||||
|
||||
diff --git a/include/Makefile.in b/include/Makefile.in
|
||||
index d6997db..fd4f7c1 100644
|
||||
--- a/include/Makefile.in
|
||||
+++ b/include/Makefile.in
|
||||
@@ -475,6 +475,7 @@ SRCDIR_INCLUDES = \
|
||||
patchapi.h \
|
||||
pdh.h \
|
||||
pdhmsg.h \
|
||||
+ PhysicalMonitorEnumerationAPI.h \
|
||||
pktdef.h \
|
||||
poppack.h \
|
||||
powrprof.h \
|
||||
diff --git a/include/PhysicalMonitorEnumerationAPI.h b/include/PhysicalMonitorEnumerationAPI.h
|
||||
new file mode 100644
|
||||
index 0000000..33b1c68
|
||||
--- /dev/null
|
||||
+++ b/include/PhysicalMonitorEnumerationAPI.h
|
||||
@@ -0,0 +1,27 @@
|
||||
+/*
|
||||
+ * Copyright Michael Müller for Pipelight
|
||||
+ *
|
||||
+ * 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
|
||||
+ */
|
||||
+
|
||||
+#include <windows.h>
|
||||
+
|
||||
+#define PHYSICAL_MONITOR_DESCRIPTION_SIZE 128
|
||||
+
|
||||
+typedef struct _PHYSICAL_MONITOR
|
||||
+{
|
||||
+ HANDLE hPhysicalMonitor;
|
||||
+ WCHAR szPhysicalMonitorDescription[PHYSICAL_MONITOR_DESCRIPTION_SIZE];
|
||||
+} PHYSICAL_MONITOR, *LPPHYSICAL_MONITOR;
|
||||
\ No newline at end of file
|
||||
--
|
||||
1.7.9.5
|
||||
|
@ -0,0 +1,62 @@
|
||||
From 1e3a30b0fac3c5a9d8283f404334ade4e4f44104 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Wed, 26 Mar 2014 05:24:03 +0100
|
||||
Subject: include: Add LowLevelMonitorConfigurationAPI.h
|
||||
|
||||
---
|
||||
include/LowLevelMonitorConfigurationAPI.h | 30 +++++++++++++++++++++++++++++
|
||||
include/Makefile.in | 1 +
|
||||
2 files changed, 31 insertions(+)
|
||||
create mode 100644 include/LowLevelMonitorConfigurationAPI.h
|
||||
|
||||
diff --git a/include/LowLevelMonitorConfigurationAPI.h b/include/LowLevelMonitorConfigurationAPI.h
|
||||
new file mode 100644
|
||||
index 0000000..dda1174
|
||||
--- /dev/null
|
||||
+++ b/include/LowLevelMonitorConfigurationAPI.h
|
||||
@@ -0,0 +1,30 @@
|
||||
+/*
|
||||
+ * Copyright Michael Müller for Pipelight
|
||||
+ *
|
||||
+ * 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
|
||||
+ */
|
||||
+
|
||||
+typedef struct _MC_TIMING_REPORT
|
||||
+{
|
||||
+ BYTE bTimingStatusByte;
|
||||
+ DWORD dwHorizontalFrequencyInHZ;
|
||||
+ DWORD dwVerticalFrequencyInHZ;
|
||||
+} MC_TIMING_REPORT, *LPMC_TIMING_REPORT;
|
||||
+
|
||||
+typedef enum _MC_VCP_CODE_TYPE
|
||||
+{
|
||||
+ MC_MOMENTARY,
|
||||
+ MC_SET_PARAMETER
|
||||
+} MC_VCP_CODE_TYPE, *LPMC_VCP_CODE_TYPE;
|
||||
diff --git a/include/Makefile.in b/include/Makefile.in
|
||||
index fd4f7c1..ce30aa6 100644
|
||||
--- a/include/Makefile.in
|
||||
+++ b/include/Makefile.in
|
||||
@@ -373,6 +373,7 @@ SRCDIR_INCLUDES = \
|
||||
lmuseflg.h \
|
||||
lmwksta.h \
|
||||
loadperf.h \
|
||||
+ LowLevelMonitorConfigurationAPI.h \
|
||||
lzexpand.h \
|
||||
mapi.h \
|
||||
mapicode.h \
|
||||
--
|
||||
1.7.9.5
|
||||
|
@ -0,0 +1,101 @@
|
||||
From 505fa26a6bf60858f35c45982fefcba41cd27d5a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Wed, 26 Mar 2014 05:26:25 +0100
|
||||
Subject: include: Add HighLevelMonitorConfigurationAPI.h
|
||||
|
||||
---
|
||||
include/HighLevelMonitorConfigurationAPI.h | 69 ++++++++++++++++++++++++++++
|
||||
include/Makefile.in | 1 +
|
||||
2 files changed, 70 insertions(+)
|
||||
create mode 100644 include/HighLevelMonitorConfigurationAPI.h
|
||||
|
||||
diff --git a/include/HighLevelMonitorConfigurationAPI.h b/include/HighLevelMonitorConfigurationAPI.h
|
||||
new file mode 100644
|
||||
index 0000000..edcc1d2
|
||||
--- /dev/null
|
||||
+++ b/include/HighLevelMonitorConfigurationAPI.h
|
||||
@@ -0,0 +1,69 @@
|
||||
+/*
|
||||
+ * Copyright Michael Müller for Pipelight
|
||||
+ *
|
||||
+ * 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
|
||||
+ */
|
||||
+
|
||||
+typedef enum _MC_COLOR_TEMPERATURE
|
||||
+{
|
||||
+ MC_COLOR_TEMPERATURE_UNKNOWN,
|
||||
+ MC_COLOR_TEMPERATURE_4000K,
|
||||
+ MC_COLOR_TEMPERATURE_5000K,
|
||||
+ MC_COLOR_TEMPERATURE_6500K,
|
||||
+ MC_COLOR_TEMPERATURE_7500K,
|
||||
+ MC_COLOR_TEMPERATURE_8200K,
|
||||
+ MC_COLOR_TEMPERATURE_9300K,
|
||||
+ MC_COLOR_TEMPERATURE_10000K,
|
||||
+ MC_COLOR_TEMPERATURE_11500K
|
||||
+} MC_COLOR_TEMPERATURE, *LPMC_COLOR_TEMPERATURE;
|
||||
+
|
||||
+typedef enum _MC_POSITION_TYPE
|
||||
+{
|
||||
+ MC_HORIZONTAL_POSITION = 0,
|
||||
+ MC_VERTICAL_POSITION = 1
|
||||
+} MC_POSITION_TYPE;
|
||||
+
|
||||
+typedef enum _MC_SIZE_TYPE
|
||||
+{
|
||||
+ MC_WIDTH = 0,
|
||||
+ MC_HEIGHT = 1
|
||||
+} MC_SIZE_TYPE;
|
||||
+
|
||||
+typedef enum _MC_DRIVE_TYPE
|
||||
+{
|
||||
+ MC_RED_DRIVE = 0,
|
||||
+ MC_GREEN_DRIVE = 1,
|
||||
+ MC_BLUE_DRIVE = 2
|
||||
+} MC_DRIVE_TYPE;
|
||||
+
|
||||
+typedef enum _MC_GAIN_TYPE
|
||||
+{
|
||||
+ MC_RED_GAIN = 0,
|
||||
+ MC_GREEN_GAIN = 1,
|
||||
+ MC_BLUE_GAIN = 2
|
||||
+} MC_GAIN_TYPE;
|
||||
+
|
||||
+typedef enum _MC_DISPLAY_TECHNOLOGY_TYPE
|
||||
+{
|
||||
+ MC_SHADOW_MASK_CATHODE_RAY_TUBE,
|
||||
+ MC_APERTURE_GRILL_CATHODE_RAY_TUBE,
|
||||
+ MC_THIN_FILM_TRANSISTOR,
|
||||
+ MC_LIQUID_CRYSTAL_ON_SILICON,
|
||||
+ MC_PLASMA,
|
||||
+ MC_ORGANIC_LIGHT_EMITTING_DIODE,
|
||||
+ MC_ELECTROLUMINESCENT,
|
||||
+ MC_MICROELECTROMECHANICAL,
|
||||
+ MC_FIELD_EMISSION_DEVICE
|
||||
+} MC_DISPLAY_TECHNOLOGY_TYPE, *LPMC_DISPLAY_TECHNOLOGY_TYPE;
|
||||
diff --git a/include/Makefile.in b/include/Makefile.in
|
||||
index ce30aa6..da8e75d 100644
|
||||
--- a/include/Makefile.in
|
||||
+++ b/include/Makefile.in
|
||||
@@ -330,6 +330,7 @@ SRCDIR_INCLUDES = \
|
||||
gdipluspixelformats.h \
|
||||
gdiplustypes.h \
|
||||
guiddef.h \
|
||||
+ HighLevelMonitorConfigurationAPI.h \
|
||||
hlguids.h \
|
||||
htmlhelp.h \
|
||||
http.h \
|
||||
--
|
||||
1.7.9.5
|
||||
|
@ -0,0 +1,400 @@
|
||||
From 1c3379da1c8615f03acce7c441b3d511245212eb Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Wed, 26 Mar 2014 05:32:36 +0100
|
||||
Subject: dxva2: Add implementation for stub functions
|
||||
|
||||
---
|
||||
dlls/dxva2/dxva2.spec | 72 ++++++------
|
||||
dlls/dxva2/main.c | 295 +++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 331 insertions(+), 36 deletions(-)
|
||||
|
||||
diff --git a/dlls/dxva2/dxva2.spec b/dlls/dxva2/dxva2.spec
|
||||
index da94df3..024a972 100644
|
||||
--- a/dlls/dxva2/dxva2.spec
|
||||
+++ b/dlls/dxva2/dxva2.spec
|
||||
@@ -1,37 +1,37 @@
|
||||
-@ stub CapabilitiesRequestAndCapabilitiesReply
|
||||
-@ stub DXVA2CreateDirect3DDeviceManager9
|
||||
-@ stub DXVA2CreateVideoService
|
||||
-@ stub DegaussMonitor
|
||||
-@ stub DestroyPhysicalMonitor
|
||||
-@ stub DestroyPhysicalMonitors
|
||||
-@ stub GetCapabilitiesStringLength
|
||||
-@ stub GetMonitorBrightness
|
||||
-@ stub GetMonitorCapabilities
|
||||
-@ stub GetMonitorColorTemperature
|
||||
-@ stub GetMonitorContrast
|
||||
-@ stub GetMonitorDisplayAreaPosition
|
||||
-@ stub GetMonitorDisplayAreaSize
|
||||
-@ stub GetMonitorRedGreenOrBlueDrive
|
||||
-@ stub GetMonitorRedGreenOrBlueGain
|
||||
-@ stub GetMonitorTechnologyType
|
||||
-@ stub GetNumberOfPhysicalMonitorsFromHMONITOR
|
||||
-@ stub GetNumberOfPhysicalMonitorsFromIDirect3DDevice9
|
||||
-@ stub GetPhysicalMonitorsFromHMONITOR
|
||||
-@ stub GetPhysicalMonitorsFromIDirect3DDevice9
|
||||
-@ stub GetTimingReport
|
||||
-@ stub GetVCPFeatureAndVCPFeatureReply
|
||||
-@ stub OPMGetVideoOutputsFromHMONITOR
|
||||
-@ stub OPMGetVideoOutputsFromIDirect3DDevice9Object
|
||||
-@ stub RestoreMonitorFactoryColorDefaults
|
||||
-@ stub RestoreMonitorFactoryDefaults
|
||||
-@ stub SaveCurrentMonitorSettings
|
||||
-@ stub SaveCurrentSettings
|
||||
-@ stub SetMonitorBrightness
|
||||
-@ stub SetMonitorColorTemperature
|
||||
-@ stub SetMonitorContrast
|
||||
-@ stub SetMonitorDisplayAreaPosition
|
||||
-@ stub SetMonitorDisplayAreaSize
|
||||
-@ stub SetMonitorRedGreenOrBlueDrive
|
||||
-@ stub SetMonitorRedGreenOrBlueGain
|
||||
-@ stub SetVCPFeature
|
||||
+@ stdcall CapabilitiesRequestAndCapabilitiesReply(ptr ptr long)
|
||||
+@ stdcall DXVA2CreateDirect3DDeviceManager9(ptr ptr)
|
||||
+@ stdcall DXVA2CreateVideoService(ptr ptr ptr)
|
||||
+@ stdcall DegaussMonitor(ptr)
|
||||
+@ stdcall DestroyPhysicalMonitor(ptr)
|
||||
+@ stdcall DestroyPhysicalMonitors(long ptr)
|
||||
+@ stdcall GetCapabilitiesStringLength(ptr ptr)
|
||||
+@ stdcall GetMonitorBrightness(ptr ptr ptr ptr)
|
||||
+@ stdcall GetMonitorCapabilities(ptr ptr ptr)
|
||||
+@ stdcall GetMonitorColorTemperature(ptr ptr)
|
||||
+@ stdcall GetMonitorContrast(ptr ptr ptr ptr)
|
||||
+@ stdcall GetMonitorDisplayAreaPosition(ptr long ptr ptr ptr)
|
||||
+@ stdcall GetMonitorDisplayAreaSize(ptr long ptr ptr ptr)
|
||||
+@ stdcall GetMonitorRedGreenOrBlueDrive(ptr long ptr ptr ptr)
|
||||
+@ stdcall GetMonitorRedGreenOrBlueGain(ptr long ptr ptr ptr)
|
||||
+@ stdcall GetMonitorTechnologyType(ptr ptr)
|
||||
+@ stdcall GetNumberOfPhysicalMonitorsFromHMONITOR(ptr ptr)
|
||||
+@ stdcall GetNumberOfPhysicalMonitorsFromIDirect3DDevice9(ptr ptr)
|
||||
+@ stdcall GetPhysicalMonitorsFromHMONITOR(ptr long ptr)
|
||||
+@ stdcall GetPhysicalMonitorsFromIDirect3DDevice9(ptr long ptr)
|
||||
+@ stdcall GetTimingReport(ptr ptr)
|
||||
+@ stdcall GetVCPFeatureAndVCPFeatureReply(ptr long ptr ptr ptr)
|
||||
+@ stdcall OPMGetVideoOutputsFromHMONITOR(ptr long ptr ptr)
|
||||
+@ stdcall OPMGetVideoOutputsFromIDirect3DDevice9Object(ptr long ptr ptr)
|
||||
+@ stdcall RestoreMonitorFactoryColorDefaults(ptr)
|
||||
+@ stdcall RestoreMonitorFactoryDefaults(ptr)
|
||||
+@ stdcall SaveCurrentMonitorSettings(ptr)
|
||||
+@ stdcall SaveCurrentSettings(ptr)
|
||||
+@ stdcall SetMonitorBrightness(ptr long)
|
||||
+@ stdcall SetMonitorColorTemperature(ptr long)
|
||||
+@ stdcall SetMonitorContrast(ptr long)
|
||||
+@ stdcall SetMonitorDisplayAreaPosition(ptr long long)
|
||||
+@ stdcall SetMonitorDisplayAreaSize(ptr long long)
|
||||
+@ stdcall SetMonitorRedGreenOrBlueDrive(ptr long long)
|
||||
+@ stdcall SetMonitorRedGreenOrBlueGain(ptr long long)
|
||||
+@ stdcall SetVCPFeature(ptr long long)
|
||||
@ stub UABGetCertificate
|
||||
diff --git a/dlls/dxva2/main.c b/dlls/dxva2/main.c
|
||||
index d16320f..f22e5d1 100644
|
||||
--- a/dlls/dxva2/main.c
|
||||
+++ b/dlls/dxva2/main.c
|
||||
@@ -21,9 +21,304 @@
|
||||
#include "winbase.h"
|
||||
|
||||
#include "wine/debug.h"
|
||||
+#include "dxva2api.h"
|
||||
+#include "PhysicalMonitorEnumerationAPI.h"
|
||||
+#include "LowLevelMonitorConfigurationAPI.h"
|
||||
+#include "HighLevelMonitorConfigurationAPI.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(dxva2);
|
||||
|
||||
+BOOL WINAPI CapabilitiesRequestAndCapabilitiesReply( HMONITOR monitor, LPSTR buffer, DWORD length )
|
||||
+{
|
||||
+ FIXME("(%p, %p, %d): stub\n", monitor, buffer, length);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+HRESULT WINAPI DXVA2CreateDirect3DDeviceManager9( UINT *resetToken, IDirect3DDeviceManager9 **dxvManager )
|
||||
+{
|
||||
+ FIXME("(%p, %p): stub\n", resetToken, dxvManager);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+HRESULT WINAPI DXVA2CreateVideoService( IDirect3DDevice9 *device, REFIID riid, void **ppv )
|
||||
+{
|
||||
+ FIXME("(%p, %s, %p): stub\n", device, debugstr_guid(riid), ppv);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI DegaussMonitor( HMONITOR monitor )
|
||||
+{
|
||||
+ FIXME("(%p): stub\n", monitor);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI DestroyPhysicalMonitor( HMONITOR monitor )
|
||||
+{
|
||||
+ FIXME("(%p): stub\n", monitor);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI DestroyPhysicalMonitors( DWORD arraySize, LPPHYSICAL_MONITOR array )
|
||||
+{
|
||||
+ FIXME("(0x%x, %p): stub\n", arraySize, array);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI GetCapabilitiesStringLength( HMONITOR monitor, LPDWORD length )
|
||||
+{
|
||||
+ FIXME("(%p, %p): stub\n", monitor, length);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI GetMonitorBrightness( HMONITOR monitor, LPDWORD minimum, LPDWORD current, LPDWORD maximum )
|
||||
+{
|
||||
+ FIXME("(%p, %p, %p, %p): stub\n", monitor, minimum, current, maximum);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI GetMonitorCapabilities( HMONITOR monitor, LPDWORD capabilities, LPDWORD temperatures )
|
||||
+{
|
||||
+ FIXME("(%p, %p, %p): stub\n", monitor, capabilities, temperatures);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+BOOL WINAPI GetMonitorColorTemperature( HMONITOR monitor, LPMC_COLOR_TEMPERATURE temperature )
|
||||
+{
|
||||
+ FIXME("(%p, %p): stub\n", monitor, temperature);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI GetMonitorContrast( HMONITOR monitor, LPDWORD minimum, LPDWORD current, LPDWORD maximum )
|
||||
+{
|
||||
+ FIXME("(%p, %p, %p, %p): stub\n", monitor, minimum, current, maximum);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI GetMonitorDisplayAreaPosition( HMONITOR monitor, MC_POSITION_TYPE type, LPDWORD minimum,
|
||||
+ LPDWORD current, LPDWORD maximum )
|
||||
+{
|
||||
+ FIXME("(%p, 0x%x, %p, %p, %p): stub\n", monitor, type, minimum, current, maximum);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI GetMonitorDisplayAreaSize( HMONITOR monitor, MC_SIZE_TYPE type, LPDWORD minimum,
|
||||
+ LPDWORD current, LPDWORD maximum )
|
||||
+{
|
||||
+ FIXME("(%p, 0x%x, %p, %p, %p): stub\n", monitor, type, minimum, current, maximum);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI GetMonitorRedGreenOrBlueDrive( HMONITOR monitor, MC_DRIVE_TYPE type, LPDWORD minimum,
|
||||
+ LPDWORD current, LPDWORD maximum )
|
||||
+{
|
||||
+ FIXME("(%p, 0x%x, %p, %p, %p): stub\n", monitor, type, minimum, current, maximum);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI GetMonitorRedGreenOrBlueGain( HMONITOR monitor, MC_GAIN_TYPE type, LPDWORD minimum,
|
||||
+ LPDWORD current, LPDWORD maximum )
|
||||
+{
|
||||
+ FIXME("(%p, 0x%x, %p, %p, %p): stub\n", monitor, type, minimum, current, maximum);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI GetMonitorTechnologyType( HMONITOR monitor, LPMC_DISPLAY_TECHNOLOGY_TYPE type )
|
||||
+{
|
||||
+ FIXME("(%p, %p): stub\n", monitor, type);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI GetNumberOfPhysicalMonitorsFromHMONITOR( HMONITOR monitor, LPDWORD number )
|
||||
+{
|
||||
+ FIXME("(%p, %p): stub\n", monitor, number);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+HRESULT WINAPI GetNumberOfPhysicalMonitorsFromIDirect3DDevice9( IDirect3DDevice9 *device, LPDWORD number )
|
||||
+{
|
||||
+ FIXME("(%p, %p): stub\n", device, number);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI GetPhysicalMonitorsFromHMONITOR( HMONITOR monitor, DWORD arraySize, LPPHYSICAL_MONITOR array )
|
||||
+{
|
||||
+ FIXME("(%p, 0x%x, %p): stub\n", monitor, arraySize, array);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+HRESULT WINAPI GetPhysicalMonitorsFromIDirect3DDevice9( IDirect3DDevice9 *device, DWORD arraySize, LPPHYSICAL_MONITOR array )
|
||||
+{
|
||||
+ FIXME("(%p, 0x%x, %p): stub\n", device, arraySize, array);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI GetTimingReport( HMONITOR monitor, LPMC_TIMING_REPORT timingReport )
|
||||
+{
|
||||
+ FIXME("(%p, %p): stub\n", monitor, timingReport);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI GetVCPFeatureAndVCPFeatureReply( HMONITOR monitor, BYTE vcpCode, LPMC_VCP_CODE_TYPE pvct,
|
||||
+ LPDWORD current, LPDWORD maximum )
|
||||
+{
|
||||
+ FIXME("(%p, 0x%02x, %p, %p, %p): stub\n", monitor, vcpCode, pvct, current, maximum);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+HRESULT WINAPI OPMGetVideoOutputsFromHMONITOR( HMONITOR monitor, /* OPM_VIDEO_OUTPUT_SEMANTICS */ int vos,
|
||||
+ ULONG *numVideoOutputs, /* IOPMVideoOutput */ void ***videoOutputs )
|
||||
+{
|
||||
+ FIXME("(%p, 0x%x, %p, %p): stub\n", monitor, vos, numVideoOutputs, videoOutputs);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+HRESULT WINAPI OPMGetVideoOutputsFromIDirect3DDevice9Object( IDirect3DDevice9 *device, /* OPM_VIDEO_OUTPUT_SEMANTICS */ int vos,
|
||||
+ ULONG *numVideoOutputs, /* IOPMVideoOutput */ void ***videoOutputs )
|
||||
+{
|
||||
+ FIXME("(%p, 0x%x, %p, %p): stub\n", device, vos, numVideoOutputs, videoOutputs);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI RestoreMonitorFactoryColorDefaults( HMONITOR monitor )
|
||||
+{
|
||||
+ FIXME("(%p): stub\n", monitor);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI RestoreMonitorFactoryDefaults( HMONITOR monitor )
|
||||
+{
|
||||
+ FIXME("(%p): stub\n", monitor);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI SaveCurrentMonitorSettings( HMONITOR monitor )
|
||||
+{
|
||||
+ FIXME("(%p): stub\n", monitor);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI SaveCurrentSettings( HMONITOR monitor )
|
||||
+{
|
||||
+ FIXME("(%p): stub\n", monitor);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI SetMonitorBrightness( HMONITOR monitor, DWORD brightness )
|
||||
+{
|
||||
+ FIXME("(%p, 0x%x): stub\n", monitor, brightness);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI SetMonitorColorTemperature( HMONITOR monitor, MC_COLOR_TEMPERATURE temperature )
|
||||
+{
|
||||
+ FIXME("(%p, 0x%x): stub\n", monitor, temperature);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI SetMonitorContrast( HMONITOR monitor, DWORD contrast )
|
||||
+{
|
||||
+ FIXME("(%p, 0x%x): stub\n", monitor, contrast);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI SetMonitorDisplayAreaPosition( HMONITOR monitor, MC_POSITION_TYPE type, DWORD position )
|
||||
+{
|
||||
+ FIXME("(%p, 0x%x, 0x%x): stub\n", monitor, type, position);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI SetMonitorDisplayAreaSize( HMONITOR monitor, MC_SIZE_TYPE type, DWORD size )
|
||||
+{
|
||||
+ FIXME("(%p, 0x%x, 0x%x): stub\n", monitor, type, size);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI SetMonitorRedGreenOrBlueDrive( HMONITOR monitor, MC_DRIVE_TYPE type, DWORD drive )
|
||||
+{
|
||||
+ FIXME("(%p, 0x%x, 0x%x): stub\n", monitor, type, drive);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI SetMonitorRedGreenOrBlueGain( HMONITOR monitor, MC_GAIN_TYPE type, DWORD gain )
|
||||
+{
|
||||
+ FIXME("(%p, 0x%x, 0x%x): stub\n", monitor, type, gain);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL WINAPI SetVCPFeature( HMONITOR monitor, BYTE vcpCode, DWORD value )
|
||||
+{
|
||||
+ FIXME("(%p, 0x%02x, 0x%x): stub\n", monitor, vcpCode, value);
|
||||
+
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
||||
{
|
||||
TRACE("%p,%x,%p\n", hinstDLL, fdwReason, lpvReserved);
|
||||
--
|
||||
1.7.9.5
|
||||
|
@ -0,0 +1,537 @@
|
||||
From a2ecf8ef503fea27bc72a6d0e690d43a5c44be54 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Wed, 26 Mar 2014 22:23:52 +0100
|
||||
Subject: dxva2: Implement stubs for IDirectXVideo{Acceleration, Decoder,
|
||||
Processor}Service interfaces
|
||||
|
||||
---
|
||||
dlls/dxva2/Makefile.in | 4 +-
|
||||
dlls/dxva2/dxva2_private.h | 3 +
|
||||
dlls/dxva2/main.c | 5 +-
|
||||
dlls/dxva2/videoservices.c | 467 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
4 files changed, 476 insertions(+), 3 deletions(-)
|
||||
create mode 100644 dlls/dxva2/dxva2_private.h
|
||||
create mode 100644 dlls/dxva2/videoservices.c
|
||||
|
||||
diff --git a/dlls/dxva2/Makefile.in b/dlls/dxva2/Makefile.in
|
||||
index 7b9ef6f..4b4d24f 100644
|
||||
--- a/dlls/dxva2/Makefile.in
|
||||
+++ b/dlls/dxva2/Makefile.in
|
||||
@@ -1,4 +1,6 @@
|
||||
MODULE = dxva2.dll
|
||||
+IMPORTS = ole32
|
||||
|
||||
C_SRCS = \
|
||||
- main.c
|
||||
+ main.c \
|
||||
+ videoservices.c
|
||||
diff --git a/dlls/dxva2/dxva2_private.h b/dlls/dxva2/dxva2_private.h
|
||||
new file mode 100644
|
||||
index 0000000..55e84c2
|
||||
--- /dev/null
|
||||
+++ b/dlls/dxva2/dxva2_private.h
|
||||
@@ -0,0 +1,3 @@
|
||||
+#include "dxva2api.h"
|
||||
+
|
||||
+HRESULT videoservices_create( IDirect3DDevice9 *device, REFIID riid, void **ppv );
|
||||
\ No newline at end of file
|
||||
diff --git a/dlls/dxva2/main.c b/dlls/dxva2/main.c
|
||||
index f22e5d1..7d23d1f 100644
|
||||
--- a/dlls/dxva2/main.c
|
||||
+++ b/dlls/dxva2/main.c
|
||||
@@ -22,6 +22,7 @@
|
||||
|
||||
#include "wine/debug.h"
|
||||
#include "dxva2api.h"
|
||||
+#include "dxva2_private.h"
|
||||
#include "PhysicalMonitorEnumerationAPI.h"
|
||||
#include "LowLevelMonitorConfigurationAPI.h"
|
||||
#include "HighLevelMonitorConfigurationAPI.h"
|
||||
@@ -45,9 +46,9 @@ HRESULT WINAPI DXVA2CreateDirect3DDeviceManager9( UINT *resetToken, IDirect3DDev
|
||||
|
||||
HRESULT WINAPI DXVA2CreateVideoService( IDirect3DDevice9 *device, REFIID riid, void **ppv )
|
||||
{
|
||||
- FIXME("(%p, %s, %p): stub\n", device, debugstr_guid(riid), ppv);
|
||||
+ TRACE("(%p, %s, %p)\n", device, debugstr_guid(riid), ppv);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ return videoservices_create( device, riid, ppv );
|
||||
}
|
||||
|
||||
BOOL WINAPI DegaussMonitor( HMONITOR monitor )
|
||||
diff --git a/dlls/dxva2/videoservices.c b/dlls/dxva2/videoservices.c
|
||||
new file mode 100644
|
||||
index 0000000..0374260
|
||||
--- /dev/null
|
||||
+++ b/dlls/dxva2/videoservices.c
|
||||
@@ -0,0 +1,467 @@
|
||||
+/*
|
||||
+ * Copyright 2014 Michael Müller for Pipelight
|
||||
+ *
|
||||
+ * 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
|
||||
+ */
|
||||
+
|
||||
+#define COBJMACROS
|
||||
+#define INITGUID
|
||||
+
|
||||
+#include <stdarg.h>
|
||||
+#include "windef.h"
|
||||
+#include "winbase.h"
|
||||
+
|
||||
+#include "wine/debug.h"
|
||||
+#include "dxva2api.h"
|
||||
+#include "dxva2_private.h"
|
||||
+#include "PhysicalMonitorEnumerationAPI.h"
|
||||
+#include "LowLevelMonitorConfigurationAPI.h"
|
||||
+#include "HighLevelMonitorConfigurationAPI.h"
|
||||
+
|
||||
+WINE_DEFAULT_DEBUG_CHANNEL(dxva2);
|
||||
+
|
||||
+/*****************************************************************************
|
||||
+ * IDirectXVideoAccelerationService interface
|
||||
+ */
|
||||
+
|
||||
+typedef struct
|
||||
+{
|
||||
+ const IDirectXVideoAccelerationServiceVtbl* lpVtbl;
|
||||
+ LONG refCount;
|
||||
+} DirectXVideoAccelerationServiceImpl;
|
||||
+
|
||||
+static inline DirectXVideoAccelerationServiceImpl *impl_from_IDirectXVideoAccelerationService( IDirectXVideoAccelerationService *iface )
|
||||
+{
|
||||
+ return (DirectXVideoAccelerationServiceImpl *)iface;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI DirectXVideoAccelerationService_QueryInterface( IDirectXVideoAccelerationService *iface, REFIID riid, LPVOID *ppv )
|
||||
+{
|
||||
+ DirectXVideoAccelerationServiceImpl *This = impl_from_IDirectXVideoAccelerationService(iface);
|
||||
+ TRACE("(%p/%p)->(%s, %p)\n", iface, This, debugstr_guid(riid), ppv);
|
||||
+
|
||||
+ *ppv = NULL;
|
||||
+
|
||||
+ if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IDirectXVideoAccelerationService))
|
||||
+ *ppv = (LPVOID)iface;
|
||||
+
|
||||
+ if (*ppv)
|
||||
+ {
|
||||
+ IUnknown_AddRef((IUnknown *)(*ppv));
|
||||
+ return S_OK;
|
||||
+ }
|
||||
+
|
||||
+ FIXME("No interface for %s\n", debugstr_guid(riid));
|
||||
+ return E_NOINTERFACE;
|
||||
+}
|
||||
+
|
||||
+static ULONG WINAPI DirectXVideoAccelerationService_AddRef( IDirectXVideoAccelerationService *iface )
|
||||
+{
|
||||
+ DirectXVideoAccelerationServiceImpl *This = impl_from_IDirectXVideoAccelerationService(iface);
|
||||
+ ULONG refCount = InterlockedIncrement(&This->refCount);
|
||||
+
|
||||
+ TRACE("(%p)->() AddRef from %d\n", This, refCount - 1);
|
||||
+
|
||||
+ return refCount;
|
||||
+}
|
||||
+
|
||||
+static ULONG WINAPI DirectXVideoAccelerationService_Release( IDirectXVideoAccelerationService *iface )
|
||||
+{
|
||||
+ DirectXVideoAccelerationServiceImpl *This = impl_from_IDirectXVideoAccelerationService(iface);
|
||||
+ ULONG refCount = InterlockedDecrement(&This->refCount);
|
||||
+
|
||||
+ TRACE("(%p)->() Release from %d\n", This, refCount + 1);
|
||||
+
|
||||
+ if (!refCount)
|
||||
+ {
|
||||
+ TRACE("Destroying\n");
|
||||
+ CoTaskMemFree(This);
|
||||
+ }
|
||||
+
|
||||
+ return refCount;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI DirectXVideoAccelerationService_CreateSurface( IDirectXVideoAccelerationService *iface, UINT width, UINT height,
|
||||
+ UINT backBuffers, D3DFORMAT format, D3DPOOL pool, DWORD usage,
|
||||
+ DWORD dxvaType, IDirect3DSurface9 **ppSurface, HANDLE *pSharedHandle )
|
||||
+{
|
||||
+ DirectXVideoAccelerationServiceImpl *This = impl_from_IDirectXVideoAccelerationService(iface);
|
||||
+
|
||||
+ FIXME("(%p)->(%u, %u, %u, %#x, 0x%x, 0x%x, 0x%x, %p, %p): stub\n",
|
||||
+ This, width, height, backBuffers, format, pool, usage, dxvaType, ppSurface, pSharedHandle);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static const IDirectXVideoAccelerationServiceVtbl DirectXVideoAccelerationService_VTable =
|
||||
+{
|
||||
+ DirectXVideoAccelerationService_QueryInterface,
|
||||
+ DirectXVideoAccelerationService_AddRef,
|
||||
+ DirectXVideoAccelerationService_Release,
|
||||
+ DirectXVideoAccelerationService_CreateSurface
|
||||
+};
|
||||
+
|
||||
+
|
||||
+/*****************************************************************************
|
||||
+ * IDirectXVideoDecoderService interface
|
||||
+ */
|
||||
+
|
||||
+typedef struct
|
||||
+{
|
||||
+ const IDirectXVideoDecoderServiceVtbl* lpVtbl;
|
||||
+ LONG refCount;
|
||||
+} DirectXVideoDecoderServiceImpl;
|
||||
+
|
||||
+static inline DirectXVideoDecoderServiceImpl *impl_from_IDirectXVideoDecoderService( IDirectXVideoDecoderService *iface )
|
||||
+{
|
||||
+ return (DirectXVideoDecoderServiceImpl *)iface;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI DirectXVideoDecoderService_QueryInterface( IDirectXVideoDecoderService *iface, REFIID riid, LPVOID * ppv )
|
||||
+{
|
||||
+ DirectXVideoDecoderServiceImpl *This = impl_from_IDirectXVideoDecoderService(iface);
|
||||
+ TRACE("(%p/%p)->(%s, %p)\n", iface, This, debugstr_guid(riid), ppv);
|
||||
+
|
||||
+ *ppv = NULL;
|
||||
+
|
||||
+ if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IDirectXVideoDecoderService))
|
||||
+ *ppv = (LPVOID)iface;
|
||||
+
|
||||
+ if (*ppv)
|
||||
+ {
|
||||
+ IUnknown_AddRef((IUnknown *)(*ppv));
|
||||
+ return S_OK;
|
||||
+ }
|
||||
+
|
||||
+ FIXME("No interface for %s\n", debugstr_guid(riid));
|
||||
+ return E_NOINTERFACE;
|
||||
+}
|
||||
+
|
||||
+static ULONG WINAPI DirectXVideoDecoderService_AddRef( IDirectXVideoDecoderService *iface )
|
||||
+{
|
||||
+ DirectXVideoDecoderServiceImpl *This = impl_from_IDirectXVideoDecoderService(iface);
|
||||
+ ULONG refCount = InterlockedIncrement(&This->refCount);
|
||||
+
|
||||
+ TRACE("(%p)->() AddRef from %d\n", This, refCount - 1);
|
||||
+
|
||||
+ return refCount;
|
||||
+}
|
||||
+
|
||||
+static ULONG WINAPI DirectXVideoDecoderService_Release( IDirectXVideoDecoderService *iface )
|
||||
+{
|
||||
+ DirectXVideoDecoderServiceImpl *This = impl_from_IDirectXVideoDecoderService(iface);
|
||||
+ ULONG refCount = InterlockedDecrement(&This->refCount);
|
||||
+
|
||||
+ TRACE("(%p)->() Release from %d\n", This, refCount + 1);
|
||||
+
|
||||
+ if (!refCount)
|
||||
+ {
|
||||
+ TRACE("Destroying\n");
|
||||
+ CoTaskMemFree(This);
|
||||
+ }
|
||||
+
|
||||
+ return refCount;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI DirectXVideoDecoderService_CreateSurface( IDirectXVideoDecoderService *iface, UINT width, UINT height,
|
||||
+ UINT backBuffers, D3DFORMAT format, D3DPOOL pool, DWORD usage,
|
||||
+ DWORD dxvaType, IDirect3DSurface9 **ppSurface, HANDLE *pSharedHandle )
|
||||
+{
|
||||
+ DirectXVideoDecoderServiceImpl *This = impl_from_IDirectXVideoDecoderService(iface);
|
||||
+
|
||||
+ FIXME("(%p)->(%u, %u, %u, %#x, 0x%x, 0x%x, 0x%x, %p, %p): stub\n",
|
||||
+ This, width, height, backBuffers, format, pool, usage, dxvaType, ppSurface, pSharedHandle );
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI DirectXVideoDecoderService_CreateVideoDecoder( IDirectXVideoDecoderService *iface, REFGUID guid, const DXVA2_VideoDesc *pVideoDesc,
|
||||
+ DXVA2_ConfigPictureDecode *pConfig, IDirect3DSurface9 **ppDecoderRenderTargets,
|
||||
+ UINT NumSurfaces, IDirectXVideoDecoder **ppDecode )
|
||||
+{
|
||||
+ DirectXVideoDecoderServiceImpl *This = impl_from_IDirectXVideoDecoderService(iface);
|
||||
+
|
||||
+ FIXME("(%p)->(%s, %p, %p, %p, %u, %p): stub\n", This, debugstr_guid(guid), pVideoDesc, pConfig, ppDecoderRenderTargets, NumSurfaces, ppDecode);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI DirectXVideoDecoderService_GetDecoderConfigurations( IDirectXVideoDecoderService *iface, REFGUID guid, const DXVA2_VideoDesc *pVideoDesc,
|
||||
+ IUnknown *pReserved, UINT *pCount, DXVA2_ConfigPictureDecode **ppConfigs )
|
||||
+{
|
||||
+ DirectXVideoDecoderServiceImpl *This = impl_from_IDirectXVideoDecoderService(iface);
|
||||
+
|
||||
+ FIXME("(%p)->(%s, %p, %p, %p, %p): stub\n", This, debugstr_guid(guid), pVideoDesc, pReserved, pCount, ppConfigs);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI DirectXVideoDecoderService_GetDecoderDeviceGuids( IDirectXVideoDecoderService *iface, UINT *count, GUID **pGuids )
|
||||
+{
|
||||
+ DirectXVideoDecoderServiceImpl *This = impl_from_IDirectXVideoDecoderService(iface);
|
||||
+
|
||||
+ FIXME("(%p)->(%p, %p): stub\n", This, count, pGuids);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI DirectXVideoDecoderService_GetDecoderRenderTargets( IDirectXVideoDecoderService *iface, REFGUID guid, UINT *pCount, D3DFORMAT **pFormats)
|
||||
+{
|
||||
+ DirectXVideoDecoderServiceImpl *This = impl_from_IDirectXVideoDecoderService(iface);
|
||||
+
|
||||
+ FIXME("(%p)->(%s, %p, %p): stub\n", This, debugstr_guid(guid), pCount, pFormats);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static const IDirectXVideoDecoderServiceVtbl DirectXVideoDecoderService_VTable =
|
||||
+{
|
||||
+ DirectXVideoDecoderService_QueryInterface,
|
||||
+ DirectXVideoDecoderService_AddRef,
|
||||
+ DirectXVideoDecoderService_Release,
|
||||
+ DirectXVideoDecoderService_CreateSurface,
|
||||
+ DirectXVideoDecoderService_CreateVideoDecoder,
|
||||
+ DirectXVideoDecoderService_GetDecoderConfigurations,
|
||||
+ DirectXVideoDecoderService_GetDecoderDeviceGuids,
|
||||
+ DirectXVideoDecoderService_GetDecoderRenderTargets
|
||||
+};
|
||||
+
|
||||
+/*****************************************************************************
|
||||
+ * IDirectXVideoProcessorService interface
|
||||
+ */
|
||||
+
|
||||
+typedef struct
|
||||
+{
|
||||
+ const IDirectXVideoProcessorServiceVtbl* lpVtbl;
|
||||
+ LONG refCount;
|
||||
+} DirectXVideoProcessorServiceImpl;
|
||||
+
|
||||
+static inline DirectXVideoProcessorServiceImpl *impl_from_IDirectXVideoProcessorService( IDirectXVideoProcessorService *iface )
|
||||
+{
|
||||
+ return (DirectXVideoProcessorServiceImpl *)iface;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI DirectXVideoProcessorService_QueryInterface( IDirectXVideoProcessorService *iface, REFIID riid, LPVOID * ppv )
|
||||
+{
|
||||
+ DirectXVideoProcessorServiceImpl *This = impl_from_IDirectXVideoProcessorService(iface);
|
||||
+ TRACE("(%p/%p)->(%s, %p)\n", iface, This, debugstr_guid(riid), ppv);
|
||||
+
|
||||
+ *ppv = NULL;
|
||||
+
|
||||
+ if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IDirectXVideoProcessorService))
|
||||
+ *ppv = (LPVOID)iface;
|
||||
+
|
||||
+ if (*ppv)
|
||||
+ {
|
||||
+ IUnknown_AddRef((IUnknown *)(*ppv));
|
||||
+ return S_OK;
|
||||
+ }
|
||||
+
|
||||
+ FIXME("No interface for %s\n", debugstr_guid(riid));
|
||||
+ return E_NOINTERFACE;
|
||||
+}
|
||||
+
|
||||
+static ULONG WINAPI DirectXVideoProcessorService_AddRef( IDirectXVideoProcessorService *iface )
|
||||
+{
|
||||
+ DirectXVideoProcessorServiceImpl *This = impl_from_IDirectXVideoProcessorService(iface);
|
||||
+ ULONG refCount = InterlockedIncrement(&This->refCount);
|
||||
+
|
||||
+ TRACE("(%p)->() AddRef from %d\n", This, refCount - 1);
|
||||
+
|
||||
+ return refCount;
|
||||
+}
|
||||
+
|
||||
+static ULONG WINAPI DirectXVideoProcessorService_Release( IDirectXVideoProcessorService *iface )
|
||||
+{
|
||||
+ DirectXVideoProcessorServiceImpl *This = impl_from_IDirectXVideoProcessorService(iface);
|
||||
+ ULONG refCount = InterlockedDecrement(&This->refCount);
|
||||
+
|
||||
+ TRACE("(%p)->() Release from %d\n", This, refCount + 1);
|
||||
+
|
||||
+ if (!refCount)
|
||||
+ {
|
||||
+ TRACE("Destroying\n");
|
||||
+ CoTaskMemFree(This);
|
||||
+ }
|
||||
+
|
||||
+ return refCount;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI DirectXVideoProcessorService_CreateSurface( IDirectXVideoProcessorService *iface, UINT width, UINT height,
|
||||
+ UINT backBuffers, D3DFORMAT format, D3DPOOL pool, DWORD usage,
|
||||
+ DWORD dxvaType, IDirect3DSurface9 **ppSurface, HANDLE *pSharedHandle )
|
||||
+{
|
||||
+ DirectXVideoProcessorServiceImpl *This = impl_from_IDirectXVideoProcessorService(iface);
|
||||
+
|
||||
+ FIXME("(%p)->(%u, %u, %u, %#x, 0x%x, 0x%x, 0x%x, %p, %p): stub\n",
|
||||
+ This, width, height, backBuffers, format, pool, usage, dxvaType, ppSurface, pSharedHandle );
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI DirectXVideoProcessorService_RegisterVideoProcessorSoftwareDevice( IDirectXVideoProcessorService *iface, void* pCallbacks)
|
||||
+{
|
||||
+ DirectXVideoProcessorServiceImpl *This = impl_from_IDirectXVideoProcessorService(iface);
|
||||
+
|
||||
+ FIXME("(%p)->(%p): stub\n", This, pCallbacks );
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI DirectXVideoProcessorService_GetVideoProcessorDeviceGuids( IDirectXVideoProcessorService *iface, const DXVA2_VideoDesc* pVideoDesc,
|
||||
+ UINT* pCount, GUID** pGuids )
|
||||
+{
|
||||
+ DirectXVideoProcessorServiceImpl *This = impl_from_IDirectXVideoProcessorService(iface);
|
||||
+
|
||||
+ FIXME("(%p)->(%p, %p, %p): stub\n", This, pVideoDesc, pCount, pGuids );
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI DirectXVideoProcessorService_GetVideoProcessorRenderTargets( IDirectXVideoProcessorService *iface, REFGUID VideoProcDeviceGuid,
|
||||
+ const DXVA2_VideoDesc* pVideoDesc, UINT* pCount, D3DFORMAT** pFormats )
|
||||
+{
|
||||
+ DirectXVideoProcessorServiceImpl *This = impl_from_IDirectXVideoProcessorService(iface);
|
||||
+
|
||||
+ FIXME("(%p)->(%s, %p, %p, %p): stub\n",
|
||||
+ This, debugstr_guid(VideoProcDeviceGuid), pVideoDesc, pCount, pFormats );
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI DirectXVideoProcessorService_GetVideoProcessorSubStreamFormats( IDirectXVideoProcessorService *iface, REFGUID VideoProcDeviceGuid,
|
||||
+ const DXVA2_VideoDesc* pVideoDesc, D3DFORMAT RenderTargetFormat, UINT* pCount,
|
||||
+ D3DFORMAT** pFormats )
|
||||
+{
|
||||
+ DirectXVideoProcessorServiceImpl *This = impl_from_IDirectXVideoProcessorService(iface);
|
||||
+
|
||||
+ FIXME("(%p)->(%s, %p, %#x, %p, %p): stub\n", This, debugstr_guid(VideoProcDeviceGuid), pVideoDesc, RenderTargetFormat, pCount, pFormats );
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI DirectXVideoProcessorService_GetVideoProcessorCaps( IDirectXVideoProcessorService *iface, REFGUID VideoProcDeviceGuid,
|
||||
+ const DXVA2_VideoDesc* pVideoDesc, D3DFORMAT RenderTargetFormat,
|
||||
+ DXVA2_VideoProcessorCaps* pCaps)
|
||||
+{
|
||||
+ DirectXVideoProcessorServiceImpl *This = impl_from_IDirectXVideoProcessorService(iface);
|
||||
+
|
||||
+ FIXME("(%p)->(%s, %p, %#x, %p): stub\n", This, debugstr_guid(VideoProcDeviceGuid), pVideoDesc, RenderTargetFormat, pCaps);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI DirectXVideoProcessorService_GetProcAmpRange( IDirectXVideoProcessorService *iface, REFGUID VideoProcDeviceGuid,
|
||||
+ const DXVA2_VideoDesc* pVideoDesc, D3DFORMAT RenderTargetFormat, UINT ProcAmpCap,
|
||||
+ DXVA2_ValueRange* pRange )
|
||||
+{
|
||||
+ DirectXVideoProcessorServiceImpl *This = impl_from_IDirectXVideoProcessorService(iface);
|
||||
+
|
||||
+ FIXME("(%p)->(%s, %p, %#x, %u, %p): stub\n", This, debugstr_guid(VideoProcDeviceGuid), pVideoDesc, RenderTargetFormat, ProcAmpCap, pRange);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI DirectXVideoProcessorService_GetFilterPropertyRange( IDirectXVideoProcessorService *iface, REFGUID VideoProcDeviceGuid,
|
||||
+ const DXVA2_VideoDesc* pVideoDesc, D3DFORMAT RenderTargetFormat, UINT FilterSetting,
|
||||
+ DXVA2_ValueRange* pRange )
|
||||
+{
|
||||
+ DirectXVideoProcessorServiceImpl *This = impl_from_IDirectXVideoProcessorService(iface);
|
||||
+
|
||||
+ FIXME("(%p)->(%s, %p, %#x, %u, %p): stub\n", This, debugstr_guid(VideoProcDeviceGuid), pVideoDesc, RenderTargetFormat, FilterSetting, pRange);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI DirectXVideoProcessorService_CreateVideoProcessor( IDirectXVideoProcessorService *iface, REFGUID VideoProcDeviceGuid,
|
||||
+ const DXVA2_VideoDesc* pVideoDesc, D3DFORMAT RenderTargetFormat, UINT MaxNumSubStreams,
|
||||
+ IDirectXVideoProcessor** ppVidProcess )
|
||||
+{
|
||||
+ DirectXVideoProcessorServiceImpl *This = impl_from_IDirectXVideoProcessorService(iface);
|
||||
+
|
||||
+ FIXME("(%p)->(%s, %#x, %u, %p): stub\n", This, debugstr_guid(VideoProcDeviceGuid), RenderTargetFormat, MaxNumSubStreams, ppVidProcess);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static const IDirectXVideoProcessorServiceVtbl DirectXVideoProcessorService_VTable =
|
||||
+{
|
||||
+ DirectXVideoProcessorService_QueryInterface,
|
||||
+ DirectXVideoProcessorService_AddRef,
|
||||
+ DirectXVideoProcessorService_Release,
|
||||
+ DirectXVideoProcessorService_CreateSurface,
|
||||
+ DirectXVideoProcessorService_RegisterVideoProcessorSoftwareDevice,
|
||||
+ DirectXVideoProcessorService_GetVideoProcessorDeviceGuids,
|
||||
+ DirectXVideoProcessorService_GetVideoProcessorRenderTargets,
|
||||
+ DirectXVideoProcessorService_GetVideoProcessorSubStreamFormats,
|
||||
+ DirectXVideoProcessorService_GetVideoProcessorCaps,
|
||||
+ DirectXVideoProcessorService_GetProcAmpRange,
|
||||
+ DirectXVideoProcessorService_GetFilterPropertyRange,
|
||||
+ DirectXVideoProcessorService_CreateVideoProcessor
|
||||
+};
|
||||
+
|
||||
+
|
||||
+HRESULT videoservices_create( IDirect3DDevice9 *device, REFIID riid, void **ppv )
|
||||
+{
|
||||
+ HRESULT hr = S_OK;
|
||||
+
|
||||
+ if (!riid || !ppv)
|
||||
+ return E_INVALIDARG;
|
||||
+
|
||||
+ *ppv = NULL;
|
||||
+
|
||||
+ /* IDirectXVideoAccelerationService */
|
||||
+ if (IsEqualIID(riid, &IID_IDirectXVideoAccelerationService))
|
||||
+ {
|
||||
+ DirectXVideoAccelerationServiceImpl* accelerator = CoTaskMemAlloc(sizeof(DirectXVideoAccelerationServiceImpl));
|
||||
+ if (!accelerator)
|
||||
+ return E_OUTOFMEMORY;
|
||||
+
|
||||
+ accelerator->lpVtbl = &DirectXVideoAccelerationService_VTable;
|
||||
+ accelerator->refCount = 1;
|
||||
+
|
||||
+ *ppv = accelerator;
|
||||
+ }
|
||||
+
|
||||
+ /* IDirectXVideoDecoderService */
|
||||
+ else if (IsEqualIID(riid, &IID_IDirectXVideoDecoderService))
|
||||
+ {
|
||||
+ DirectXVideoDecoderServiceImpl* decoder = CoTaskMemAlloc(sizeof(DirectXVideoDecoderServiceImpl));
|
||||
+ if (!decoder)
|
||||
+ return E_OUTOFMEMORY;
|
||||
+
|
||||
+ decoder->lpVtbl = &DirectXVideoDecoderService_VTable;
|
||||
+ decoder->refCount = 1;
|
||||
+ *ppv = decoder;
|
||||
+ }
|
||||
+
|
||||
+ /* IDirectXVideoProcessorService */
|
||||
+ else if (IsEqualIID(riid, &IID_IDirectXVideoProcessorService))
|
||||
+ {
|
||||
+ DirectXVideoProcessorServiceImpl* processor = CoTaskMemAlloc(sizeof(DirectXVideoProcessorServiceImpl));
|
||||
+ if (!processor)
|
||||
+ return E_OUTOFMEMORY;
|
||||
+
|
||||
+ processor->lpVtbl = &DirectXVideoProcessorService_VTable;
|
||||
+ processor->refCount = 1;
|
||||
+
|
||||
+ *ppv = processor;
|
||||
+ }
|
||||
+
|
||||
+ else
|
||||
+ hr = E_NOINTERFACE;
|
||||
+
|
||||
+ return hr;
|
||||
+}
|
||||
--
|
||||
1.7.9.5
|
||||
|
@ -1,4 +1,3 @@
|
||||
Revision: 1
|
||||
Revision: 2
|
||||
Author: Michael Müller
|
||||
Title: Added DXVA2 stub dll.
|
||||
|
||||
Title: Added DXVA2 stub implementation.
|
||||
|
@ -57,7 +57,7 @@ index a273502..5fa0cd5 100644
|
||||
+ { "4cd13e94-7f2d-11e3-b5eb-0090f5c75ad5:1", "Erich E. Hoover", "Support for junction points/reparse points." },
|
||||
+ { "5fb1f5c8-7f17-11e3-9b62-0090f5c75ad5:1", "Erich E. Hoover", "Implement TransmitFile." },
|
||||
+ { "3d7c4774-9e7f-11e3-9cfc-0090f5c75ad5:1", "Erich E. Hoover", "Implement missing fonts expected by Silverlight." },
|
||||
+ { "39ca2373-65c1-4d01-8ba0-1c2007cbbc59:1", "Michael Müller", "Added DXVA2 stub dll." },
|
||||
+ { "39ca2373-65c1-4d01-8ba0-1c2007cbbc59:2", "Michael Müller", "Added DXVA2 stub implementation." },
|
||||
+ { "0b21d7ac-0387-4493-aa38-fbafe3e749f5:1", "Michael Müller", "Decrease minimum SetTimer interval from 15 to 5 ms." },
|
||||
+ { "19835498-8d90-4673-867e-2376af4d7c76:1", "Sebastian Lackner", "Allow to set wined3d strictDrawOrdering via environment variable." },
|
||||
+ { "59bd38b7-bbdc-4cfd-9ccd-1c72c4ed84c0:1", "Sebastian Lackner", "Implement X11DRV_FLUSH_GDI_DISPLAY ExtEscape command." },
|
||||
|
Loading…
Reference in New Issue
Block a user