Libavcodec

libavcodec
Developer(s)FFmpeg team
Stable release60.31.102 (included in FFmpeg 6.1.1)[1] (December 31, 2023; 10 months ago (2023-12-31)) [±]
Preview releaseGit [±]
Repository
Written inC99
Operating systemAvailable for Windows, OS X, Linux but may be compiled for any other OS[2]
PlatformAvailable for x86 but may be compiled for any desktop computer or supercomputer
TypeMultimedia Library
LicenseGNU LGPL 2.1+ or GNU GPL 2+ or non-redistributable if compiled as such[3]
Websiteffmpeg.org

libavcodec is a free and open-source[4] library of codecs for encoding and decoding video and audio data.[5]

libavcodec is an integral part of many open-source multimedia applications and frameworks. The popular MPV, xine and VLC media players use it as their main, built-in decoding engine that enables playback of many audio and video formats on all supported platforms. It is also used by the ffdshow tryouts decoder as its primary decoding library. libavcodec is also used in video editing and transcoding applications like Avidemux, MEncoder or Kdenlive for both decoding and encoding.

libavcodec contains decoder and sometimes encoder implementations of several proprietary formats, including ones for which no public specification has been released. As such, a significant reverse engineering effort is part of libavcodec development. Having such codecs available within the standard libavcodec framework gives a number of benefits over using the original codecs, most notably increased portability, and in some cases also better performance, since libavcodec contains a standard library of highly optimized implementations of common building blocks, such as DCT and color space conversion. However, while libavcodec does strive to achieve decoding that is bit-exact to their official format implementations, occasional bugs and missing features in such re-implementations can sometimes introduce playback compatibility problems for certain files.

  1. ^ [1]
  2. ^ "Download". ffmpeg.org. FFmpeg. Archived from the original on 2013-09-27. Retrieved 2012-01-04.
  3. ^ libavcodec can be configured to make it a proprietary and non-redistributable library since some optional external libraries are proprietary software and cannot be distributed under the terms of the GPL (e.g. Decklink).
  4. ^ "Libav License and Legal Considerations". libav.org. Archived from the original on 2021-05-15. Retrieved 2013-05-07.
  5. ^ libavcodec – AfterDawn: Glossary of technology terms & acronyms, AfterDawn, 2010-07-02, archived from the original on 2010-02-14, retrieved 2012-01-17