You are not logged in.
I've always been confused by setting up hardware decoding - but a couple of recent threads reminded me of this nagging issue and I took another shot at it. Yet despite all the claims that mpv should support vaapi, it is simply not working here. I've followed the instructions here yet mpv falls back to software decoding every time. I've been searching for related issues, but I can't seem to find any reports from intel graphics users.
The output from mpv:
$ mpv --vo=opengl --hwdec=vaapi video.mpg
Playing: video.mpg
[stream] Video (+) --vid=1 (mpeg1video)
[vo/opengl/x11] X11 error: GLXBadFBConfig
[vo/opengl] Could not create GL3 context. Retrying with legacy context.
Using software decoding.
VO: [opengl] 720x480 => 853x480 yuv420p
V: 00:00:00 / 00:00:32 (2%) Dropped: 1
Exiting... (Quit)Mpv's man page suggests that vo=vaapi should only be used for old hardware, though it doesn't specify how old. I gave that a try too. That avoids the GLX error, yet still falls back to software decoding:
$ mpv --vo=vaapi --hwdec=vaapi video.mpg
Playing: video.mpg
[stream] Video (+) --vid=1 (mpeg1video)
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_37
libva info: va_openDriver() returns 0
Using software decoding.
VO: [vaapi] 720x480 => 853x480 yuv420p
V: 00:00:00 / 00:00:32 (1%)
Exiting... (Quit)My hardware:
$ lspci -vnn | grep -i vga
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42] (rev 07) (prog-if 00 [VGA controller])I have all the drivers/packages listed on the intel graphics wiki page.
I must be missing something obvious here - the guides seem to suggest this should 'just work' yet mpv keeps falling back to software decoding.
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Gen4 graphics require a special branch to get hardware h264 decoding. It's in AUR as libva-intel-driver-g45-h264. Install that, then check with vainfo to see if you now have h264 available.
Offline
I have had issues with that my self though when I use libva-intel-driver-g45-h264 and xf86-video-intel-git from aur i get...
[stream] Video (+) --vid=1 (*) (h264)
[stream] Audio (+) --aid=1 --alang=und (*) (aac)
File tags:
major_brand: isom
minor_version: 1
compatible_brands: isom
creation_time: 2015-01-24 04:02:36
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_37
libva info: va_openDriver() returns 0
Trying to use hardware decoding.
AO: [alsa] 48000Hz stereo 2ch float
VO: [vaapi] 720x404 vaapiI just use my user mpv config with
vo=vaapi ao=alsa
softvol=no
hwdec=vaapi
fs=yesand then mpv file or link(i use youtube-dl which works oob)
I also use the input that was sugested in the wiki which is nice for aspect ratio.
I think I have the same graphics as you
for here is my output
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42] (rev 07) (prog-if 00 [VGA controller])
Last edited by bleach (2015-01-26 19:34:49)
Offline
I was hoping you'd chime in on this one Gusar. Thanks to both of your for the suggestions. So far no joy, though. I installed libva-intel-driver-g45-h264 and tried again and received identical output as in my initial post. I also tried xf86-video-intel-git which also gave no change.
To be clear, the video plays just fine, but it just relies on software decoding.
The output from vainfo from after the updates:
$ vainfo
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/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) GM45 Express Chipset - 1.5.0
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264High : VAEntrypointVLDedit: for reference/comparison I removed the new packages and got the "pre" vainfo (then reinstalled the aur packages again):
$ vainfo
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exitAs I'm pretty ignorant about video drivers, I'm curious if there are some video files that just would not be able to be hardware-decoded? I've tried a small number of different videos and am getting the same results with all of them, but if there are video-file constraints, are there any sample/testing videos around I should use for debugging?
Last edited by Trilby (2015-01-26 20:59:33)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
note: 10bit color depth (Hi10p) videos not support hardware decoding
Offline