[FFmpeg-devel] [RFC] QSV: Introduce min Compile-SDK Version and check for Runtime-Versions instead

Xiang, Haihao haihao.xiang at intel.com
Wed Jan 12 04:53:18 EET 2022


On Mon, 2022-01-03 at 21:53 +0000, Soft Works wrote:
> Hi,
> 
> this is a follow-up to my recently submitted patch:
> 
> “avfilter/vpp_qsv: fix regression on older api versions (e.g. 1.11)”
> 
> That patch only fixes the one important regression from multiple issues which 
> have been introduced by recent changes. Those changes have gone in a less
> than ideal direction, because they have introduced checks based on the version
> of the MSDK which ffmpeg is being compiled against, but they didn’t add 
> checks for the runtime libmfx/MSDK versions – and this causes failures, 
> sometimes even for functionality which has worked before (=>regressions).
> 
> Background
> 
> - the compile-sdk version determines which features can be used
>   but only when
>   - the runtime SDK version supports it
>     and
>   - the hardware (GPU gen) supports it
> - ALL compile-sdk versions can interface with ALL runtime MSDK 
>   versions (basically), no matter whether runtime version is newer or
>   older
> - At least on Windows, some hw is stuck at a certain runtime version,
>   e.g.: there are new drivers for Broadwell, but the MSDK runtime
>   is always 1.11
> 
> 
> Conclusion
> 
> Adding checks for the runtime MSDK versions is required wherever a feature
> might not be supported by older MSDK runtimes - I think that's an obvious
> necessity.
> 
> 
> Question
> 
> Having both - run-time and compile-time checks all over the code is adding 
> a lot of complexity and makes it difficult to maintain and work with.
> 
> Hence, I'm wondering whether we couldn't/shouldn't introduce a minimum 
> MSDK compile-time version, for example 1.22, or even later?
> 
> This would allow simplification of the QSV code in many places where run-time
> version checks are actually needed instead.
> 
> Over time, there have been better and worse MSDK versions, and there 
> should still be enough room for choosing, but I don't think there's any
> reason why somebody would still want to compile against some really old 
> (e.g. < 1.22) MSDK version. 
> 
> Please share your thoughts on this subject..

I agree we may add a requirement for the minimal compiling version in configure,
version 1.28 was released 3 years ago, how about using this version as the
minimal compiling version ? 

BTW you may download the new Windows drivers for Broadwell from 
https://www.intel.com/content/www/us/en/download/18369/intel-graphics-driver-for-windows-15-40.html
 , the runtime version should be 1.20

Thanks
Haihao



More information about the ffmpeg-devel mailing list