Closed mighty-p closed 6 years ago
In addition, the following patch removes a flickering problem caused by a bug in libva<1.7.2 (it should not be needed anymore with 1.7.2 and higher):
--- video.c.orig 2018-02-21 10:59:01.807698117 +0100
+++ video.c 2018-02-21 14:51:50.527644830 +0100
@@ -3279,7 +3281,7 @@
decoder->gpe_filters[decoder->gpe_filter_n++] = filter_buf_id;
}
break;
- case VAProcFilterColorBalance:
+ case VAProcFilterColorBalance: break;
Info("video/vaapi: enabling color balance filters");
colorbalance_cap_n = VAProcColorBalanceCount;
vaQueryVideoProcFilterCaps(VaDisplay, decoder->vpp_ctx, VAProcFilterColorBalance, colorbalance_caps,
Support for libva < 2.0 was actually removed intentionally to encourage people to upgrade. Also many other unnecessary work-arounds for bugs in libva were removed from cluttering the code at the same time.
Therefore I'm reluctant to add back support for old libva versions. Do you have a reason why you cannot use libva-2.0 or greater?
The only reason is that Linux Mint 18.3 (which is the latest version) still comes with a pretty old libva. Other distros, e.g. Ubuntu, should have the same issue. For me it's easier to patch vaapidevice rather than updating a system-wide library (where I don't know if there are side effects on other software in the distro or on my ability to do a dist upgrade later). I can try if I can install a newer libva separately in /opt. Overall, I understand that it makes only very limited sense to work around old bugs in an outdated library :)
I do not see any problems by upgrading to libva 2.0. Perhaps, you can consider to set the minimum version to 2.1.0, which has some interesting features:
"*Bump VA-API version to 1.1.0 and libva to 2.1.0 Add API for multi-frame processing Add entrypoint VAEntrypointStats for Statistics Add data structures for HEVC FEI support Add new attributes for decoding/encoding/video processing Add new VPP filter for Total Color Correction Add blending interface in VPP Add rotation interface in VPP Add mirroring interface in VPP Add Chroma siting flags in VPP Add new color standard definitions Add new interface for exporting surface Add message callbacks for drivers to use"
Seems to be the new library version for Fedora 28.
Hi,
the following patch makes vaapidevice compile with earlier version of libva (for me it compiles with this with libva 1.7.0):