From c8fab7cc7b98af8da0bf734dbdb1a3efc5db977e Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 30 Jul 2015 21:26:42 +0200 Subject: 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. --- video/out/vo_direct3d.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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"); -- cgit v1.2.3