VDPAU è un'API sviluppata da NVIDIA che permette agli utenti X-Window su sistemi Unix-like (Linux, Solaris e OpenBSD) di utilizzare un sottoinsieme delle funzionalità della propria tecnologia Pure Video HD.
Secondo l'annuncio su NVnews, VDPAU:
L'attuale implementazione richiede schede che supportano la tecnologia Pure Video HD di seconda generazione: come minimo appartenenti alla serie GeForce 8 (con qualche eccezione).
La nuova API è stata introdotta a partire dalla beta pubblica del driver proprietario 180.06.
NVIDIA ha sviluppato delle patch per MPlayer e FFmpeg che abilitano il supporto alla nuova API, come esempio di applicazione video che utilizza VDPAU.
# emerge --sync
/etc/make.conf VIDEO_CARDS="nvidia"
vdpau per MPlayer ed FFmpegMPlayer # emerge --newuse mplayer
L'ultima versione di ffmpeg presente nei repository ufficiali di Ubuntu 9.10 (Karmic Koala) dovrebbe essere compilata col supporto a VDPAU.
$ apt-get install mplayer
Al termine della installazione occorre assicurasi che vdpau sia presente nell'elenco dei driver di uscita disponibili
$ mplayer -vo help
Devi utilizzare il driver di uscita vdpau ed uno dei codec che supportano VDPAU
$ mplayer -vo vdpau -vc ffmpeg12vdpau,ffh264vdpau,ffwmv3vdpau,ffvc1vdpau, <file>
la virgola alla fine dell'opzione -vc permette ad MPlayer di utilizzare i CODEC di default,
quando quelli indicati non siano adeguati (es. non supportano il formato DivX)
| Tabella dei CODEC | |
|---|---|
| CODEC | Descrizione |
| ffmpeg12vdpau | MPEG-1/2 video (VDPAU acceleration) |
| ffh264vdpau | H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (VDPAU acceleration) |
| ffwmv3vdpau | Windows Media Video 9 VDPAU |
| ffvc1vdpau | SMPTE VC-1 VDPAU |
Si può evitare di digitare ogni volta le medesime opzioni, mettendole all'interno del file ~/.mplayer/config.
vo=vdpau vc=ffmpeg12vdpau,ffh264vdpau,ffwmv3vdpau,ffvc1vdpau,
Sul sito di Adobe è stato aperto un ticket per richiedere il supporto a VDPAU in Flash Player. Effettivamente sarebbe una feature davvero utile, perché YouTube ha adottato la codifica H.264 per i video in qualità HQ ed HD.
L'offload verso la GPU permette di ridurre considerevolmente il carico di lavoro sulla CPU. Provate a scaricare da YouTube un video in qualità HD (formato H.264). Tenete aperto il monitor di sistema e riproducete il filmato con MPlayer senza utilizzare l'accelerazione hardware:
$ mplayer -vo xv -vc ffh263 <video>
Ripetete l'esperimento utilizzando la nuova API
$ mplayer -vo vdpau -vc ffh264vdpau <video>
Dovreste vedere una drastica riduzione dell'utilizzazione della CPU.
L'utilizzo della tecnologia Pure Video HD dovrebbe risultare anche in immagini di qualità superiore.
Discussione