Go to file
Lynne c39e861a3d
vulkan_h264: check if slices_buf exists on end_frame
The issue is that while decode_slice is guaranteed to never get
called without start_frame, end_frame is not. Moreover, it is
not guaranteed it won't be called twice.

On a badly-broken sample, this is what happens, which leads to
a segfault, as vp->slices_buf doesn't exist, as it has been handed
off for decoding already and isn't owned by the frame.

Return an error as it's indicative that it's a corrupt stream rather
than just missing any slices.

Prevents a segfault.
2023-06-25 03:11:38 +02:00
compat
doc doc/developer: Require new modules to include tests 2023-06-24 01:50:24 +02:00
ffbuild
fftools fftools/ffmpeg: pass subtitle decoder dimensions to sub2video 2023-06-19 09:48:56 +02:00
libavcodec vulkan_h264: check if slices_buf exists on end_frame 2023-06-25 03:11:38 +02:00
libavdevice avdevice/decklink_common: Convert to using avpriv_packet_list functions 2023-05-31 00:21:00 +02:00
libavfilter lavfi/vf_libplacebo: simplify SAR normalization 2023-06-23 15:18:25 +02:00
libavformat avformat/mov: fix overallocation when reading pssh/saiz 2023-06-24 12:58:15 +08:00
libavutil avutil/softfloat: Basic documentation for av_sincos_sf() 2023-06-23 02:06:46 +02:00
libpostproc
libswresample Move bessel_i0() from swresample/resample to avutil/mathematics 2023-05-29 00:45:28 +02:00
libswscale swscale: bump minor for implementing support for the new pixfmts 2023-05-29 00:42:02 +02:00
presets
tests avcodec/j2kenc: use uint64_t type for the lambda value 2023-06-24 14:39:04 -03:00
tools tools/target_dec_fuzzer: Adjust threshold for speex 2023-06-23 02:06:46 +02:00
.gitattributes
.gitignore
.mailmap
.travis.yml
Changelog Changelog: mention the recent AC-4 additions 2023-06-20 14:54:11 -03:00
configure avfilter/vf_drawtext: improve glyph shaping and positioning 2023-06-19 22:35:52 +02:00
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
INSTALL.md
LICENSE.md
MAINTAINERS MAINTAINERS: change Leo Izen IRC nickname 2023-06-20 12:46:47 -04:00
Makefile tools: add an AV_CODEC_CAP_ENCODER_RECON_FRAME test tool 2023-03-28 13:00:42 +02:00
README.md
RELEASE

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.