aboutsummaryrefslogtreecommitdiffstats
path: root/libavutil/hwcontext_d3d11va.c
diff options
context:
space:
mode:
authorTimo Rothenpieler <timo@rothenpieler.org>2024-03-13 20:03:42 +0100
committerTimo Rothenpieler <timo@rothenpieler.org>2024-03-18 13:28:30 +0100
commit6e78d92399f4c4942c21238c805f7eed10132b79 (patch)
tree88905b929a7abaecf5b3696d7974fafbcbeb1a47 /libavutil/hwcontext_d3d11va.c
parentae5453503d1e63ef2cf6e6658e1d0b12470a39c7 (diff)
downloadffmpeg-6e78d92399f4c4942c21238c805f7eed10132b79.tar.gz
avutil/hwcontext_d3d11va: prefer DXGI 1.1 factory when available
A lot of modern stuff straight up fails on the old 1.0 factory, which is masked by the fact that it's only used when an explicit adapter is specified.
Diffstat (limited to 'libavutil/hwcontext_d3d11va.c')
-rw-r--r--libavutil/hwcontext_d3d11va.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libavutil/hwcontext_d3d11va.c b/libavutil/hwcontext_d3d11va.c
index a45e53595d..1b96c38d25 100644
--- a/libavutil/hwcontext_d3d11va.c
+++ b/libavutil/hwcontext_d3d11va.c
@@ -62,7 +62,9 @@ static av_cold void load_functions(void)
return;
mD3D11CreateDevice = (PFN_D3D11_CREATE_DEVICE) GetProcAddress(d3dlib, "D3D11CreateDevice");
- mCreateDXGIFactory = (PFN_CREATE_DXGI_FACTORY) GetProcAddress(dxgilib, "CreateDXGIFactory");
+ mCreateDXGIFactory = (PFN_CREATE_DXGI_FACTORY) GetProcAddress(dxgilib, "CreateDXGIFactory1");
+ if (!mCreateDXGIFactory)
+ mCreateDXGIFactory = (PFN_CREATE_DXGI_FACTORY) GetProcAddress(dxgilib, "CreateDXGIFactory");
#else
// In UWP (which lacks LoadLibrary), CreateDXGIFactory isn't available,
// only CreateDXGIFactory1