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

Note You need to log in before you can comment on or make changes to this bug.
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.