summaryrefslogtreecommitdiffstats
path: root/video/out/d3d11/ra_d3d11.c
diff options
context:
space:
mode:
authorJames Ross-Gowan <rossy@jrg.systems>2017-12-05 23:47:59 +1100
committerJames Ross-Gowan <rossy@jrg.systems>2018-01-06 11:26:15 +1100
commit88c29b13011175b77c8255d82d5fc1c1610345d5 (patch)
treebc47cdb1db7ec2b63b4d3b968c31b8c9cf6f7da2 /video/out/d3d11/ra_d3d11.c
parent185e63a3e2a84fe4d006054960481460072a8243 (diff)
downloadmpv-88c29b13011175b77c8255d82d5fc1c1610345d5.tar.bz2
mpv-88c29b13011175b77c8255d82d5fc1c1610345d5.tar.xz
vo_gpu: hwdec_dxva2dxgi: initial implementation
This enables DXVA2 hardware decoding with ra_d3d11. It should be useful for Windows 7, where D3D11VA is not available. Images are transfered from D3D9 to D3D11 using D3D9Ex surface sharing[1]. Following Microsoft's recommendations, it uses a queue of shared surfaces, similar to Microsoft's ISurfaceQueue. This will hopefully prevent surface sharing from impacting parallelism and allow multiple D3D11 frames to be in-flight at once. [1]: https://msdn.microsoft.com/en-us/library/windows/desktop/ee913554.aspx
Diffstat (limited to 'video/out/d3d11/ra_d3d11.c')
-rw-r--r--video/out/d3d11/ra_d3d11.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/video/out/d3d11/ra_d3d11.c b/video/out/d3d11/ra_d3d11.c
index 4246a8d71e..bf2657b6f6 100644
--- a/video/out/d3d11/ra_d3d11.c
+++ b/video/out/d3d11/ra_d3d11.c
@@ -181,6 +181,7 @@ static struct d3d_fmt formats[] = {
{ "rgb10_a2", 4, 4, {10, 10, 10, 2}, DXFMT(R10G10B10A2, UNORM) },
{ "bgra8", 4, 4, { 8, 8, 8, 8}, DXFMT(B8G8R8A8, UNORM), .unordered = true },
+ { "bgrx8", 3, 4, { 8, 8, 8}, DXFMT(B8G8R8X8, UNORM), .unordered = true },
};
static bool dll_version_equal(struct dll_version a, struct dll_version b)