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.
This commit is contained in:
wm4 2015-07-30 21:26:42 +02:00
parent c6b5645991
commit c8fab7cc7b
1 changed files with 2 additions and 1 deletions

View File

@ -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");