[FFmpeg-devel] VDPAU decoding: access to frames

Mean fixounet
Tue Jun 23 19:42:50 CEST 2009

Joakim Plate wrote:
> Your missing the point.. ffmpeg doesn't use vdpau to decode data. It only 
> provides a client application the information required for it to use vdpau to 
> decode data, in a format that vdpau can consume.
> Thus you can't grab any vdpay decoded data using ffmpeg at all. 

The main issue with vdpau support is that it is not well documented
(i know , i could send a patch for that :) )

In short, you have to :
    * dlopen vdpau from application, initialize it
    * add callback for getBuffer, releaseBuffer & draw_horiz in your context
   * getBuffer/releaseBuffer will allocate/deallocate vdpau buffer
   * draw_horiz will receive the data to send to vdpau masquerading as 
plain data
         Send data to vdpau
         Fetch back the result

You can see working example for example in xbmc/mplayer/mythtv/... or 
avidemux2.6 svn
 The latter does exactly what you want, i.e. fetch back the decoded data to
present them as if it was decoded by software

It is worth it, the speed increase is impressive.


More information about the ffmpeg-devel mailing list