Video acceleration in Tegra2
Despite the fact that broad support for video and audio formats has been declared to be hardware accelerated by the Nvidia Tegra2 core, in practice, the situation is very poor. First, the Nvidia programmers' efforts to ensure hardware decoding moved to Android land. I guess Nvidia is more interested in selling Android tablets based on their CPU than other computer boxes running Ubuntu, or other distros. As a result, some desktop and mobile products (the Trimslice H250 nettop and the Toshiba AC100 smartbook) have no hardware acceleration in Linux at all. To reassure Toshiba users: though it comes with Android by default, it can be transformed into a normal Linux netbook.
Lately (December 2011), Nvidia announced that the SDK release for Tegra2 (L4T, Linux4tegra) was out for free download—so we can expect hardware acceleration support in Mplayer/vlc/gstreamer soon. All I can say about hardware acceleration is that it really works well. The internally distributed Nvidia test application shows that 1080p video playback consumes just 25 per cent of CPU resources! With software decoding, there’s no such luck!
Unfortunately, neither Mplayer, nor VLC supports hardware acceleration features (functions) hidden inside Tegra2 chip. That's why you can see such a slow playback for HD videos. If you compare Tegra2 with OMAP (another ARM CPU family, but from Cortexa9 series), the latter will give you more software points and provide a better computational performance. For example, Tegra2 floatingpoint implementation uses vfpv3-d16 instructions, while OMAP processors can run fullfeatured 32bit instructions. There are also no extensions like SIMD Neon. Again, this can be surely compensated when graphics acceleration comes to town. Even the functions already in Tegra2 are enough to make a breakthrough.