Media (Intel® oneAPI Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
3030 Discussions

Intel QSV with Multi-GPU and “headless” configuration


I want to use Intel QSV, with multi-gpu and headless configuration (where IGP not attached to monitor) 

As per Intel Media Developer's Guide (page 116), "application will have to initialize the Intel Media SDK to utilize the DirectX11 infrastructure, as well as provide its own memory allocation routines that manage DirectX 11 surfaces".

I have tested this with media sample code provided with the Intel media SDK (simple_decode_d3d11) and it works. I can do HW based decoding in a multi-GPU environment where IGP is not connected to a monitor.

My question is, is it possible to achieve the same with FFMPEG? For example, can I use Intel QSV technology in a multi-GPU and headless environment with the FFMPEG?

I am asking this because, I have seen FFMPEG sample code (qsvdec.c) where we can make use ffmpeg to do HW based decoding using Intel QSV, however this ffmpeg sample does not work with Multi-GPU and with headless configuration. 

I have also tried to make use of another FFMPEG sample (hw_decode.c) where I explicitly specified that I want to use D3D11 using AV_HWDEVICE_TYPE_D3D11VA and set mfx implementation to MFX_IMPL_AUTO_ANY using av_hwdevice_ctx_create(&hw_device_ctx, type, "auto_any", NULL, 0) in order to achieve the same results that I can get with the Intel media SDK sample but it also does not work, if monitor is not attached to the IGP.

So my question is, is it possible to use Intel QSV with FFMPEG in a multi-GPU/headless environment ?

Many thanks



Test environment,

Windows 10, Intel HD Graphics 530, Amd Radeon (discrete graphics), Intel Core i5-6500, 16 GB RAM, DirectX 12


0 Kudos
0 Replies