[Libva] using TFP on intel

Oleksiy Krivoshey oleksiyk at gmail.com
Sat Nov 6 00:51:12 PDT 2010


On 4 November 2010 12:31, Gwenole Beauchesne
<gbeauchesne at splitted-desktop.com> wrote:
>
> mplayer -vo vaapi:gl:tfp uses vaPutSurface() to a Pixmap and then the
> GLX_EXT_texture_from_pixmap to bind it to an OpenGL texture.
>
> mplayer -vo vaapi:gl uses vaCopySurfaceGLX() to render a VA surface to an
> OpenGL texture, wrapped into a VA/GLX surface.
>
> The latter approach (VA/GLX) is preferable for OpenGL applications because
> some VA drivers don't support rendering to a Pixmap but do support direct
> rendering to an OpenGL texture instead.
>
> Do you mean that mplayer -vo vaapi:gl:tfp works but mplayer -vo vaapi:gl
> does *not* work? Current libva 1.0.5 should just work as is. Or do you have
> performance problems with either code path?
>

Thanks you for details! I've got an intel core i3 box running ubuntu
10.10, libva i'm using is compiled from git sources (i guess it is
1.0.6), vainfo reports the following

libva: libva version 0.31.1
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/dri/i965_drv_video.so
libva: va_openDriver() returns 0
vainfo: VA API version: 0.31
vainfo: Driver version: i965 Driver 0.1
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileH264Baseline           :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD


yes, you are right - i can play 1080p h264 video just fine with  -vo
vaapi:gl:tfp, with only 4-5% of CPU usage but when i use  -vo vaapi:gl
i've got broken playback - like displaying a still frame for 3-4
seconds, the jumping through all this time to next frame, displaying
it again for 3-4 seconds and so on (cpu usage is still low). XBMC
media center (that is using vaapi with ffmpeg) also plays video in a
broken way (mostly the same as described) and I thought I can
implement mplayer style TFP playback in XBMC as a temporary solution..
Just wanted to understand why mplayer explicit TFP usage option plays
perfectly while TFP solution in libva glx doesn't while the code looks
similar - is this because of extra FBO operations?.


-- 
Oleksiy


More information about the Libva mailing list