diff options
author | Timo Rothenpieler <timo@rothenpieler.org> | 2024-03-13 20:03:42 +0100 |
---|---|---|
committer | Timo Rothenpieler <timo@rothenpieler.org> | 2024-03-18 13:28:30 +0100 |
commit | 6e78d92399f4c4942c21238c805f7eed10132b79 (patch) | |
tree | 88905b929a7abaecf5b3696d7974fafbcbeb1a47 | |
parent | ae5453503d1e63ef2cf6e6658e1d0b12470a39c7 (diff) | |
download | ffmpeg-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.c | 4 |
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 |