Rebase against be2b0b1cec5843f0145f376316d6c28507559910.

This commit is contained in:
Zebediah Figura
2020-02-17 18:43:10 -06:00
parent 8b2fd051c9
commit de7c2faf80
7 changed files with 50 additions and 230 deletions

View File

@@ -1,4 +1,4 @@
From e70e35f995515223d802e47e139089e964576b1f Mon Sep 17 00:00:00 2001
From 5ce4edd65773a793bc4b4f8ad1fa3b64b5894c7d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 10 Feb 2015 16:54:21 +0100
Subject: dxva2: Implement stubbed interfaces for
@@ -9,15 +9,15 @@ Subject: dxva2: Implement stubbed interfaces for
dlls/dxva2/devicemanager.c | 4 +-
dlls/dxva2/dxva2_private.h | 1 +
dlls/dxva2/main.c | 4 +-
dlls/dxva2/videoservices.c | 467 +++++++++++++++++++++++++++++++++++++++++++++
dlls/dxva2/videoservices.c | 467 +++++++++++++++++++++++++++++++++++++
5 files changed, 474 insertions(+), 5 deletions(-)
create mode 100644 dlls/dxva2/videoservices.c
diff --git a/dlls/dxva2/Makefile.in b/dlls/dxva2/Makefile.in
index 27c653d3f20..b517921190b 100644
index 5c3e3842d..c86b165e8 100644
--- a/dlls/dxva2/Makefile.in
+++ b/dlls/dxva2/Makefile.in
@@ -3,4 +3,5 @@ IMPORTS = ole32
@@ -5,4 +5,5 @@ EXTRADLLFLAGS = -mno-cygwin
C_SRCS = \
devicemanager.c \
@@ -25,10 +25,10 @@ index 27c653d3f20..b517921190b 100644
+ main.c \
+ videoservices.c
diff --git a/dlls/dxva2/devicemanager.c b/dlls/dxva2/devicemanager.c
index 15d78aa7ff0..b9ed76c865d 100644
index bba0fbc61..8182adedc 100644
--- a/dlls/dxva2/devicemanager.c
+++ b/dlls/dxva2/devicemanager.c
@@ -169,9 +169,9 @@ static HRESULT WINAPI Direct3DDeviceManager9_GetVideoService( IDirect3DDeviceMan
@@ -170,9 +170,9 @@ static HRESULT WINAPI Direct3DDeviceManager9_GetVideoService( IDirect3DDeviceMan
{
Direct3DDeviceManager9Impl *This = impl_from_Direct3DDeviceManager9(iface);
@@ -41,7 +41,7 @@ index 15d78aa7ff0..b9ed76c865d 100644
static const IDirect3DDeviceManager9Vtbl Direct3DDeviceManager9_VTable =
diff --git a/dlls/dxva2/dxva2_private.h b/dlls/dxva2/dxva2_private.h
index d6e59fc6da8..a88809cf7ec 100644
index d6e59fc6d..a88809cf7 100644
--- a/dlls/dxva2/dxva2_private.h
+++ b/dlls/dxva2/dxva2_private.h
@@ -18,4 +18,5 @@
@@ -51,7 +51,7 @@ index d6e59fc6da8..a88809cf7ec 100644
+extern HRESULT videoservice_create( IDirect3DDevice9 *device, REFIID riid, void **ppv ) DECLSPEC_HIDDEN;
extern HRESULT devicemanager_create( UINT *resetToken, void **ppv ) DECLSPEC_HIDDEN;
diff --git a/dlls/dxva2/main.c b/dlls/dxva2/main.c
index df8f2030104..0382b5fb00a 100644
index df8f20301..0382b5fb0 100644
--- a/dlls/dxva2/main.c
+++ b/dlls/dxva2/main.c
@@ -49,9 +49,9 @@ HRESULT WINAPI DXVA2CreateDirect3DDeviceManager9( UINT *resetToken, IDirect3DDev
@@ -68,7 +68,7 @@ index df8f2030104..0382b5fb00a 100644
BOOL WINAPI DegaussMonitor( HMONITOR monitor )
diff --git a/dlls/dxva2/videoservices.c b/dlls/dxva2/videoservices.c
new file mode 100644
index 00000000000..936aa37b43c
index 000000000..607729502
--- /dev/null
+++ b/dlls/dxva2/videoservices.c
@@ -0,0 +1,467 @@
@@ -302,9 +302,9 @@ index 00000000000..936aa37b43c
+
+ /* TODO: Query decoder instead of using hardcoded values */
+
+ memcpy(&config->guidConfigBitstreamEncryption, &DXVA_NoEncrypt, sizeof(GUID));
+ memcpy(&config->guidConfigMBcontrolEncryption, &DXVA_NoEncrypt, sizeof(GUID));
+ memcpy(&config->guidConfigResidDiffEncryption, &DXVA_NoEncrypt, sizeof(GUID));
+ memcpy(&config->guidConfigBitstreamEncryption, &DXVA2_NoEncrypt, sizeof(GUID));
+ memcpy(&config->guidConfigMBcontrolEncryption, &DXVA2_NoEncrypt, sizeof(GUID));
+ memcpy(&config->guidConfigResidDiffEncryption, &DXVA2_NoEncrypt, sizeof(GUID));
+
+ config->ConfigBitstreamRaw = 1;
+ config->ConfigMBcontrolRasterOrder = is_h264_codec(guid) ? 0 : 1;
@@ -540,5 +540,5 @@ index 00000000000..936aa37b43c
+ return S_OK;
+}
--
2.11.0
2.25.0

View File

@@ -1,4 +1,4 @@
From 935b985d2e4fab7402030c71ff1a6ba0abdd9874 Mon Sep 17 00:00:00 2001
From 95a95d09125707b24f8728c545c7f5b706bafe1c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 22 Feb 2015 01:25:20 +0100
Subject: [PATCH] dxva2: Initial implementation of MPEG2 decoder using vaapi
@@ -22,10 +22,10 @@ Subject: [PATCH] dxva2: Initial implementation of MPEG2 decoder using vaapi
create mode 100644 dlls/dxva2/vaapi.c
diff --git a/configure.ac b/configure.ac
index 58e5211e9bc..53aea6188ca 100644
index 39cef46e7..bb89c7ee0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -110,6 +110,8 @@ AC_ARG_WITH(xslt, AS_HELP_STRING([--without-xslt],[do not use XSLT]))
@@ -111,6 +111,8 @@ AC_ARG_WITH(xslt, AS_HELP_STRING([--without-xslt],[do not use XSLT]))
AC_ARG_WITH(xxf86vm, AS_HELP_STRING([--without-xxf86vm],[do not use XFree video mode extension]),
[if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_xf86vmode_h=no; ac_cv_header_X11_extensions_xf86vmproto_h=no; fi])
AC_ARG_WITH(zlib, AS_HELP_STRING([--without-zlib],[do not use Zlib (data compression)]))
@@ -34,7 +34,7 @@ index 58e5211e9bc..53aea6188ca 100644
AC_ARG_WITH(wine-tools,AS_HELP_STRING([--with-wine-tools=DIR],[use Wine tools from directory DIR]))
AC_ARG_WITH(wine64, AS_HELP_STRING([--with-wine64=DIR],[use the 64-bit Wine in DIR for a Wow64 build]))
@@ -1292,6 +1294,20 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c
@@ -1296,6 +1298,20 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c
WINE_WARNING_WITH(opengl,[test -n "$opengl_msg"],[$opengl_msg
OpenGL and Direct3D won't be supported.])
@@ -56,7 +56,7 @@ index 58e5211e9bc..53aea6188ca 100644
else
X_CFLAGS=""
diff --git a/dlls/dxva2/Makefile.in b/dlls/dxva2/Makefile.in
index e4c90b5231e..b42cfae525e 100644
index e4c90b523..b42cfae52 100644
--- a/dlls/dxva2/Makefile.in
+++ b/dlls/dxva2/Makefile.in
@@ -1,10 +1,16 @@
@@ -81,7 +81,7 @@ index e4c90b5231e..b42cfae525e 100644
+ videoservices.c
diff --git a/dlls/dxva2/backend.idl b/dlls/dxva2/backend.idl
new file mode 100644
index 00000000000..8d488351ff2
index 000000000..8d488351f
--- /dev/null
+++ b/dlls/dxva2/backend.idl
@@ -0,0 +1,96 @@
@@ -182,7 +182,7 @@ index 00000000000..8d488351ff2
+ [out] IWineVideoDecoder **decoder);
+}
diff --git a/dlls/dxva2/dxva2_private.h b/dlls/dxva2/dxva2_private.h
index f0068b68891..f51863739b0 100644
index f0068b688..f51863739 100644
--- a/dlls/dxva2/dxva2_private.h
+++ b/dlls/dxva2/dxva2_private.h
@@ -1,5 +1,5 @@
@@ -317,7 +317,7 @@ index f0068b68891..f51863739b0 100644
+#endif /* HAVE_VAAPI */
diff --git a/dlls/dxva2/genericdecoder.c b/dlls/dxva2/genericdecoder.c
new file mode 100644
index 00000000000..3903d6b0b46
index 000000000..3903d6b0b
--- /dev/null
+++ b/dlls/dxva2/genericdecoder.c
@@ -0,0 +1,432 @@
@@ -754,7 +754,7 @@ index 00000000000..3903d6b0b46
+ return S_OK;
+}
diff --git a/dlls/dxva2/main.c b/dlls/dxva2/main.c
index 0382b5fb00a..3006f175b7f 100644
index 0382b5fb0..3006f175b 100644
--- a/dlls/dxva2/main.c
+++ b/dlls/dxva2/main.c
@@ -32,6 +32,8 @@
@@ -848,7 +848,7 @@ index 0382b5fb00a..3006f175b7f 100644
return TRUE;
diff --git a/dlls/dxva2/tests/dxva2.c b/dlls/dxva2/tests/dxva2.c
index dcbb990ee5c..c28be4d8e3c 100644
index dcbb990ee..c28be4d8e 100644
--- a/dlls/dxva2/tests/dxva2.c
+++ b/dlls/dxva2/tests/dxva2.c
@@ -1,7 +1,7 @@
@@ -929,7 +929,7 @@ index dcbb990ee5c..c28be4d8e3c 100644
IDirectXVideoDecoderService_Release(service);
diff --git a/dlls/dxva2/vaapi-mpeg2.c b/dlls/dxva2/vaapi-mpeg2.c
new file mode 100644
index 00000000000..7b7f61db755
index 000000000..7b7f61db7
--- /dev/null
+++ b/dlls/dxva2/vaapi-mpeg2.c
@@ -0,0 +1,753 @@
@@ -1688,7 +1688,7 @@ index 00000000000..7b7f61db755
+#endif /* HAVE_VAAPI */
diff --git a/dlls/dxva2/vaapi.c b/dlls/dxva2/vaapi.c
new file mode 100644
index 00000000000..80e63bf38d9
index 000000000..e2a64065e
--- /dev/null
+++ b/dlls/dxva2/vaapi.c
@@ -0,0 +1,767 @@
@@ -2306,9 +2306,9 @@ index 00000000000..80e63bf38d9
+ return E_OUTOFMEMORY;
+
+ /* TODO: Query decoder instead of using hardcoded values */
+ memcpy(&config->guidConfigBitstreamEncryption, &DXVA_NoEncrypt, sizeof(GUID));
+ memcpy(&config->guidConfigMBcontrolEncryption, &DXVA_NoEncrypt, sizeof(GUID));
+ memcpy(&config->guidConfigResidDiffEncryption, &DXVA_NoEncrypt, sizeof(GUID));
+ memcpy(&config->guidConfigBitstreamEncryption, &DXVA2_NoEncrypt, sizeof(GUID));
+ memcpy(&config->guidConfigMBcontrolEncryption, &DXVA2_NoEncrypt, sizeof(GUID));
+ memcpy(&config->guidConfigResidDiffEncryption, &DXVA2_NoEncrypt, sizeof(GUID));
+
+ config->ConfigBitstreamRaw = 1;
+ config->ConfigMBcontrolRasterOrder = is_h264_codec(guid) ? 0 : 1;
@@ -2460,7 +2460,7 @@ index 00000000000..80e63bf38d9
+
+#endif /* HAVE_VAAPI */
diff --git a/dlls/dxva2/videoservices.c b/dlls/dxva2/videoservices.c
index 46e431a7f29..84222dce558 100644
index 11cba1441..84222dce5 100644
--- a/dlls/dxva2/videoservices.c
+++ b/dlls/dxva2/videoservices.c
@@ -1,5 +1,5 @@
@@ -2540,9 +2540,9 @@ index 46e431a7f29..84222dce558 100644
-
- /* TODO: Query decoder instead of using hardcoded values */
-
- memcpy(&config->guidConfigBitstreamEncryption, &DXVA_NoEncrypt, sizeof(GUID));
- memcpy(&config->guidConfigMBcontrolEncryption, &DXVA_NoEncrypt, sizeof(GUID));
- memcpy(&config->guidConfigResidDiffEncryption, &DXVA_NoEncrypt, sizeof(GUID));
- memcpy(&config->guidConfigBitstreamEncryption, &DXVA2_NoEncrypt, sizeof(GUID));
- memcpy(&config->guidConfigMBcontrolEncryption, &DXVA2_NoEncrypt, sizeof(GUID));
- memcpy(&config->guidConfigResidDiffEncryption, &DXVA2_NoEncrypt, sizeof(GUID));
-
- config->ConfigBitstreamRaw = 1;
- config->ConfigMBcontrolRasterOrder = is_h264_codec(guid) ? 0 : 1;
@@ -2637,5 +2637,5 @@ index 46e431a7f29..84222dce558 100644
return E_NOINTERFACE;
}
--
2.20.1
2.25.0