Gavl is short for Gmerlin Audio Video Library. It is a low level library, upon which multimedia APIs can be built. Gavl handles all the details of audio and video formats like colorspaces, samplerates, multichannel configurations etc. It provides standardized definitions for those formats as well as container structures for carrying audio samples or video images inside an application.

In addition, it handles the sometimes ugly task to convert between all these formats and provides some elementary operations (copying, scaling, alpha blending etc).

Some programmers optimize their multimedia software for quality, others for speed. gavl has multiple versions of the same routine and lets the user choose. This can either be done by a simple integer quality <-> speed parameter (1..5) or by setting detailed flags. Check the benchmarks for a detailed speed comparison.

Some features

API documentation

Doxygen documentation can be found here.

What needs to be done

What will never be supported

The following things will never be supported, because they are beyond the scope of gavl: You'll find implementations of these (on top of gavl) in other packages like gmerlin.


The official gavl sourcecode can be downloaded at the download page.