Blurry picture on Intel gfx when VAAPI enabled
When VA-API hardware acceleration is enabled on Intel graphics (from Sandy Bridge to Haswell), the picture becomes constantly blurry. This can be easily seen in more static scenes, when picture is blurry at first but then suddenly clears/sharpens. Unwatchable quality.
Examples:
Same frame:
- VAAPI disabled: http://a.pomf.se/rksxmx.png
- VAAPI enabled: http://a.pomf.se/qquisk.png
Two subsequent frames (first blurry, then the next frame where it clears/sharpens):
VLC:
-- 2.2.0-rc2, but also reproducible on at least: 2.1.5, 2.1.4 series
OS:
-- Linux Mint 17.1 Rebecca (= Ubuntu 14.04 LTS)
-- 3.13.0-37-generic
Intel:
-- xserver-xorg-video-intel = 2:2.99.910-0ubuntu1.4
-- i965-va-driver = 1.4.1veboxmaster1-3-veboxtrusty
-- libva 1.4.0
Can not reproduce on mplayer-based players or derivatives with VAAPI (mplayer, mplayer-vaapi, smplayer, mpv).
Relevant thread on the forum (multiple users have this issue):
https://forum.videolan.org/viewtopic.php?f=13&t=120850
$ vlc -v thewaterdiviner.mov
VLC media player 2.2.0-rc2 Weatherwax (revision 2.2.0+ppa3.2)
[0000000001df2058] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
"sni-qt/16300" WARN 00:47:50.309 void StatusNotifierItemFactory::connectToSnw() Invalid interface to SNW_SERVICE
[00007fdfecc01518] mp4 stream warning: unknown box type tapt (incompletely loaded)
[00007fdfecc01518] mp4 stream warning: unknown box type hdlr (incompletely loaded)
[00007fdfecc01518] mp4 stream warning: unknown box type cios (incompletely loaded)
[00007fdfecc01518] mp4 stream warning: unknown box type colr (incompletely loaded)
[00007fdfecc01518] mp4 stream warning: unknown box type colr (incompletely loaded)
[00007fdfecc01518] mp4 stream warning: unknown box type cslg (incompletely loaded)
[00007fdfecc01518] mp4 stream warning: unknown box type stps (incompletely loaded)
[00007fdfecc01518] mp4 stream warning: unknown box type gmin (incompletely loaded)
[00007fdfecc01518] mp4 stream warning: unknown box type tmcd (incompletely loaded)
[00007fdfecc01518] mp4 stream warning: unknown box type hdlr (incompletely loaded)
[00007fdfecc01518] mp4 stream warning: unknown box type cios (incompletely loaded)
[00007fdfecc01518] mp4 stream warning: unknown handler type in stsd (incompletely loaded)
[00007fdfecc01518] mp4 stream warning: unknown box type hdlr (incompletely loaded)
[00007fdfecc01518] mp4 stream warning: unknown box type cios (incompletely loaded)
[00007fdfecc01518] mp4 stream warning: unknown box type mp4a (incompletely loaded)
[00007fdfecc01518] mp4 stream warning: unknown box type (incompletely loaded)
[00007fdfecc01518] mp4 stream warning: unknown box type chan (incompletely loaded)
[00007fdfecc01518] mp4 stream warning: unknown box type apmd (incompletely loaded)
[00007fdfecc01518] mp4 stream warning: unknown box type apmd (incompletely loaded)
[00007fdfecc01768] mp4 demux warning: elst box found
[00007fdfecc01768] mp4 demux warning: STTS table of 1 entries
[00007fdfecc01768] mp4 demux warning: CTTS table of 3442 entries
[00007fdfecc01768] mp4 demux warning: elst box found
[00007fdfecc01768] mp4 demux warning: STTS table of 1 entries
[00007fdfecc78968] faad decoder warning: decoded zero sample
libva info: VA-API version 0.36.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_36
libva info: va_openDriver() returns 0
[00007fdfecc63518] avcodec decoder: Using Intel i965 driver for Intel(R) Ivybridge Mobile - 1.4.1.pre1 (1.4.1.pre1) for hardware decoding.
[0000000001ebad78] pulse audio output warning: starting late (-14798 us)
[00007fdfecc01768] mp4 demux warning: recreate ES for track[Id 0x1]
libva info: VA-API version 0.36.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_36
libva info: va_openDriver() returns 0
[00007fdfecc77fa8] avcodec decoder: Using Intel i965 driver for Intel(R) Ivybridge Mobile - 1.4.1.pre1 (1.4.1.pre1) for hardware decoding.
$ vainfo
libva info: VA-API version 0.36.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/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.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Ivybridge Mobile - 1.4.1.pre1 (1.4.1.pre1)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
VAProfileJPEGBaseline : VAEntrypointVLD