72a38c12e5

/ lint (push) Successful in 32s

/ run_fate (32, linux-amd64, static) (push) Successful in 12m21s

/ run_fate (64, linux-aarch64, static) (push) Successful in 8m2s

/ run_fate (64, linux-amd64, shared) (push) Successful in 11m50s

/ run_fate_full (ghcr.io/btbn/ffmpeg-builds/win64-gpl:latest, wine) (push) Successful in 24m32s

lavc/vvc: Prevent OOB write to slice_top_left_ctu_x in PPS CBS

Prior to the fix, in the case of a tile containing multiple slices
(pps_num_exp_slices_in_tile != 0) the number of slices was temporarily
allowed to exceed pps_num_slices_in_pic_minus1+1 and therefore
VVC_MAX_SLICES.  The number of slices was later verified, but while the
current slice index was higher than expected it was used to write to a
array of size VVC_MAX_SLICES, leading to an OOB write.

To rectify this, the patch adds some checks at an earlier stage, to
ensure that the slice index i + j at no point exceeds
pps_num_slices_in_pic_minus1.

Fixes #YWH-PGM40646-30

2025-12-30 13:39:40 +00:00
.forgejo .forgejo/CODEOWNERS: maintain tools/target_dec_fuzzer.c 2025-12-28 21:58:02 +00:00
compat compat: Fix .def file generation for ARM64EC builds on Windows 2025-12-19 10:01:16 +00:00
doc libavformat/file: apply pkt_size option to read mode 2025-12-30 00:49:13 +00:00
ffbuild configure: add detection of assembler support for SME 2025-12-09 21:38:38 +00:00
fftools fftools/ffmpeg_filter: fix access private API of libavcodec 2025-12-30 07:40:15 +00:00
libavcodec lavc/vvc: Prevent OOB write to slice_top_left_ctu_x in PPS CBS 2025-12-30 13:39:40 +00:00
libavdevice avdevice/gdigrab: suppress int to pointer cast warning 2025-12-03 23:45:44 +00:00
libavfilter avfilter/vf_libplacebo: replace preproc directive in function-like macros 2025-12-27 18:13:13 +00:00
libavformat libavformat/file: apply pkt_size option to read mode 2025-12-30 00:49:13 +00:00
libavutil avutil/iamf: add an AVOption for AVIAMFLayer.demixing_matrix 2025-12-29 11:59:36 -03:00
libswresample swresample/soxr_resample: pass initialized data to soxr_process() in flush() 2025-12-08 21:31:13 +00:00
libswscale swscale/tests/sws_ops: add optional -src and -dst parameters 2025-12-26 13:14:28 +00:00
presets presets: remove moldering iPod presets 2014-06-17 16:15:04 -08:00
tests tests/fate/iamf: add tests for Projection mode ambisonic Audio Elements 2025-12-29 12:02:53 -03:00
tools tools/sofa2wavs: fix build on Windows 2025-11-29 21:43:12 +00:00
.gitattributes gitattributes: End merge conflicts in Changelog 2025-03-17 15:26:10 +01:00
.gitignore .gitignore: Add config_components.asm 2025-11-02 13:10:58 +00:00
.mailmap mailmap: add entry for myself 2025-08-08 21:51:15 +00:00
Changelog avformat/iamf_writer: add support for Projection mode ambisonic Audio elements 2025-12-29 12:02:02 -03:00
configure avcodec/d3d12va_encode: support motion estimation precision mode 2025-12-22 05:35:04 +00:00
CONTRIBUTING.md Add CONTRIBUTING.md 2016-09-18 10:02:13 +01:00
COPYING.GPLv2 Rename COPYING.GPL --> COPYING.GPLv2 and COPYING.LGPL --> COPYING.LGPLv2.1. 2009-06-05 09:51:31 +00:00
COPYING.GPLv3 Add configure option to upgrade (L)GPL to version 3. 2009-06-05 11:04:03 +00:00
COPYING.LGPLv2.1 all: fix whitespace/new-line issues 2025-08-03 13:48:47 +02:00
COPYING.LGPLv3 Add configure option to upgrade (L)GPL to version 3. 2009-06-05 11:04:03 +00:00
CREDITS Use https for repository links 2023-03-01 21:59:10 +01:00
FUNDING.json Add FUNDING.json 2025-06-23 14:48:40 +02:00
INSTALL.md all: fix typos found by codespell 2025-08-03 13:48:47 +02:00
LICENSE.md Remove libpostproc 2025-05-07 15:35:47 +02:00
MAINTAINERS MAINTAINERS: Update the entries for AMF 2025-10-28 21:06:37 +00:00
Makefile configure: add detection of assembler support for SME 2025-12-09 21:38:38 +00:00
README.md README: fix typo and description of libavfilter 2021-10-08 09:44:34 +05:30
RELEASE RELEASE: update to 8.0 2025-08-14 08:42:29 -04:00

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.