Libav Wiki

The wiki is being slowly populated.

Using Libav

  1. Snippets - small, useful examples, mainly for avconv, but also for avplay and configuring/building Libav.

  2. Encoding - extra examples and information about encoding several formats.

  3. Platform - see what platforms Libav runs on, and platform-specific build instructions.

Debugging and Security

We take code security seriously and try our best not to introduce new bugs.

  1. Security/GitTemplate - Please use this git template for commits involving security issues.

  2. Security/Tools - Here are various tools that can be/have been used to catch Libav security issues.

  3. Security/FaultsInjection - A tool for randomized allocation failures, to trigger less-used code paths.

Contributing code

  1. SimpleTasks - places to get started on contributing to Libav.

  2. GitCommit - notes on properties a good Libav commit should have

  3. GitWorkflow - notes on branches and sending patches

  4. CodingStyle - Libav is a project that cares about coding style; please follow this.

  5. PagesToImprove - Improve pages on the wiki

  6. Help with documentation: browse it at and the doc/ directory of the git repository.

  7. ReleaseProcess - learn about the release process.

Planned features

Planned features are documented, giving you some insight on what will happen next.


  1. DirectoryStructure - what's where?

  2. Internals/CodecHowTo - general information on implementing codecs in Libav.

  3. Internals/DemuxerHowTo - what a demuxer contains, where to find out more, and skeleton code.


  1. GitAlias - useful git aliases for Libav development

  2. FATE - the Libav test suite.

  3. Oracle - the Libav Oracle helps catch changes that break the test suite, before they hit the master repository.

Tool howtos

  1. BenchmarkHowTo - most changes to Libav should be benchmarked; here's how.

  2. GcovCoverageHowTo - using gcov to find out what code the tests cover

  3. AArch64QemuSetup - build Libav, and run FATE on QEMU's AArch64 emulation.

Codec Information

Implementation details regarding Libavcodec codecs.

See also: and

Container Information

Implementation details regarding Libavformat containers.

See also:

Protocol Information

Implementation details regarding Libavformat protocols.

Migration Paths

Libav APIs change. To help downstream developers migrate, there are notes for migrating:

How to contribute to the Wiki

A Wiki is a collaborative site, anyone can contribute and share:

  • Register an account and ask the wiki administrators to enable you, the spam had been problematic enough to require manual checking

  • Edit any page by pressing Edit at the top or the bottom of the page

  • Create a link to another page with joined capitalized words (like WikiSandBox) or with [[words in brackets]]

  • Search for page titles or text within pages using the search box at the top of any page
  • See HelpForBeginners to get you going, and HelpContents for all help pages.

  • PagesToImprove - Improve pages on the wiki that are marked as works in progress.

This wiki is powered by MoinMoin.