Das ganze läuft ungefähr so: (links hardware, rechts anwender)
hardware <-> treiber <-> vdpau/vaapi <-> player
VDPAU wird von nVidia (und glaube auch Intel) benutzt bzw. unterstützt, vaapi von AMD. Die Hardware muss natürlich H.264-Decoding unterstützen, d.h. entsprechendes Silizium auf dem Chip verbaut haben. Die Brazos-Plattform von AMD hat das auf alle Fälle (benutz ich selber), bei dem Rest weiß ichs nicht, aber wenn ontainwolf sagt dass nvidia das auch hat, dann glaub ich dem.
Das nächste ist der Treiber. Der muss die Videodekodierung natürlich auch unterstützen. Die OpenSource-Treiber für AMd und nvidia unterstützen das nicht, wie man hier sieht:
http://nouveau.freedesktop.org/wiki/FeatureMatrix http://www.x.org/wiki/RadeonFeature
Deshalb muss man proprietäre Treiber benutzen. Der catalyst-treiber funktioniert ohne Probleme, der proprietäre nvidia-Treiber ist üblicherweiße besser/fortgeschrittener als der von AMD, der wird das auch unterstützen.
Das nächste ist dann VDPAU bzw. vaapi. Das ist eine Bibliothek die eine Schnittstelle zwischen Treibern und Playern ist, so dass die Player nicht für jeden Treiber ein neues Interface bauen müssen sondern nur einmal für VDPAU oder VAAPI. Da gibts entsprechende Bibliotheken in den Repositories.
Der letzte Teil wäre der Mediaplayer. Wie gesagt, mplayer und VLC kann mit VDPAU/VA-API umgehen, d.h. sie haben Code der diese Bibliotheken benutzt um Videos zu dekodieren. Das bedeutet aber nicht automatisch, dass die Version in deinen Repositories jetzt VDPAU/VA-API kann, denn es kann sein dass der distributor bzw. derjenige der das Package erstellt die VDPAU-Unterstützung nicht mitkompiliert weil sie instabil ist o.Ä. Dann muss man im Notfall einen anderen Player benutzen oder selbst compilen.