Thread: mplayer vdpau
View Single Post
Old 11-15-08, 08:15 PM   #82
Registered User
Join Date: Feb 2004
Posts: 2
Default Re: mplayer vdpau

I only tested h.264 support (for mpeg2 the cpu is fast enough, no vc-1 support for my G92 yet). When it works, it's VERY fast. 3-5% cpu usage on a 3GHz conroe c2d to playback a blu-ray 23mbit h.264 file. Makes me wonder why DXVA on windows need 20+% cpu do the same?, API inefficency, CPU based post processing?

Now for the bad news: the libvo display code (vo_vdpau) doesn't appear to wait for v-sync so you'll get nasty tearing on your pretty 1080p tv. Unacceptable for HTPC usage. It doesn't appear to like the h.264 bitstreams x264 in .mkv/.mp4 containers, or an apple trailer in a .mov container. Fails with a "Error at libvo/vo_vdpau.c:826" message.

I tried 'mkvextract tracks foo.mkv 1:video.264' as suggested here and it plays back the x264 encoded video stream perfectly. So it appears to be an issue with container muxing in the patched mplayer, more than a problem with x264 bitstreams.

And the BBC-HD planet earth caps I have show corruption but play (neon green and pink blocks in the bottom of the display, and some macro blocking in the good part of the picture at times.

Hopefully it'll all get fixed soon enough. I suspect the code is still new and rough, possibly released to steal thunder from ATI's unusable XvBA. It's a beta driver and a bunch unfinished mplayer patches (no osd, forward/reverse has issues, vsync).

Oh and I popped in #mythtv-users on freenode, people are talking about a vdpau patch to the trunk version of mythtv. The 3, 4? different video accel apis did cause a bit of a concern. Myth can probably handle it, it's c++, just subclass each api.

But I'm more worried about libavcodec, which everyone pretty much uses on linux for video decoding these days, are we going to end up with ffh264 (software), ffh264_vdpau, ffh264_xvba, ffh264_vaapi codecs? Since it's low level video bitstream code, it might be tougher to abstract than for the actual players.

Update: wild arse guess, since the same video stream works when mkvextracted, presumably the only difference is how vdpau is initialised before playback when playing a .mkv containered file?
cbaoth is offline   Reply With Quote