Accelerated Video Playback, Continued
So, after all that, where are we today? Basically, the only vendor giving a decent experience with HD playback out of the box is NVIDIA. For all we know, ATI's equivalent is just as good, but without any programming information, nobody can actually use it. At this moment in time, though, NVIDIA's offering is still a chore to use - VDPAU support exists in the development versions of the source for players like VLC or Xine, but it's not going to be an easy-clicky job for a few months yet (i.e. when stable app releases include it, and distributions start to include those).
For comparison, however, I tried playing back some HD media with a VDPAU-enabled build of MPlayer (SVN revision r29053). For these tests, audio decoding is switched off entirely - the video is played back full screen from start to finish, and the total "CPU Time" (i.e. stress placed on the CPU for playback) is recorded. Since there's no accelerated playback on ATI, it didn't seem worth running any benchmarks with an ATI card fitted - instead, I'm recording numbers for four styles of video playback:
- Xv (overlay video)
- Multitextured OpenGL
- VDPAU-accelerated output (with CPU decoding)
- Full VDPAU-accelerated decode/playback.
The sample videos picked are a 15-minute (21,600 frame) segment of two movies which use different codecs and bitrates. For H.264 decode testing we have the 1970's movie Dawn of the Dead, which is about 36Mbit/s including audio. For VC-1 we have the 2006 animated(ish) movie A Scanner Darkly, which has a much lower bitrate of about 17Mbit/s including audio.
Well, seems to work - although it's interesting how much slower VC-1 decoding is than H.264. This might be a driver bug (VC-1 decoding on AMD64 is mentioned in the release notes for the 180.44 driver, which was released too late to be benchmarked)
Winner: NVIDIA, by default - but only if your CPU is old and/or slow