mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2026-03-13 09:00:40 +08:00
835781af23d9c45f25bee9d8faaa864d0dad6ee2
ff_h[yc]scale_fast_mmxext() call other functions from inline assembly; these functions look like leaf functions to GCC, so it may use the red zone to avoid modifying the stack. But this makes the call instructions in the inline asm corrupt the stack. In order to fix this424bcc46b5made libswscale/x86/swscale_mmx.o be compiled with -mno-red-zone. Later Libav fixed it in their version in commitb14fa5572cby saving and restoring the memory clobbered by the call (as is still done now). This was merged into FFmpeg in0e7fc3cafe, without touching the -mno-red-zone hack. Libav later renamed swscale_mmx.c to just swscale.c in16d2a1a51cwhich was merged into FFmpeg in commit2cb4d51654, without removing the -mno-red-zone hack, although the file it applies to no longer existed. This commit removes the special red-zone handling given that it is inactive anyway. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
…
FFmpeg README
FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.
Libraries
libavcodecprovides implementation of a wider range of codecs.libavformatimplements streaming protocols, container formats and basic I/O access.libavutilincludes hashers, decompressors and miscellaneous utility functions.libavfilterprovides means to alter decoded audio and video through a directed graph of connected filters.libavdeviceprovides an abstraction to access capture and playback devices.libswresampleimplements audio mixing and resampling routines.libswscaleimplements 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,ismindexandqt-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.
Languages
C
89.5%
Assembly
8.2%
Makefile
1.3%
C++
0.3%
GLSL
0.2%
Other
0.3%