HowTo:Workstation:VDPAU

De Luispa

Video Decode and Presentation API for Unix (VDPAU)

VDPAU (Video Decode and Presentation API for Unix) es un API para Linux diseñado por NVidia que permite descargar la decodificación y post-procesado de video en el hardware de la GPU de la tarjeta NVidia. Evitas consumir CPU y sobre todo evitas consumir "muchísima" CPU con los nuevos formatos H264 y por supuesto con la Televisión en HD.

Se implementa a través de la librería "libvdpau" y está soportado a partir de las GeForce 8. VDPAU en X Window es equivalente al DxVA (DirectX Video Acceleration) API de Windows


El API soporta lo siguiente:

- Motion compensation (mo comp)
- Inverse discrete cosine transform (iDCT)
- VLD (Variable-Length Decoding) para video codificados con:
  MPEG-1, MPEG-2, MPEG-4 ASP (MPEG-4 Part 2), MPEG-4 AVC (H.264 / DivX 6), VC-1, WMV3/WMV9, Xvid / OpenDivX (DivX 4), y DivX 5
  
  El soporte de los siguientes empieza con la GeForce 200M (2xxM) o GPUs más modernas. 
  MPEG-4 ASP (MPEG-4 Part 2), Xvid / OpenDivX (DivX 4), y DivX 5.
  • A fecha de Nov'09 los programas que aprovechan VDPAU (se activa con USE) son los siguientes.
ffmpeg
mplayer
xbmc
VLC - Trabajando en incorporarlo, parece que ya está en GIT, pero no en portage.
XINE - A partir de Xine-Lib 1.2, todavía no en portage.


  • A continuación se puede observar la diferencia, con mplayer reproduciendo sin vdpau y con vdpau el mismo video Full-HD H264
Sin VDPAU
Con VDPAU



Librería

  • Cuando se activa la variable USE=vdpau se instala la librería libvdpau. Además recomiendo instalar el programa vdpauinfo
x11-libs/libvdpau
x11-misc/vdpauinfo
Código: $ vdpauinfo
display: :0.0   screen: 0
API version: 0
Information string: NVIDIA VDPAU Driver Shared Library  185.18.36  Fri Aug 14 18:28:21 PDT 2009

Video surface:

name   width height types
-------------------------------------------
420     4096  4096  NV12 YV12 
422     4096  4096  UYVY YUYV 

Decoder capabilities:

name               level macbs width height
-------------------------------------------
MPEG1                 0  8192  2048  2048
MPEG2_SIMPLE          3  8192  2048  2048
MPEG2_MAIN            3  8192  2048  2048
H264_MAIN            41  8192  2048  2048
H264_HIGH            41  8192  2048  2048
VC1_SIMPLE            1  8190  2048  2048
VC1_MAIN              2  8190  2048  2048
VC1_ADVANCED          4  8190  2048  2048

Output surface:

name              width height nat types
----------------------------------------------------
B8G8R8A8          8192  8192    y  Y8U8V8A8 V8U8Y8A8 
R10G10B10A2       8192  8192    y  Y8U8V8A8 V8U8Y8A8 

Bitmap surface:

name              width height
------------------------------
B8G8R8A8          8192  8192
R8G8B8A8          8192  8192
R10G10B10A2       8192  8192
B10G10R10A2       8192  8192
A8                8192  8192

Video mixer:

feature name                    sup
------------------------------------
DEINTERLACE_TEMPORAL             y
DEINTERLACE_TEMPORAL_SPATIAL     y
INVERSE_TELECINE                 y
NOISE_REDUCTION                  y
SHARPNESS                        y
LUMA_KEY                         y
HIGH QUALITY SCALING - L1        -
HIGH QUALITY SCALING - L2        -
HIGH QUALITY SCALING - L3        -
HIGH QUALITY SCALING - L4        -
HIGH QUALITY SCALING - L5        -
HIGH QUALITY SCALING - L6        -
HIGH QUALITY SCALING - L7        -
HIGH QUALITY SCALING - L8        -
HIGH QUALITY SCALING - L9        -

parameter name                  sup      min      max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH              y         1     4096
VIDEO_SURFACE_HEIGHT             y         1     4096
CHROMA_TYPE                      y  
LAYERS                           y         0        4

attribute name                  sup      min      max
-----------------------------------------------------
BACKGROUND_COLOR                 y  
CSC_MATRIX                       y  
NOISE_REDUCTION_LEVEL            y      0.00     1.00
SHARPNESS_LEVEL                  y     -1.00     1.00
LUMA_KEY_MIN_LUMA                y  
LUMA_KEY_MAX_LUMA                y  


______________



Enlaces y Créditos

[1] http://en.wikipedia.org/wiki/VDPAU Descripción de VDPAU
[2] http://http.download.nvidia.com/XFree86/vdpau/doxygen/html/index.html Página de VDPAU de NVidia

Volver a la página de Voz y Video

--Luis 15:16 24 oct 2009 (CEST)