I'm trying to use xvba in a simple vaapi gstreamer pipeline on my system:
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):
When trying out the 1080p sintel trailer I get the same crash and the well known:
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
Crash output with XVBA_VIDEO_DEBUG=1:
Code:
gst-launch-0.10 -v filesrc location=sintel_trailer-720p.mp4 ! queue ! qtdemux ! queue ! vaapidecode ! vaapisink
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)
Code:
xvba_video: driver does not support H.264 content over [email protected]
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
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)
Comment