FFmpeg git repo
Go to file
Anton Khirnov 5939c8d361 lavu/fifo: disallow overly large fifo sizes
The API currently allows creating FIFOs up to
- UINT_MAX: av_fifo_alloc(), av_fifo_realloc(), av_fifo_grow()
- SIZE_MAX: av_fifo_alloc_array()
However the usable limit is determined by
- rndx/wndx being uint32_t
- av_fifo_[size,space] returning int
so no FIFO should be larger than the smallest of
- INT_MAX
- UINT32_MAX
- SIZE_MAX
(which should be INT_MAX an all commonly used platforms).
Return an error on trying to allocate FIFOs larger than this limit.
2022-02-07 00:29:05 +01:00
compat
doc lavc/qsvenc: add tile encoding support for VP9 2022-01-29 12:02:52 +08:00
ffbuild Makefile: Redo duplicating object files in shared builds 2022-01-04 05:01:04 +01:00
fftools ffprobe: allow side-data selection by element 2022-02-03 16:04:24 +05:30
libavcodec avcodec/decode: ignore unsupported skip samples packet side data values 2022-02-05 09:44:59 -03:00
libavdevice avdevice/iec61883: #if unused code away, fix -O0 compilation 2022-01-08 18:15:18 +01:00
libavfilter avfilter/asrc_sinc: switch to rdft from lavu/tx 2022-02-06 12:45:47 +01:00
libavformat avformat/rtpproto: set ttl upper bound to 255 2022-02-06 23:04:59 +01:00
libavutil lavu/fifo: disallow overly large fifo sizes 2022-02-07 00:29:05 +01:00
libpostproc lib*/version.h: Bump Versions after release/5.0 branch 2022-01-04 14:29:06 +01:00
libswresample lib*/version.h: Bump Versions after release/5.0 branch 2022-01-04 14:29:06 +01:00
libswscale swscale/x86/swscale: Remove superfluous and invalid ';' 2022-01-22 17:00:45 +01:00
presets
tests avformat/imf: add IMF CPL with repeated resources to FATE 2022-02-03 04:00:09 +01:00
tools tools/target_dec_fuzzer: Adjust threshold for prores 2021-12-16 21:06:47 +01:00
.gitattributes
.gitignore build: detect Metal.framework and build .metal files 2021-12-18 11:55:47 -08:00
.mailmap
.travis.yml
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
Changelog Changelog: Add new <next> line after 5.0 2022-01-05 08:37:55 -03:00
INSTALL.md
LICENSE.md
MAINTAINERS MAINTAINERS: add my gpg fingerprint 2021-12-23 09:25:16 +08:00
Makefile Makefile: Redo duplicating object files in shared builds 2022-01-04 05:01:04 +01:00
README.md
RELEASE
configure avfilter/asrc_sinc: switch to rdft from lavu/tx 2022-02-06 12:45:47 +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 means to alter decoded audio and video through a directed graph of connected 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.