aboutsummaryrefslogtreecommitdiffstats
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
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.
-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