No description
  • C 89.5%
  • Assembly 8.3%
  • Makefile 1.3%
  • C++ 0.3%
  • GLSL 0.2%
  • Other 0.2%
Find a file
Kacper Michajłow 7d57621b83
Some checks are pending
Lint / Pre-Commit (push) Waiting to run
Test / Fate (linux-amd64, static, 32 bit) (push) Waiting to run
Test / Fate (linux-aarch64, static, 64 bit) (push) Waiting to run
Test / Fate (linux-amd64, shared, 64 bit) (push) Waiting to run
Test / Fate (Full, wine) (push) Waiting to run
avutil/x86/x86util: tone down NASM workaround and use info section
The use of code section (.text) was forced by the unreleased NASM
3.02rc3 which made the issue worse, but preventing assambling anything
without code section, including when only data was present.

This works fine for the most part, but using code (.text) section with
IMAGE_COMDAT_SELECT_ANY causes issues with lib.exe after stripping such
object:
fatal error LNK1143: invalid or corrupt file: no symbol for COMDAT section 0x2

Esentially it makes our workaround not work in all cases, and while
string could be disabled like it already is for MSVC/ICL builds, it used
to work so let's preserve that state.

This make it not compatible with NASM 3.02rc3 when CV debug info is
generated, but hopefully the upstream fix will be merged before release,
to avoid this regression:
https://github.com/netwide-assembler/nasm/pull/221

Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
2026-03-30 19:46:53 +02:00
.forgejo
compat
doc doc/muxers: fix mpegts muxer documentation 2026-03-29 11:06:36 +00:00
ffbuild swscale/aarch64: add NEON sws_ops backend 2026-03-30 11:38:35 +00:00
fftools fftools/ffmpeg_filter: fix the incomplete printing of reason for video filter graph reconfiguration 2026-03-29 09:34:23 +00:00
libavcodec lavc/hevc: add aarch64 NEON for Planar prediction 2026-03-30 14:32:10 +00:00
libavdevice
libavfilter avfilter/x86/vf_atadenoise: move %if ARCH_X86_64 after x86util include 2026-03-29 22:22:29 +02:00
libavformat lavf/mpegtsenc: Add parentheses to clarify operator precedence in CC update 2026-03-29 11:06:36 +00:00
libavutil avutil/x86/x86util: tone down NASM workaround and use info section 2026-03-30 19:46:53 +02:00
libswresample
libswscale swscale/tests/.gitignore: Add sws_ops_aarch64 2026-03-30 14:31:25 +02:00
presets
tests tests/checkasm: add HEVC intra prediction test 2026-03-30 14:32:10 +00:00
tools
.gitattributes
.gitignore swscale/aarch64: add NEON sws_ops backend 2026-03-30 11:38:35 +00:00
.mailmap
Changelog
configure configure: enable nasm debug information also for non-ELF targets 2026-03-26 00:25:29 +00:00
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
FUNDING.json
INSTALL.md
LICENSE.md
MAINTAINERS
Makefile
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.