[FFmpeg-cvslog] lavu/hwcontext_qsv: Make sure hardware vendor is Intel for qsv on d3d11va

Haihao Xiang git at videolan.org
Thu Dec 7 04:33:19 EET 2023


ffmpeg | branch: master | Haihao Xiang <haihao.xiang at intel.com> | Tue Nov 28 12:42:27 2023 +0800| [f89cff96d080a238e3b7c7020db08c0f8ed796e4] | committer: Haihao Xiang

lavu/hwcontext_qsv: Make sure hardware vendor is Intel for qsv on d3d11va

When multiple hardwares are available, the default one might not be
Intel Hardware. We can use option vendor_id to choose the required
vendor.

Tested-by: Artem Galin <artem.galin at intel.com>
Signed-off-by: Haihao Xiang <haihao.xiang at intel.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f89cff96d080a238e3b7c7020db08c0f8ed796e4
---

 libavutil/hwcontext_qsv.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c
index 7f4a0fda0f..a67552b5ac 100644
--- a/libavutil/hwcontext_qsv.c
+++ b/libavutil/hwcontext_qsv.c
@@ -2200,6 +2200,12 @@ static int qsv_device_create(AVHWDeviceContext *ctx, const char *device,
 #endif
 #if CONFIG_D3D11VA
     case AV_HWDEVICE_TYPE_D3D11VA:
+        {
+            // Make sure the hardware vendor is Intel when multiple devices are
+            // available, it will be ignored if user specifies the child device
+            // explicitly
+            av_dict_set(&child_device_opts, "vendor_id",        "0x8086",  0);
+        }
         break;
 #endif
 #if CONFIG_DXVA2



More information about the ffmpeg-cvslog mailing list