New Video Decode and Presentation API

Torgeir Veimo torgeir at
Mon Nov 17 14:56:33 PST 2008

On 15 Nov 2008, at 04:28, Andy Ritger wrote:

> I'm pleased to announce a new video API for Unix and Unix-like  
> platforms,
> and a technology preview implementation of this API from NVIDIA.

>     * Defines an API for post-processing of decoded video, including
>       temporal and spatial deinterlacing, inverse telecine, and noise
>       reduction.

What about interlaced output and TV output. Is that still possible  
with this API?

Is field parity observed when outputting interlaced material? I think  
it's equally important to have good support for baseline mpeg2 in  
addition to other codecs, and this would imply that interlaced, field  
parity correct mpeg2 output on standard s-video / rgb should be fully  

>     * Defines an API for timestamp-based presentation of final video
>       frames.

This is interesting. Can such timestamps be synchronised with HDMI  
audio in some ways to guarantee judder free and audio resync free  
output? Ie, no need to resample audio to compensate for clock drift?

>     * Defines an API for compositing sub-picture, on-screen display,
>       and other UI elements.

I assume this indicates that video can easily be used as textures for  
opengl surfaces, and that opengl surfaces (with alpha transparency  
support) can easily be superimposed over video output?

> These patches include changes against libavcodec, libavutil, ffmpeg,

> and MPlayer itself; they may serve as an example of how to use VDPAU.

Would it be possible to provide a standalone playback test program  
that illustrates the api usage outside of mplayer?

> If other hardware vendors are interested, they are welcome to also
> provide implementations of VDPAU.  The VDPAU API was designed to allow
> a vendor backend to be selected at run time.

It would be helpful to have an open source "no output" backend to  
allow compile & run test when supported hardware is not available.  
This would also help accelerate support for any software backend if  
anyone should choose to implement one.

> VC-1 support in NVIDIA's VDPAU implementation currently requires  
> GeForce
> 9300 GS, GeForce 9200M GS, GeForce 9300M GS, or GeForce 9300M GS.

So only mobile chipsets supports VC-1 output currently?

It seems that the marketplace seems to be missing a 9500 GT based gfx  
card with passive cooling, low form factor and hdmi enabled output...

Torgeir Veimo
torgeir at

More information about the xorg mailing list