[FFmpeg-devel] hwaccel infrastructure in libavcodec

Gwenole Beauchesne gbeauchesne
Wed Mar 16 18:10:06 CET 2011


On Wed, 16 Mar 2011, Gregor Riepl wrote:

> But is hwaccel really designed to do decoding, instead of playback? The
> device specific (virtual) pixfmts exist exactly for this reason, I believe.

hwaccel is designed to handle everything that does not touch a 
display/screen/whatever you call it. In particular, this does decode only, 
since libavcodec is... a codec library. No playback stuff is in.

The goals (implemented in v2):
- do as much decoding as possible in libavcodec
- allow cases where fast readback (as YUV pixels) is possible
- initialize display-independent parts of the decoder in libavcodec
- initialize display-dependent parts of the decoder in the player

The latter is generally less than 5 lines. e.g. vaGetDisplay() for VA-API, 
VdpDeviceCreateX11() for VDPAU, etc.


More information about the ffmpeg-devel mailing list