FFmpeg git repo
Go to file
Andreas Rheinhardt cfc6552032 avfilter/formats: Avoid allocations when merging channel layouts
When one merges two AVFilterChannelLayouts structs, there is no need to
allocate a new one. Instead one can reuse one of the two given ones.
If one does this, one also doesn't need to update the references of the
AVFilterChannelLayouts that is reused. Therefore this commit reuses the
structure with the higher refcount.

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-08-13 16:28:49 +02:00
compat compat/cuda/ptx2c: remove shell loop; fix BSD sed compat 2020-06-01 22:10:41 -05:00
doc doc/general: mark that CFHD have encoder now 2020-08-11 12:34:41 +02:00
ffbuild ffbuild: Refine MIPS handling 2020-07-23 16:30:02 +02:00
fftools fftools/ffmpeg: make specifying thread_queue_size turn on threaded input 2020-07-29 23:10:12 +02:00
libavcodec cbs: Mention all codecs in unit type comment 2020-08-12 22:02:03 +01:00
libavdevice kmsgrab: Add more supported formats 2020-08-09 20:18:49 +01:00
libavfilter avfilter/formats: Avoid allocations when merging channel layouts 2020-08-13 16:28:49 +02:00
libavformat lavf/url: rewrite ff_make_absolute_url() using ff_url_decompose(). 2020-08-12 16:45:21 +02:00
libavresample
libavutil avutil/channel_layout: add 22.2 layout 2020-08-04 00:17:56 +03:00
libpostproc Bump minor versions after branching 4.3 2020-06-08 22:49:04 +02:00
libswresample swresample/rematrix: treat 22.2 as 5.1 (back) when mixing 2020-08-04 00:17:56 +03:00
libswscale swscale: do not drop half of bits from 16bit bayer formats 2020-08-08 12:03:42 +02:00
presets
tests lavc/aac_ac3_parser: fix potential overflow when averaging bitrate 2020-08-12 17:35:38 +02:00
tools dnn_backend_native_layer_mathunary: add round support 2020-08-12 10:30:46 +08:00
.gitattributes
.gitignore
.mailmap mailmap: add entry for myself 2020-07-13 11:24:04 +08:00
.travis.yml
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
Changelog avformat: add argo_asf muxer 2020-08-07 23:14:28 +10:00
INSTALL.md
LICENSE.md
MAINTAINERS MAINTAINERS: add myself and gpg fingerprint 2020-07-17 21:57:18 +02:00
Makefile Makefile: Delete more created files when running "make distclean". 2020-03-11 11:43:01 +01:00
README.md
RELEASE RELEASE: We are after the 4.3 branch point, update for that 2020-06-10 00:20:24 +02:00
configure kmsgrab: Use GetFB2 if available 2020-08-09 20:18:48 +01: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.
  • 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.