Initial VDPAU Testing
Well it is finally time to test NVidia’s VDPAU support under Linux.
Test Setup
- Dell Inspiron 1420 Laptop
- NVidia GeForce 8400M GS 128MB Video
- Intel Core 2 Duo T7500 @ 2.20GHz
- 3GB Ram
- Ubuntu 8.10
- Nvidia 180.25 Video driver
- Compiz disabled
- CPU locked in performance mode of 2.2 GHz
- mplayer-vdpau-3402051
- Hauppage HVR 900 digital tuner
- freeview|HD terrestrial signal
Channel Playback Comparison
Stats were collected via vmstat and the following commands were used to initiate DVB tuning and plaback
mplayer -vc ffh264 -vo xv -mc 2 dvb://CHANNEL mplayer -vc ffh264vdpau -mc 2 dvb://CHANNEL
We specify -mc 2 so that interlaced video has a chance to synchronise correctly.
| Channel | Format | Software | VDPAU |
|---|---|---|---|
| TV One | 720p | 27-35 % | 3 % |
| TV 2 | 720p | 20-35 % | 3 % |
| TV 3 | 1080i | 50+ % | N/A |
| C4 | 576i | 9-16 % | 3 % |
| Maori | 576i | 7-11 % | 3 % |
| freeview|HD | 720p | 27-35 % | 3 % |
The percentages above are based off a dual core CPU. When decoding in software ffmpeg only uses a single core so we are actually doing over 100% of a CPU
Outstanding Issues
My attempts to play TV3 with VDPAU resulting in the following error message
VO: [vdpau] 1920x1080 => 1920x1080 H.264 HIGH VDPAU acceleration [ASPECT] Warning: No suitable new res found! [ASPECT] Warning: No suitable new res found! [ASPECT] Warning: No suitable new res found! Error 23 at libvo/vo_vdpau.c:736
There is a good chance this is because the laptop only has 128MB of video ram and NVidia recomment 512MB for 1080 HD sized frames.
The higher software CPU load on C4 compared with other 576i channels is likely due to the much higher bitrate on C4.
Stability wise most of the crashes were because of the HE-AAC/FAAD audio support in MPlayer, although there were some video related crashes. Typically if I changed channel sometimes it would crash when it tried to lock onto the new audio or video stream.
Mostly the video quality with VDPAU was good, but there was some obvious video tearing on playback that I didn’t see with the ffmpeg decoder.
Conclusion
Great strides forward but sadly not ready for primetime. The WAF around my own myPVR would drop dramatically if I switched to freeview|HD and VDPAU due to the stability and video tearing issues.
Still well worth keeping my eye on future releases, and nice to have a laptop that can play most of freeview|HD without stressing the CPU.