[Intel-gfx] gstreamer-vaapi does not work with g45

Niccolò Belli darkbasic at linuxsystems.it
Sat May 26 17:05:38 CEST 2012


Hi,
OS is Gentoo amd64 and my laptop is a Samsung X360 (so gm45).
I'm using x11-libs/libva git (g45-h264 branch) and 
x11-libs/libva-intel-driver bit (g45-h264 branch).

media-libs/gstreamer-0.10.36
media-libs/gst-plugins-base-0.10.36
media-libs/gst-plugins-bad-0.10.23

Using media-plugins/gst-plugins-vaapi git.

Also using:
linux 3.4.0-rt7 (realtime patchset)
libdrm git
x11-drivers/xf86-video-intel-2.19.0 (sna off, vaapi is much slower with 
sna on)
media-libs/mesa-8.0.2
x11-base/xorg-server-1.12.1.902
"SwapbuffersWait" "off"
"vblank_mode" value="0"
kwin desktop effects off

vaapi h264 works flawlessly with mplayer:

mplayer -vo vaapi -va vaapi test.mkv
MPlayer SVN-r33094-4.5.3 (C) 2000-2011 MPlayer Team

Riproduco test.mkv.
Rilevato formato file libavformat!
[matroska,webm @ 0x335a580] Estimating duration from bitrate, this may 
be inaccurate
[lavf] stream 0: video (h264), -vid 0, test.mkv
[lavf] stream 1: audio (ac3), -aid 0, -alang eng, AC3 5.1 channels, 640kbps
VIDEO:  [H264]  1920x1080  0bpp  24.000 fps    0.0 kbps ( 0.0 kbyte/s)
Informazioni file multimediale:
  title: test.mkv
Load subtitles in ./
libva: libva version 0.32.0
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib64/va/drivers/i965_drv_video.so
libva: va_openDriver() returns 0
==========================================================================
Apertura decoder video: [ffmpeg] FFmpeg's libavcodec codec family
[VD_FFMPEG] VA API accelerated codec.
Scelto codec video: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Apertura decoder audio: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, s16le, 640.0 kbit/41.67% (ratio: 80000->192000)
Scelto codec audio: [ffac3] afm: ffmpeg (FFmpeg AC-3)
==========================================================================


Unfortunately it doesn't work with gstreamer-vaapi:

niko at laptop ~ $ dragon test.mkv
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::begin: Paint device returned engine == 0, type: 2
No accelerated IMDCT transform found
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::begin: Paint device returned engine == 0, type: 2
libva: libva version 0.32.0
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib64/va/drivers/i965_drv_video.so
libva: va_openDriver() returns 0
dragon: i965_avc_bsd.c:337: i965_avc_bsd_slice_state: Assertion 
`frame_idx < (sizeof(i965_h264_context->fsid_list) / 
sizeof((i965_h264_context->fsid_list)[0]))' failed.
KCrash: Application 'dragon' crashing...
KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit
sock_file=/home/niko/.kde4/socket-laptop/kdeinit4__0
dragon: Fatal IO error: client killed

[1]+  Stopped                 dragon test.mkv



While with gst-launch I get:

niko at laptop ~ $ gst-launch-0.10 -v filesrc location=test.mkv ! 
matroskademux ! vaapidecode ! vaapisink
Impostazione della pipeline a PAUSED ...
libva: libva version 0.32.0
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib64/va/drivers/i965_drv_video.so
libva: va_openDriver() returns 0
La pipeline è in PREROLLING ...
/GstPipeline:pipeline0/GstVaapiDecode:vaapidecode0.GstPad:src: caps = 
video/x-surface, width=(int)1920, height=(int)1080, 
framerate=(fraction)5000000/208333, pixel-aspect-ratio=(fraction)1/1, 
type=(string)vaapi, opengl=(boolean)true
/GstPipeline:pipeline0/GstVaapiDecode:vaapidecode0.GstPad:sink: caps = 
video/x-h264, level=(string)4.1, profile=(string)high, 
codec_data=(buffer)01640029ffe1001867640029acd940780227e584000cb73402625a023c60c65801008668e93b3ce5531cc305d2628d13080214868783a1c0d04e12142c0ac0da02fe10042ad35e9e850b748c778a1410088b172105449ca3050e204448b20a4d8a081827090809848541dc4290a43164215a201900cae8340f81e86f03300b6017002ac05981d61a07802a8400a902087404700bc010506e036404b811805902e07203e0087ff858f0, 
stream-format=(string)avc, alignment=(string)au, width=(int)1920, 
height=(int)1080, pixel-aspect-ratio=(fraction)1/1, 
framerate=(fraction)5000000/208333
gst-launch-0.10: i965_avc_bsd.c:337: i965_avc_bsd_slice_state: Assertion 
`frame_idx < (sizeof(i965_h264_context->fsid_list) / 
sizeof((i965_h264_context->fsid_list)[0]))' failed.
Annullato



Hope you can help, no one is going to maintain mplayer-vaapi anymore and 
there is no hope for mplayer2-vaapi. I also tried vlc with vaapi but it 
sucks hards (it stutter, you just can't watch a video with vlc and vaapi).

Thanks,
Niccolò



More information about the Intel-gfx mailing list