FFmpeg git repo
Go to file
wm4 ae5046e492 avcodec: allow multiple hwaccels for the same codec/pixfmt
Currently, AVHWAccels are looked up using a (codec_id, pixfmt) tuple.
This means it's impossible to have 2 decoders for the same codec and
using the same opaque hardware pixel format.

This breaks merging Libav's CUVID hwaccel. FFmpeg has its own CUVID
support, but it's a full stream decoder, using NVIDIA's codec parser.
The Libav one is a true hwaccel, which is based on the builtin software
decoders.

Fix this by introducing another field to disambiguate AVHWAccels, and
use it for our CUVID decoders. FF_CODEC_CAP_HWACCEL_REQUIRE_CLASS makes
this mechanism backwards compatible and optional.
2017-11-10 22:48:34 +01:00
compat compat/w32dlfcn: add missing config.h include 2017-11-07 16:50:26 -03:00
doc aptx: add raw muxer and demuxer for aptX 2017-11-10 21:32:06 +00:00
ffbuild Merge commit '857e26b655a769e5a56bada1a0d9adb44cc176b7' 2017-11-06 17:57:53 -03:00
fftools ffplay: use SDL2 audio API 2017-11-06 00:00:38 +01:00
libavcodec avcodec: allow multiple hwaccels for the same codec/pixfmt 2017-11-10 22:48:34 +01:00
libavdevice avdevice/decklink_dec: make some function static 2017-11-09 15:27:26 -03:00
libavfilter lavfi/scale2ref: Set output frame rate to main input frame rate. 2017-11-08 22:50:05 +01:00
libavformat aptx: add raw muxer and demuxer for aptX 2017-11-10 21:32:06 +00:00
libavresample Merge commit '07a2b155949eb267cdfc7805f42c7b3375f9c7c5' 2017-10-21 14:57:53 -03:00
libavutil avutil/frame: Add private_ref to AVFrame 2017-11-10 16:44:17 +01:00
libpostproc postproc: Drop deprecated qp typedef 2017-10-22 00:35:23 -03:00
libswresample lswr/rematrix: Support s32p. 2017-11-01 01:04:43 +01:00
libswscale Merge commit '0fd0d4fd0a518e30ff23972828ad7cf7f35cfb9d' 2017-10-30 12:34:40 -03:00
presets
tests checkasm/llviddsp: fix warnings about mixed declaration and code 2017-11-08 14:54:15 -03:00
tools tools/target_dec_fuzzer: Fix build after AV_CODEC_CAP_HWACCEL_VDPAU was removed 2017-10-25 21:50:37 +02:00
.gitattributes
.gitignore
.travis.yml Merge commit '4809781586d1c956005f72946a2aab5915eab350' 2017-10-28 15:08:31 -03:00
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
Changelog Changelog: list the new aptX features 2017-11-10 21:32:06 +00:00
INSTALL.md
LICENSE.md
MAINTAINERS Maintainers : add myself for exr 2017-11-05 22:13:12 +01:00
Makefile Merge commit 'd1d6230ea3dd2c34bcd121f958706f3177f8d8c5' 2017-10-11 18:37:56 -03:00
README.md
RELEASE RELEASE: update for git after 3.4 branchpoint 2017-10-11 02:46:23 +02:00
configure configure: fix the non pkg-config libmfx check on Windows 2017-11-09 15:27:43 -03:00

README.md

FFmpeg README

FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.

Libraries

  • libavcodec provides implementation of a wider range of codecs.
  • libavformat implements streaming protocols, container formats and basic I/O access.
  • libavutil includes hashers, decompressors and miscellaneous utility functions.
  • libavfilter provides a mean to alter decoded Audio and Video through chain of filters.
  • libavdevice provides an abstraction to access capture and playback devices.
  • libswresample implements audio mixing and resampling routines.
  • libswscale implements color conversion and scaling routines.

Tools

  • ffmpeg is a command line toolbox to manipulate, convert and stream multimedia content.
  • ffplay is a minimalistic multimedia player.
  • ffprobe is a simple analysis tool to inspect multimedia content.
  • ffserver is a multimedia streaming server for live broadcasts.
  • Additional small tools such as aviocat, ismindex and qt-faststart.

Documentation

The offline documentation is available in the doc/ directory.

The online documentation is available in the main website and in the wiki.

Examples

Coding examples are available in the doc/examples directory.

License

FFmpeg codebase is mainly LGPL-licensed with optional components licensed under GPL. Please refer to the LICENSE file for detailed information.

Contributing

Patches should be submitted to the ffmpeg-devel mailing list using git format-patch or git send-email. Github pull requests should be avoided because they are not part of our review process and will be ignored.