intel / libva

Libva is an implementation for VA-API (Video Acceleration API)
http://intel.github.io/libva/
Other
660 stars 302 forks source link

No OSD in mpv player with libva 2.7.1 #409

Open rafalfr opened 4 years ago

rafalfr commented 4 years ago

In Manjaro Linux I play videos with the following mpv player commad: mpv -vo=vaapi -hwdec=vaapi video.mkv. With libva version 2.7.0 everything is all right. But with libva 2.7.1 the mpv player prints the error message "[vo/vaapi] OSD format not supported. Disabling OSD.". So with libva 2.7.1 I have no OSD in the player window. When I downgrade the libva package to 2.7.0 version, OSD is available again.

uartie commented 4 years ago

libva 2.7.1 selects the iHD driver by default. If the iHD driver is not installed, it falls back to the i965 driver. You can force which driver to use by setting the LIBVA_DRIVER_NAME=i965 environment variable.

I just tried running mpv on my machine (with -v) and I see 0 subpicture formats available... in the console when using iHD. If I export LIBVA_DRIVER_NAME=i965, then I see 6 subpicture formats available.... So I assume OSD requires subpictures support.

You should reach out to the iHD driver project https://github.com/intel/media-driver, instead, to see if they support subpictures or an alternative.

uartie commented 4 years ago

cc: @XinfengZhang

uartie commented 4 years ago

It looks like mpv -vo=gpu -hwdec=vaapi video.mkv works with iHD

rafalfr commented 4 years ago

Ok thank you, I use -vo=vaapi option because with -vo=gpu there is tearing both in windowed and full screen mode.