diff options
author | wm4 <wm4@nowhere> | 2015-07-30 21:26:42 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-07-30 21:26:42 +0200 |
commit | c8fab7cc7b98af8da0bf734dbdb1a3efc5db977e (patch) | |
tree | d1c04d5489702f449a785aac7bb9cea090eaf080 | |
parent | c6b56459915117ad2c1edbf2a09e4704018779cd (diff) | |
download | mpv-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.c | 3 |
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"); |