A little HOWTO on how to make VDR using the new VDPAU hardware acceleration…
[UPDATE]Read here, how to install VDR on Karmic Koala with Binary Packages.[/UPDATE] Like I wrote here, the xine developer team is working on an own implementation of Nvidia’s VDPAU video display driver, which is an H.264 hardware acceleration.
I’ve downloaded (checked out revision #106) the first alpha release here:
svn co svn://jusst.de/xine-vdpau
I’ve used this Nvidia vdpau driver. Version >=180.16 is the minimum version you need. Read here how to install this new Beta driver on a Unbuntu 8.10.
I’ve tried this on a Ubuntu 8.10 (Intrepid Ibex) x86_64, but before you read ahead: I didn’t succeed. I’ve managed to compile, but I can’t see anything. Still interested? Then keep reading.
(Btw. I’ll update this post, as soon I get it completely to work)
It’s working (not VDR), but keep reeding till the very end, there is the solution.
The proposed method in the README-VDPAU is:
But it didn’t work for me, I only got a bunch of compilation errors:
pp.c:33:27: error: postprocess.h: No such file or directory pp.c:59: error: ‘PP_QUALITY_MAX’ undeclared here (not in a function) pp.c:79: error: expected specifier-qualifier-list before ‘pp_context_t’ . . pp.c:340: error: ‘post_plugin_pp_t’ has no member named ‘pp_mode’ mv -f .deps/xineplug_post_planar_la-denoise3d.Tpo .deps/xineplug_post_planar_la-denoise3d.Plo make: *** [xineplug_post_planar_la-pp.lo] Error 1 make: *** Waiting for unfinished jobs.... mv -f .deps/xineplug_post_planar_la-eq.Tpo .deps/xineplug_post_planar_la-eq.Plo mv -f .deps/xineplug_post_planar_la-eq2.Tpo .deps/xineplug_post_planar_la-eq2.Plo mv -f .deps/xineplug_post_planar_la-unsharp.Tpo .deps/xineplug_post_planar_la-unsharp.Plo mv -f .deps/xineplug_post_planar_la-noise.Tpo .deps/xineplug_post_planar_la-noise.Plo make: Leaving directory `/usr/local/src/xine-lib-vdpau/xine-vdpau/src/post/planar' make: *** [all-recursive] Error 1 make: Leaving directory `/usr/local/src/xine-lib-vdpau/xine-vdpau/src/post' make: *** [all-recursive] Error 1 make: Leaving directory `/usr/local/src/xine-lib-vdpau/xine-vdpau/src' make: *** [all-recursive] Error 1
I’ve tried a lot of stupid things, and came out with an also stupid, but compiling and linking version:
./autogen.sh --prefix=/usr CPPFLAGS="-I/usr/local/src/xine-vdpau/src/libffmpeg -I/usr/local/src/xine-vdpau/src/libffmpeg/libavutil -I/usr/local/src/xine-vdpau/src/libffmpeg/libavcodec -I/usr/local/src/xine-vdpau/src/libffmpeg/libavcodec/libpostproc"
The README (not README-VDPAU) propose to use any player, like ‘xine-ui, gxine, totem, …‘, so I decided to use xine-ui. This is how I got it:
cvs -d:pserver:firstname.lastname@example.org:/cvsroot/xine login cvs -z3 -d:pserver:email@example.com:/cvsroot/xine co -P xine-ui
Now compilation and installation
./autogen.sh --enable-vdr-keys --prefix=/usr make && make install
I’ve downloaded one sample (astrahd+.m2t) from here:
But no matter how I tried to play it back, it didn't worked for me. There must be a little mistake I made.
I've tried the the lines below, and a few other combinations, but it didn't work. Since I'm not very familiar with xine, and didn't had time to peek into the source code, I don't have any clue how the playback have to be initiated correctly. Unfortunately there is nothing mentioned in the both READMEs and the Internet (Google) doen't either know anything. Well - I guess it's a bit too new right now.
This is what I've tried.
[UPDATE]This is wrong, leave out "-V vdpau_xxx", it's working automatically.
xine --no-logo --verbose -V vdpau_h264 astrahd+.m2t xine --no-logo --verbose -V vdpau_mpeg12 astrahd+.m2t