GNOME Bugzilla – Bug 741149
vaapipostproc bad scaling quality
Last modified: 2018-03-30 16:14:18 UTC
During scaling tests I observed bad scaling quality with vaapipostproc. With vaapipostproc version 0.5.10.pre1, there is a new parameter scale-method. Setting this parameter to default, fast or hq doesn't affect the scaling quality. Is is still very bad. Only down-scaling was evaluated. In the vaapipostproc commit comment I found this info: Add new "scale-method" property to expose the scaling mode to use during video processing. Note that this is only a hint, and the actual behaviour may differ from implementation (VA driver) to implementation. - Is this feature already implemented in VA driver - if not, is there a time schedule My setup: Intel(R) Core(TM) i7-4700EQ CPU vaapipostproc: Version 0.5.10.pre1 vainfo: libva info: VA-API version 0.36.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/va/i965_drv_video.so libva info: Found init function __vaDriverInit_0_36 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.36 (libva 1.4.1) vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Mobile - 1.4.1
Hi, the feature is only implemented in the git master branch of the VA intel driver. There is no formal release yet of the driver, but you can expect an 1.5.0 soon. Meanwhile, you can use the upstream (fd.o) libva-intel-driver git master or v1.5-branch.
Note: if you build libva-intel-driver off git, there is now an additional version string representing the actual git commit hash. At least, we should now be able to easily determine the exact version used. :)
With the v1.5-branch (libva and intel-driver) the scaling quality is still bad, independent of scale-method parameter. It seems vaapipostproc parameter scale-method is ignored or doesn't work. Only down-scaling tested. Setup: vainfo libva info: VA-API version 0.37.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/va/i965_drv_video.so libva info: Found init function __vaDriverInit_0_37 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.37 (libva 1.5.0.pre1) vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Mobile - 1.5.0.pre1 (1.5.0.pre1) intel-driver commit 6674434b94943eefecde4d91225ab219482609df libva commit f4211c36dce03fe29cf5b97d65e245fedc6790ef
Retested with vaapi Version 0.5.10.pre1 libva info: VA-API version 0.37.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/va/i965_drv_video.so libva info: Found init function __vaDriverInit_0_37 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.37 (libva 1.5.0) vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Mobile - 1.5.0 Parameter scale-method can be "default", "fast" or "hq". Parameter "scale-method" works, if is is set to "hq". I can see no difference between "default" and "fast". Can anybody answer this questions? - What does " default" mean? Bad (scaling), slow (scaling), ....? - Why there is no difference between "default" and "fast"? Thanks for support.
(In reply to comment #4) > Retested with > > vaapi Version 0.5.10.pre1 > > libva info: VA-API version 0.37.0 > libva info: va_getDriverName() returns 0 > libva info: Trying to open /usr/lib/va/i965_drv_video.so > libva info: Found init function __vaDriverInit_0_37 > libva info: va_openDriver() returns 0 > vainfo: VA-API version: 0.37 (libva 1.5.0) > vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Mobile - 1.5.0 > > Parameter scale-method can be "default", "fast" or "hq". > > Parameter "scale-method" works, if is is set to "hq". > > I can see no difference between "default" and "fast". > > Can anybody answer this questions? > - What does " default" mean? Bad (scaling), slow (scaling), ....? > - Why there is no difference between "default" and "fast"? "default" means whatever is implemented by the driver as the best trade-off. Typically, this is bilinear filtering. "fast" means quality could be degraded but allow for faster execution, thus reducing power consumption from the GPU engines. In practice, "fast" method is not implemented, but it could be a nearest-neighbour filter. On Intel HD Graphics, there is a fixed function block (AVS) which is used for scaling. This requires a pretty recent driver, and I believe >= 1.5.0 is fine.
Moving to Product:GStreamer, Component:gstreamer-vaapi
Thanks for taking the time to report this. However, you are using a version that is too old and not supported anymore by GNOME developers. GNOME developers are no longer working on that version, so unfortunately there will not be any bug fixes by GNOME developers for the version that you use. By upgrading to a newer version of GNOME you could receive bug fixes and new functionality. You may need to upgrade your Linux distribution to obtain a newer version of GNOME. Please feel free to reopen this bug report if the problem still occurs with a recent version of GNOME, or feel free to report this bug in the bug tracking system of your Linux distribution if your distribution still supports the version that you are using.