[Libva] bug report - vainfo: dri2_util.c:164: isDRI2Connected: Assertion `dri_state->fd >= 0' failed - H264

Kite Lau kitelau at gmail.com
Sat Apr 3 19:22:42 PDT 2010


于 2010年04月02日 11:30, Xiang, Haihao 写道:
> There is only one patch for kernel driver you can get from that thread.
> Note this patch is based on drm-intel-next, so firstly you should get
> latest intel code from drm-intel kernel git repository
>
> git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel
>

Finally I got your patch alright after using munpack to read your 
multi-ring.patch (the mailing list converted your attachment to pure 
mime file). Now mplayer-vaapi plays h264 files, but the screen broken. 
See attached screenshot. And the following is the output of 
mplayer-vaapi. mplayer-vaapi complained of slow CPU...

bash-4.1$ vaapi 00003.m2ts
MPlayer SVN-r30589-4.4.3 (C) 2000-2010 MPlayer Team

Playing 00003.m2ts.
TS file format detected.
VIDEO H264(pid=4113) AUDIO DTS(pid=4352) NO SUBS (yet)!  PROGRAM N. 1
FPS seems to be: 24.000000
X11 opening display: :0.0
vo: X11 color mask:  FFFFFF  (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1440x900 with depth 24 and 32 bpp (":0.0" => local 
display)
[x11] Detected wm supports layers.
[x11] Using workaround for Metacity bugs.
[x11] Detected wm supports NetWM.
[x11] Detected wm supports ABOVE state.
[x11] Detected wm supports BELOW state.
[x11] Detected wm supports FULLSCREEN state.
[x11] Current fstype setting honours FULLSCREEN ABOVE BELOW X atoms
[vo_vaapi] preinit(): VA display 0x16fd610
libva: libva version 0.31.0
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib64/dri/i965_drv_video.so
libva: va_openDriver() returns 0
[vo_vaapi] preinit(): VA API version 0.31
[vo_vaapi] preinit(): 0 image formats available
[vo_vaapi] preinit(): 2 subpicture formats available
   IA44, flags 0x0
   AI44, flags 0x0
[vo_vaapi] preinit(): 5 profiles available
   VAProfileMPEG2Simple
   VAProfileMPEG2Main
   VAProfileH264Baseline
   VAProfileH264Main
   VAProfileH264High
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
[VD_FFMPEG] VA API accelerated codec.
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, s16le, 1536.0 kbit/100.00% (ratio: 192000->192000)
Selected audio codec: [ffdca] afm: ffmpeg (FFmpeg DTS)
==========================================================================
AO: [oss] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
Unsupported PixelFormat 61
[VD_FFMPEG] Trying pixfmt=1.
[vo_vaapi] query_format(): format 56410030 (H.264 VA API Acceleration)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [vaapi] 1920x1080 => 1920x1080 H.264 VA API Acceleration
[vo_vaapi] query_format(): format 56410030 (H.264 VA API Acceleration)
[vo_vaapi] config(): size 1920x1080, display size 1920x1080, flags 0, 
title 'MPlayer', format 56410030 (H.264 VA API Acceleration)
[vo_vaapi] Using IA44 surface for OSD
[vo_vaapi] config_vaapi(VAProfileH264High): 1 entrypoints available
   VAEntrypointVLD
[vo_vaapi] flip_page()
[VD_FFMPEG] XVMC-accelerated MPEG-2.
[vo_vaapi] get_image(): surface 0x04000000
[vo_vaapi] get_image(): surface 0x04000001
[vo_vaapi] draw_image(): surface 0x04000000
[vo_vaapi] flip_page()
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x04000002 2/  2 ??% ??% ??,?% 0 0
[vo_vaapi] draw_image(): surface 0x04000002
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x04000003 3/  3 ??% ??% ??,?% 1 0
[vo_vaapi] draw_image(): surface 0x04000003
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x04000004 4/  4 ??% ??% ??,?% 2 0
[vo_vaapi] draw_image(): surface 0x04000001
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x04000005 5/  5 ??% ??% ??,?% 2 0
[vo_vaapi] draw_image(): surface 0x04000005
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x04000006 6/  6 ??% ??% ??,?% 3 0
[vo_vaapi] draw_image(): surface 0x04000006
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x04000007 7/  7 ??% ??% ??,?% 3 0
[vo_vaapi] draw_image(): surface 0x04000004
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x04000008 8/  8 ??% ??% ??,?% 4 0
[vo_vaapi] draw_image(): surface 0x04000008
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x04000009 9/  9 ??% ??% ??,?% 5 0
[vo_vaapi] draw_image(): surface 0x04000009
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000a10/ 10 ??% ??% ??,?% 6 0
[vo_vaapi] draw_image(): surface 0x04000007
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000b11/ 11 ??% ??% ??,?% 6 0
[vo_vaapi] draw_image(): surface 0x0400000b
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000c12/ 12 ??% ??% ??,?% 7 0
[vo_vaapi] draw_image(): surface 0x0400000c
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000d13/ 13 ??% ??% ??,?% 8 0
[vo_vaapi] draw_image(): surface 0x0400000a
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000e14/ 14 132% 10%  3.2% 9 0
[vo_vaapi] draw_image(): surface 0x0400000e
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000f15/ 15 133%  9%  3.1% 10 0
[vo_vaapi] draw_image(): surface 0x0400000f
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400001016/ 16 133%  9%  3.0% 11 0
[vo_vaapi] draw_image(): surface 0x0400000d
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400001117/ 17 132% 11%  2.9% 12 0
[vo_vaapi] draw_image(): surface 0x04000011
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400001218/ 18 132% 13%  3.0% 13 0
[vo_vaapi] draw_image(): surface 0x04000012
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400001319/ 19 131% 12%  2.9% 13 0
[vo_vaapi] draw_image(): surface 0x04000010
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400001420/ 20 131% 12%  2.9% 14 0
[vo_vaapi] draw_image(): surface 0x04000014
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000221/ 21 133% 12%  2.8% 15 0
[vo_vaapi] draw_image(): surface 0x04000002
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000322/ 22 133% 11%  2.8% 16 0
[vo_vaapi] draw_image(): surface 0x04000013
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000523/ 23 132% 11%  2.7% 17 0
[vo_vaapi] draw_image(): surface 0x04000005
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000624/ 24 132% 11%  2.8% 18 0
[vo_vaapi] draw_image(): surface 0x04000003
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000825/ 25 132% 10%  2.7% 19 0
[vo_vaapi] draw_image(): surface 0x04000006
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000926/ 26 132% 11%  2.7% 20 0
[vo_vaapi] draw_image(): surface 0x04000009
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000027/ 27 132% 11%  2.7% 21 0
[vo_vaapi] draw_image(): surface 0x04000000
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000b28/ 28 131% 11%  2.7% 22 0
[vo_vaapi] draw_image(): surface 0x04000008
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000c29/ 29 131% 11%  2.8% 23 0
[vo_vaapi] draw_image(): surface 0x0400000c
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000130/ 30 131% 11%  2.8% 24 0
[vo_vaapi] draw_image(): surface 0x04000001
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000e31/ 31 131% 11%  2.8% 25 0
[vo_vaapi] draw_image(): surface 0x0400000b
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000f32/ 32 130% 10%  2.8% 25 0
[vo_vaapi] draw_image(): surface 0x0400000f
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000433/ 33 130% 10%  2.8% 26 0
[vo_vaapi] draw_image(): surface 0x04000004
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400001134/ 34 130% 10%  2.9% 27 0
[vo_vaapi] draw_image(): surface 0x0400000e
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400001235/ 35 130% 10%  2.8% 28 0
[vo_vaapi] draw_image(): surface 0x04000012
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000736/ 36 130% 11%  2.8% 29 0
[vo_vaapi] draw_image(): surface 0x04000007
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400001437/ 37 130% 11%  2.8% 30 0
[vo_vaapi] draw_image(): surface 0x04000011
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000238/ 38 130% 10%  2.8% 31 0
[vo_vaapi] draw_image(): surface 0x04000002
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000a39/ 39 130% 10%  2.8% 32 0
[vo_vaapi] draw_image(): surface 0x0400000a
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000d40/ 40 130% 10%  2.8% 33 0
[vo_vaapi] draw_image(): surface 0x04000014
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400001041/ 41 129% 10%  2.8% 34 0
[vo_vaapi] draw_image(): surface 0x04000010
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400001342/ 42 129% 10%  2.8% 35 0
[vo_vaapi] draw_image(): surface 0x04000013
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000943/ 43 129% 10%  2.8% 36 0
[vo_vaapi] draw_image(): surface 0x0400000d
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000044/ 44 129% 10%  2.8% 37 0
[vo_vaapi] draw_image(): surface 0x04000000
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000345/ 45 129%  9%  2.8% 38 0
[vo_vaapi] draw_image(): surface 0x04000003
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000c46/ 46 129%  9%  2.8% 39 0
[vo_vaapi] draw_image(): surface 0x04000009
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000147/ 47 129%  9%  2.8% 40 0
[vo_vaapi] draw_image(): surface 0x04000001
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000548/ 48 129%  9%  2.8% 41 0
[vo_vaapi] draw_image(): surface 0x0400000c
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000f49/ 49 129%  9%  2.7% 42 0
[vo_vaapi] draw_image(): surface 0x04000005
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000450/ 50 129%  9%  2.7% 43 0
[vo_vaapi] draw_image(): surface 0x0400000f
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000651/ 51 129%  9%  2.7% 44 0
[vo_vaapi] draw_image(): surface 0x04000004
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400001252/ 52 129%  9%  2.7% 44 0
[vo_vaapi] draw_image(): surface 0x04000012
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000753/ 53 129%  9%  2.7% 45 0
[vo_vaapi] draw_image(): surface 0x04000006
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000854/ 54 129%  8%  2.7% 46 0
[vo_vaapi] draw_image(): surface 0x04000008
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000255/ 55 129%  8%  2.7% 47 0
[vo_vaapi] draw_image(): surface 0x04000002
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000a56/ 56 129%  8%  2.7% 48 0
[vo_vaapi] draw_image(): surface 0x04000007
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000b57/ 57 129%  8%  2.7% 49 0
[vo_vaapi] draw_image(): surface 0x0400000b
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400001058/ 58 129%  8%  2.7% 50 0
[vo_vaapi] draw_image(): surface 0x0400000a
[vo_vaapi] flip_page()


            ************************************************
            **** Your system is too SLOW to play this!  ****
            ************************************************

Possible reasons, problems, workarounds:
- Most common: broken/buggy _audio_ driver
   - Try -ao sdl or use the OSS emulation of ALSA.
   - Experiment with different values for -autosync, 30 is a good start.
- Slow video output
   - Try a different -vo driver (-vo help for a list) or try -framedrop!
- Slow CPU
   - Don't try to play a big DVD/DivX on a slow CPU! Try some of the 
lavdopts,
     e.g. -vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=all.
- Broken file
   - Try various combinations of -nobps -ni -forceidx -mc 0.
- Slow media (NFS/SMB mounts, DVD, VCD etc)
   - Try -cache 8192.
- Are you using -cache to play a non-interleaved AVI file?
   - Try -nocache.
Read DOCS/HTML/en/video.html for tuning/speedup tips.
If none of this helps you, read DOCS/HTML/en/bugreports.html.

[vo_vaapi] get_image(): surface 0x0400001359/ 59 129%  8%  2.7% 51 0
[vo_vaapi] draw_image(): surface 0x04000010
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000e60/ 60 129%  8%  2.7% 52 0
[vo_vaapi] draw_image(): surface 0x04000013
[vo_vaapi] flip_page()
[vo_vaapi] get_image(): surface 0x0400000061/ 61 129%  8%  2.6% 53 0
[vo_vaapi] draw_image(): surface 0x0400000e

...


More information about the Libva mailing list