libavcodec
Developer(s) | FFmpeg team |
---|---|
Stable release | 57.24.102 (included in FFmpeg 3.0) (February 15, 2016[±] | )
Preview release | Git [±] |
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 |
Developer(s) | Libav team |
---|---|
Stable release | 56.1.0 (included in Libav 11) (September 13, 2014[±] | )
Preview release | Git [±] |
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 |
libavcodec is a free and open-source[4] library of codecs for encoding and decoding video and audio data.[5] Because of a project fork, libraries with this name are provided by FFmpeg[6] and Libav,[7] but they are incompatible.[citation needed]
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.
Contents
- 1 Legal aspects
- 2 Implemented video codecs
- 3 Implemented audio codecs
- 4 Libraries that depend on libavcodec
- 5 Applications using libavcodec
- 5.1 Video players
- 5.2 Audio players
- 5.3 Multimedia players
- 5.4 Video editors
- 5.5 Audio editors
- 5.6 Video converters
- 5.7 Video libraries
- 5.8 Optical disc authoring
- 5.9 Graphic libraries
- 5.10 3D graphics editors
- 5.11 VoIP
- 5.12 Multimedia Streaming Server
- 5.13 Multimedia frameworks
- 5.14 Computer vision libraries
- 5.15 Browser
- 5.16 Media Center
- 5.17 Screen Capture
- 5.18 Device utilities
- 5.19 CCTV
- 5.20 Game
- 5.21 Others
- 6 References
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]
Implemented video codecs
libavcodec includes video decoders and/or encoders for the following formats:[11]
|
|
Implemented audio codecs
libavcodec includes decoders and encoders for the following formats:[12]
|
|
Libraries that depend on libavcodec
- libavformat (part of FFmpeg)
- libgegl (optional part of GEGL)
- libgimp (part of GIMP)
- libmpcodecs (part of MPlayer)
- libmpdemux (part of MPlayer)
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
- ffdshow (wraps libavcodec as a DirectShow filter and adds postprocessing to improve image quality; once installed, it is automatically used by all Windows DirectShow video players, such as Windows Media Player, Media Player Classic, Winamp etc. It also wraps libavcodec as a Video for Windows filter; the framework used by most video editing software.)
- GStreamer via the GStreamer FFmpeg plugin
- Perian
- Bellagio OpenMAX Integration Layer – open-source OpenMAX IL API implementation
Computer vision libraries
Browser
Media Center
Screen Capture
Device utilities
- BitPim – utilities for CDMA phones
CCTV
- ZoneMinder – video camera security suite
- Motion – video camera security/monitoring program
Game
- Performous – music game including singing, band and dance.
- StepMania
- Ultrastar
- osu!
Others
- Chameleo
- CorePlayer
- FreeJ
- Ingex Studio – used by BBC
- PulseAudio – includes only resamplers code[17]
References
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 2.0 2.1 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.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Council Directive 91/250/EEC of 14 May 1991 on the legal protection of computer programs
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.