Announcement

Collapse
No announcement yet.

xvba problems

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • xvba problems

    I'm trying to use xvba in a simple vaapi gstreamer pipeline on my system:

    Code:
    gst-launch-0.10 -v filesrc location=sintel_trailer-720p.mp4 ! queue ! qtdemux ! queue ! vaapidecode ! vaapisink
    No matter what I try, it gives me a black screen and crashes afterwards (output with XVBA_VIDEO_DEBUG=1 at the end of this post):

    Code:
    $ gst-launch-0.10 -v filesrc location=Downloads/sintel_trailer-720p.mp4 ! queue ! qtdemux ! queue ! vaapidecode ! vaapisink
    Setting pipeline to PAUSED ...
    libva: VA-API version 0.32.0
    Xlib:  extension "XFree86-DRI" missing on display ":0".
    libva: va_getDriverName() returns 0
    libva: Trying to open /usr/lib/dri/fglrx_drv_video.so
    libva: va_openDriver() returns 0
    Pipeline is PREROLLING ...
    /GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe100196764001fac34e6014016e840000003004000000c03c60c668001000668e9784cb22c, width=(int)1280, height=(int)720, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1
    /GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe100196764001fac34e6014016e840000003004000000c03c60c668001000668e9784cb22c, width=(int)1280, height=(int)720, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1
    /GstPipeline:pipeline0/GstVaapiDecode:vaapidecode0.GstPad:src: caps = video/x-surface, width=(int)1280, height=(int)720, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1, type=(string)vaapi, opengl=(boolean)false
    /GstPipeline:pipeline0/GstVaapiDecode:vaapidecode0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe100196764001fac34e6014016e840000003004000000c03c60c668001000668e9784cb22c, width=(int)1280, height=(int)720, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1
    /GstPipeline:pipeline0/GstVaapiSink:vaapisink0.GstPad:sink: caps = video/x-surface, width=(int)1280, height=(int)720, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1, type=(string)vaapi, opengl=(boolean)false
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    gst-launch-0.10: xvba_decode.c:614: xvba_BeginPicture: Assertion `!obj_context->va_buffers_count' failed.
    Aborted (core dumped)
    When trying out the 1080p sintel trailer I get the same crash and the well known:
    Code:
    xvba_video: driver does not support H.264 content over [email protected].
    Any reason why it would crash on the 720p sintel trailer?

    System info:

    ubuntu 12.04 (daily) with fglrx-updates, gstreamer0.10-vaapi, xvba-va-video (0.78, tried with 0.80 and same result) packages

    Code:
    $ fglrxinfo 
    display: :0  screen: 0
    OpenGL vendor string: Advanced Micro Devices, Inc.
    OpenGL renderer string: ATI Radeon HD 5570
    OpenGL version string: 4.2.11627 Compatibility Profile Context
    
    $ vainfo 
    libva: VA-API version 0.32.0
    Xlib:  extension "XFree86-DRI" missing on display ":0".
    libva: va_getDriverName() returns 0
    libva: Trying to open /usr/lib/dri/fglrx_drv_video.so
    libva: va_openDriver() returns 0
    vainfo: VA-API version: 0.32 (libva 1.0.15)
    vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.7.8
    vainfo: Supported profile and entrypoints
          VAProfileH264High               :	VAEntrypointVLD
          VAProfileVC1Advanced            :	VAEntrypointVLD
    Crash output with XVBA_VIDEO_DEBUG=1:
    Code:
    $ XVBA_VIDEO_DEBUG=1 gst-launch-0.10 -v filesrc location=Downloads/sintel_trailer-720p.mp4 ! queue ! qtdemux ! queue ! vaapidecode ! vaapisink
    Setting pipeline to PAUSED ...
    libva: VA-API version 0.32.0
    Xlib:  extension "XFree86-DRI" missing on display ":0".
    libva: va_getDriverName() returns 0
    libva: Trying to open /usr/lib/dri/fglrx_drv_video.so
    xvba_video: FGLRX driver version 8.96.4 detected
    xvba_video: FGLRX device ID 0x68d9
    xvba_video: Evergreen GPU detected
    xvba_video: XvBA version 0.76 detected
    libva: va_openDriver() returns 0
    Pipeline is PREROLLING ...
    /GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe100196764001fac34e6014016e840000003004000000c03c60c668001000668e9784cb22c, width=(int)1280, height=(int)720, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1
    /GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe100196764001fac34e6014016e840000003004000000c03c60c668001000668e9784cb22c, width=(int)1280, height=(int)720, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1
    /GstPipeline:pipeline0/GstVaapiDecode:vaapidecode0.GstPad:src: caps = video/x-surface, width=(int)1280, height=(int)720, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1, type=(string)vaapi, opengl=(boolean)false
    /GstPipeline:pipeline0/GstVaapiDecode:vaapidecode0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe100196764001fac34e6014016e840000003004000000c03c60c668001000668e9784cb22c, width=(int)1280, height=(int)720, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x03000000
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x03000001
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x03000002
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x03000003
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x03000004
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x03000005
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x03000006
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x03000007
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x03000008
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x03000009
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x0300000a
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x0300000b
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x0300000c
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x0300000d
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x0300000e
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x0300000f
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x03000010
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x03000011
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x03000012
    xvba_video: vaCreateSurfaces(): size 1280x720, format YUV420
    xvba_video:   surface 0x03000013
    xvba_video: vaCreateContext(): config 0x01000000, size 1280x720
    xvba_video:   surface 0x03000000
    xvba_video:   surface 0x03000001
    xvba_video:   surface 0x03000002
    xvba_video:   surface 0x03000003
    xvba_video:   surface 0x03000004
    xvba_video:   surface 0x03000005
    xvba_video:   surface 0x03000006
    xvba_video:   surface 0x03000007
    xvba_video:   surface 0x03000008
    xvba_video:   surface 0x03000009
    xvba_video:   surface 0x0300000a
    xvba_video:   surface 0x0300000b
    xvba_video:   surface 0x0300000c
    xvba_video:   surface 0x0300000d
    xvba_video:   surface 0x0300000e
    xvba_video:   surface 0x0300000f
    xvba_video:   surface 0x03000010
    xvba_video:   surface 0x03000011
    xvba_video:   surface 0x03000012
    xvba_video:   surface 0x03000013
    xvba_video:   context 0x02000000
    xvba_video: vaBeginPicture(): context 0x02000000, surface 0x03000000
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000002
    xvba_video:   buffer 0x04000003
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000001
    xvba_video:   buffer 0x04000000
    xvba_video: vaEndPicture(): context 0x02000000
    xvba_video: vaBeginPicture(): context 0x02000000, surface 0x03000001
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000000
    xvba_video:   buffer 0x04000001
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000005
    xvba_video:   buffer 0x04000004
    xvba_video: vaEndPicture(): context 0x02000000
    xvba_video: vaBeginPicture(): context 0x02000000, surface 0x03000002
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000004
    xvba_video:   buffer 0x04000005
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000002
    xvba_video:   buffer 0x04000003
    xvba_video: vaEndPicture(): context 0x02000000
    xvba_video: vaBeginPicture(): context 0x02000000, surface 0x03000003
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000003
    xvba_video:   buffer 0x04000002
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000000
    xvba_video:   buffer 0x04000001
    xvba_video: vaEndPicture(): context 0x02000000
    xvba_video: vaBeginPicture(): context 0x02000000, surface 0x03000004
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000001
    xvba_video:   buffer 0x04000000
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000004
    xvba_video:   buffer 0x04000005
    xvba_video: vaEndPicture(): context 0x02000000
    xvba_video: vaBeginPicture(): context 0x02000000, surface 0x03000005
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000005
    xvba_video:   buffer 0x04000004
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    /GstPipeline:pipeline0/GstVaapiSink:vaapisink0.GstPad:sink: caps = video/x-surface, width=(int)1280, height=(int)720, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1, type=(string)vaapi, opengl=(boolean)false
    xvba_video: vaPutSurface(): surface 0x03000000, drawable 0x04400001, src rect (0,0):1280x720, dest rect (0,0):1280x720
    xvba_video: Using Evergreen workaround 0
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    xvba_video: vaPutSurface(): surface 0x03000000, drawable 0x04400001, src rect (0,0):1280x720, dest rect (0,0):1280x720
    xvba_video: vaBeginPicture(): context 0x02000000, surface 0x03000006
    gst-launch-0.10: xvba_decode.c:614: xvba_BeginPicture: Assertion `!obj_context->va_buffers_count' failed.
    Aborted (core dumped)
    Last edited by tiftof; 27 March 2012, 02:52 PM.

  • #2
    I've never had success with gstreamer-vaapi (though it's been a while since I've tried), and I don't recall seeing any success stories on this forum. The va-api/xvba wrapper has been dead from a development level for a while now. It's better to use libxvba with xbmc: http://www.phoronix.com/scan.php?pag...tem&px=MTAyODU

    Comment


    • #3
      Well, I don't know very much about gstreamer-vaapi but, if I were you, I'd use mplayer-vaapi instead or, like the previous poster said, xbmc with native xvba support (in both cases, you'll have to compile the package for your distro, I think kano has a script to automatically build mplayer-vaapi for most debian-based distros...).

      Furthermore, I advise you to use the latest Catalyst version available for you distro (I think there's a PPA for Ubuntu users)... and xvba-video 0.8.0!

      Cheers

      Comment

      Working...
      X