Using NVIDIA's VDPAU On Mobile Platforms
We know that NVIDIA's Video Decode and Presentation API for Unix (VDPAU) works very well for exposing PureVideo capabilities on Linux. We have benchmarked VDPAU and found it to perform very well in that under Linux it's possible to play HD videos with a $20 CPU and $30 GPU thanks to this video acceleration method. VDPAU is the best video acceleration / decoding API on Linux and is widely adopted by various multimedia applications, which is all in contrast to AMD's XvBA and their troubled implementation. But how does VDPAU work on mobile devices? With the ASUS Eee PC 1201N that is built on NVIDIA's ION platform we ran a new set of VDPAU video playback tests.
With this 12.1" netbook that has an Intel Atom N330 dual-core 1.60GHz processor, NVIDIA MCP79 motherboard, 2GB of DDR2 memory, 250GB Hitachi HTS54502 SATA 2.0 HDD, and NVIDIA ION graphics with 512MB of video memory we used the Phoronix Test Suite with its video-cpu-usage test profile that charts the CPU usage as a 1080p H.264 video file is played back three times. When running this test profile we also enabled the Phoronix Test Suite's system monitoring module to record some other metrics. We compared the mobile VDPAU performance for this NVIDIA ION netbook when using GL2, X-Video, and VDPAU acceleration methods. Ubuntu 9.10 (x86_64) was running on this system with the Linux 2.6.31 kernel and the NVIDIA 190.53 proprietary display driver.
To no surprise at all, the lowest CPU usage was found when playing back the 1080p video file in MPlayer with the Video Decode and Presentation API for Unix. The average CPU utilization during this test was merely 4.8%. The Atom N330 CPU had an average CPU utilization of 25.8% when using GL2 and then 26.5% when using X-Video. VDPAU is certainly the superior choice for lowering the CPU usage during HD video playback.
The CPU usage was dramatically lower when using VDPAU, and this did equate to a small drop in the system temperature. Using X-Video caused the system temperature to drop by 1°C and then it lost another degree with VDPAU.