summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-07-30 21:26:42 +0200
committerwm4 <wm4@nowhere>2015-07-30 21:26:42 +0200
commitc8fab7cc7b98af8da0bf734dbdb1a3efc5db977e (patch)
treed1c04d5489702f449a785aac7bb9cea090eaf080
parentc6b56459915117ad2c1edbf2a09e4704018779cd (diff)
downloadmpv-c8fab7cc7b98af8da0bf734dbdb1a3efc5db977e.tar.bz2
mpv-c8fab7cc7b98af8da0bf734dbdb1a3efc5db977e.tar.xz
vo_direct3d: create multithreaded IDirect3DDevice9
A user complains that it leads to the dxva driver failing, leading to messages like this: [ffmpeg/video] h264: Failed to execute: 0x8007000e [ffmpeg/video] h264: hardware accelerator failed to decode picture Reportedly, this happens only with vo_direct3d, not with vo_opengl. The only difference is that vo_direct3d attempts to share the D3D device with the decoder. Possibly the error is that the device in the VO is not created with D3DCREATE_MULTITHREADED. Change this. Probably fixes #2178.
-rw-r--r--video/out/vo_direct3d.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/video/out/vo_direct3d.c b/video/out/vo_direct3d.c
index 528ccd85de..61e9ce386b 100644
--- a/video/out/vo_direct3d.c
+++ b/video/out/vo_direct3d.c
@@ -738,7 +738,8 @@ static bool change_d3d_backbuffer(d3d_priv *priv)
D3DADAPTER_DEFAULT,
DEVTYPE, vo_w32_hwnd(priv->vo),
D3DCREATE_SOFTWARE_VERTEXPROCESSING
- | D3DCREATE_FPU_PRESERVE,
+ | D3DCREATE_FPU_PRESERVE
+ | D3DCREATE_MULTITHREADED,
&present_params, &priv->d3d_device)))
{
MP_VERBOSE(priv, "Creating Direct3D device failed.\n");