Bug 50390 - gstreamer-vaapi does not work with g45
Summary: gstreamer-vaapi does not work with g45
Status: RESOLVED FIXED
Alias: None
Product: libva
Classification: Unclassified
Component: intel (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Wind Yuan
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-27 05:42 UTC by darkbasic
Modified: 2012-09-17 02:31 UTC (History)
6 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description darkbasic 2012-05-27 05:42:47 UTC
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@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@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ò


If you need a test file: http://files.linuxsystems.it//data/public/e4ebbd641c4af55713a127c1ae59b51c.php?lang=en

200MB, 90 seconds. Quite heavy 1080p
Estimated download time: from half an hour to one hour.

See also: http://lists.freedesktop.org/archives/intel-gfx/2012-May/017877.html
Comment 1 Wind Yuan 2012-06-05 23:23:35 UTC
Hi, 
   I want to check is there anything wrong in gstreamer-vaapi, but I can't get the test file from your link. could you setup a new link?
Thanks,
Wind
Comment 2 darkbasic 2012-06-06 03:34:56 UTC
Here it is: http://files2.linuxsystems.it/test.mkv
Anyway it isn't the only video which doesn't work, I didn't find an h264 video which works.
Comment 3 alium 2012-09-14 13:28:37 UTC
The gstreamer-vaapi from git (today) and libva-1.0.16 and libva-intel-driver g45-h264 branch works again.

gstreamer-vaapi-git 20120914-1
libva 1.0.16-1
libva-driver-intel-g45-h264-git 20120913-1

Tested on parole and xnoise player, G45: X4500MHD

from console:

XNOISE_ACTION_CONTEXT_REQUESTED
Using tag reader in item converter.
libva: VA-API version 0.32.1
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/dri/i965_drv_video.so
libva: va_openDriver() returns 0

(xnoise:1550): GLib-GObject-WARNING **: g_object_set_property: object class `GstVaapiSink' has no property named `force-aspect-ratio'
** Message: xnoise-screensaver-manager.vala:46: calling Inhibit
** Message: xnoise-screensaver-manager.vala:55: calling UnInhibit
libva: VA-API version 0.32.1
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/dri/i965_drv_video.so
libva: va_openDriver() returns 0

(xnoise:1550): GLib-GObject-WARNING **: g_object_set_property: object class `GstVaapiSink' has no property named `force-aspect-ratio'
** Message: xnoise-screensaver-manager.vala:46: calling Inhibit
** Message: xnoise-screensaver-manager.vala:55: calling UnInhibit
** Message: xnoise-screensaver-manager.vala:46: calling Inhibit
** Message: xnoise-screensaver-manager.vala:55: calling UnInhibit
** Message: xnoise-screensaver-manager.vala:46: calling Inhibit
libva: VA-API version 0.32.1
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/dri/i965_drv_video.so
libva: va_openDriver() returns 0

(xnoise:1550): GLib-GObject-WARNING **: g_object_set_property: object class `GstVaapiSink' has no property named `force-aspect-ratio'


libva works, CPU usage 16-20 %.
Comment 4 darkbasic 2012-09-14 13:45:28 UTC
I will try again and let you know, thanks!
Comment 5 darkbasic 2012-09-16 21:28:11 UTC
It works, but it's a slideshow :(
Only mplayer is fast...
Comment 6 Wind Yuan 2012-09-17 02:31:20 UTC
I'm sorry that I didn't find a gm45 platform. I tried this video in sandybridge and ivybridge, both works.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.