[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