libavcodec

libavcodec (FFmpeg)
Developer(s) FFmpeg team
Stable release 57.64.100 (included in FFmpeg 3.2) (October 27, 2016 (2016-10-27)) [±]
Preview release Git [±]
Repository git.ffmpeg.org/gitweb/ffmpeg.git/tree/HEAD:/libavcodec
Written in C99
Operating system Available for Windows, OS X, Debian, Red Hat Linux and Ubuntu but may be compiled for any other OS[1]
Platform Available for x86 but may be compiled for any desktop computer or supercomputer
Type Multimedia Library
License GNU LGPL 2.1+ or GNU GPL 2+ or unredistributable if compiled as such[2]
Website ffmpeg.org
libavcodec (Libav)
Developer(s) Libav team
Stable release 56.1.0 (included in Libav 11) (September 13, 2014 (2014-09-13)) [±]
Preview release Git [±]
Repository git.ffmpeg.org/gitweb/ffmpeg.git/tree/HEAD:/libavcodec
Written in C99
Operating system Available for Windows, Debian, Gentoo Linux, Ubuntu and OpenEmbedded but may be compiled for any other OS[3]
Platform Available for x86 but may be compiled for any desktop computer or supercomputer
Type Multimedia Library
License GNU LGPL 2.1+ or GNU GPL 2+ or unredistributable if compiled as such[2]
Website libav.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 MPlayer, 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, even though libavcodec strives for decoding that is bit-exact to the official implementation, bugs and missing features in such reimplementations can sometimes introduce compatibility problems playing back certain files.

Implemented video codecs

libavcodec includes video decoders and/or encoders for the following formats:[6]

Implemented audio codecs

libavcodec includes decoders and encoders for the following formats:[7]

Legal aspects

Libavcodec contains more than 100 codecs,[8] most of which do not just store uncompressed data. Most codecs that compress information could be claimed by patent holders.[9] Such claims may be enforceable in countries like the United States which have implemented software patents, but are considered unenforceable or void in countries that have not implemented software patents.

Furthermore, many of these codecs are only released under terms that forbid reverse engineering, even for purposes of interoperability. These terms of use are forbidden in certain countries. For example, some European Union nations have not implemented software patents and have laws expressly allowing reverse engineering for purposes of interoperability.[10]

Libraries that depend on libavcodec

Applications using libavcodec

Video players

Audio players

Multimedia players

Video editors

See also Comparison of video editing software

Audio editors

Video converters

Video libraries

Optical disc authoring

Graphic libraries

3D graphics editors

VoIP

Multimedia Streaming Server

Multimedia frameworks

Computer vision libraries

Browser

Media Center

Screen Capture

Device utilities

CCTV

Game

Others

References

  1. "Download". ffmpeg.org. FFmpeg. Retrieved 2012-01-04.
  2. 1 2 libavcodec can be configured to make it a proprietary and unredistributable library since some optional external libraries are proprietary software and cannot be distributed under the terms of the GPL, for example libfaac.
  3. "Getting Libav". libav.org. Retrieved 27 June 2013.
  4. Libav License and Legal Considerations, libav.org, retrieved 2013-05-07
  5. libavcodec – AfterDawn: Glossary of technology terms & acronyms, AfterDawn, 2010-07-02, retrieved 2012-01-17
  6. General Documentation, Ffmpeg.org, retrieved 2012-01-17
  7. General Documentation, Ffmpeg.org, retrieved 2012-01-17
  8. "Codecs list". ffmpeg.org. Retrieved 2012-01-01.
  9. "Legal information on FFmpeg's website". ffmpeg.org. Retrieved 2012-01-04.
  10. Council Directive 91/250/EEC of 14 May 1991 on the legal protection of computer programs
  11. Blender for Dummies, Books.google.com, p. 320, retrieved 2012-01-17
  12. Learning OpenCV: computer vision with the OpenCV library, Books.google.com, 2008-09-24, p. 9, retrieved 2012-01-17
  13. whatwg MPEG-1 subset proposal for HTML5 video codec, Lists.whatwg.org, retrieved 2012-01-17
  14. Open Source Development, Communities and Quality: IFIP 20th World Computer, Books.google.com, p. 167, retrieved 2012-01-17
  15. pulseaudio.git/tree – src/pulsecore/ffmpeg/, Git.0pointer.de, retrieved 2012-01-17
This article is issued from Wikipedia - version of the 10/22/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.