mirror of
https://mirror.skon.top/https://github.com/FFmpeg/FFmpeg
synced 2026-04-23 10:20:54 +08:00
e6635ada646b9ca65355a7904000103e1a0bd31e
They are used to process tail, so it's still good to have them faster. Even if AVX version are used. GCC 14.2.0 | x86_64 (default config) | Before: detect_alpha_8_full_c: 3803.0 ( 1.00x) detect_alpha_8_full_avx2: 166.4 (22.86x) detect_alpha_8_full_avx512icl: 144.2 (26.37x) detect_alpha_8_limited_c: 10454.4 ( 1.00x) detect_alpha_8_limited_avx2: 616.5 (16.96x) detect_alpha_8_limited_avx512icl: 509.4 (20.52x) detect_alpha_16_full_c: 1903.0 ( 1.00x) detect_alpha_16_full_avx2: 172.4 (11.04x) detect_alpha_16_full_avx512icl: 163.4 (11.65x) detect_alpha_16_limited_c: 3703.6 ( 1.00x) detect_alpha_16_limited_avx2: 644.4 ( 5.75x) detect_alpha_16_limited_avx512icl: 558.0 ( 6.64x) detect_range_8_c: 5855.9 ( 1.00x) detect_range_8_avx2: 150.4 (38.94x) detect_range_8_avx512icl: 146.7 (39.91x) detect_range_16_c: 2702.2 ( 1.00x) detect_range_16_avx2: 256.7 (10.53x) detect_range_16_avx512icl: 116.8 (23.13x) GCC 14.2.0 | x86_64 (default config) | After: detect_alpha_8_full_c: 376.3 ( 1.00x) detect_alpha_8_full_avx2: 169.2 ( 2.22x) detect_alpha_8_full_avx512icl: 134.6 ( 2.80x) detect_alpha_8_limited_c: 6024.1 ( 1.00x) detect_alpha_8_limited_avx2: 641.8 ( 9.39x) detect_alpha_8_limited_avx512icl: 493.0 (12.22x) detect_alpha_16_full_c: 436.4 ( 1.00x) detect_alpha_16_full_avx2: 156.3 ( 2.79x) detect_alpha_16_full_avx512icl: 151.8 ( 2.87x) detect_alpha_16_limited_c: 3679.9 ( 1.00x) detect_alpha_16_limited_avx2: 642.0 ( 5.73x) detect_alpha_16_limited_avx512icl: 555.2 ( 6.63x) detect_range_8_c: 655.2 ( 1.00x) detect_range_8_avx2: 153.9 ( 4.26x) detect_range_8_avx512icl: 147.4 ( 4.45x) detect_range_16_c: 743.3 ( 1.00x) detect_range_16_avx2: 258.6 ( 2.87x) detect_range_16_avx512icl: 107.7 ( 6.90x) Clang 19.1.7 | x86_64 (default config) | Before: detect_alpha_8_full_c: 7013.4 ( 1.00x) detect_alpha_8_full_avx2: 141.8 (49.46x) detect_alpha_8_full_avx512icl: 133.8 (52.40x) detect_alpha_8_limited_c: 7038.8 ( 1.00x) detect_alpha_8_limited_avx2: 605.0 (11.63x) detect_alpha_8_limited_avx512icl: 506.5 (13.90x) detect_alpha_16_full_c: 1799.5 ( 1.00x) detect_alpha_16_full_avx2: 143.0 (12.59x) detect_alpha_16_full_avx512icl: 127.5 (14.12x) detect_alpha_16_limited_c: 3499.6 ( 1.00x) detect_alpha_16_limited_avx2: 633.6 ( 5.52x) detect_alpha_16_limited_avx512icl: 551.9 ( 6.34x) detect_range_8_c: 5253.6 ( 1.00x) detect_range_8_avx2: 125.0 (42.01x) detect_range_8_avx512icl: 123.2 (42.65x) detect_range_16_c: 3055.2 ( 1.00x) detect_range_16_avx2: 230.0 (13.28x) detect_range_16_avx512icl: 95.9 (31.86x) Clang 19.1.7 | x86_64 (default config) | After: detect_alpha_8_full_c: 323.3 ( 1.00x) detect_alpha_8_full_avx2: 149.7 ( 2.16x) detect_alpha_8_full_avx512icl: 127.7 ( 2.53x) detect_alpha_8_limited_c: 5075.9 ( 1.00x) detect_alpha_8_limited_avx2: 625.4 ( 8.12x) detect_alpha_8_limited_avx512icl: 493.0 (10.30x) detect_alpha_16_full_c: 421.0 ( 1.00x) detect_alpha_16_full_avx2: 238.8 ( 1.76x) detect_alpha_16_full_avx512icl: 126.0 ( 3.34x) detect_alpha_16_limited_c: 3516.8 ( 1.00x) detect_alpha_16_limited_avx2: 624.7 ( 5.63x) detect_alpha_16_limited_avx512icl: 544.7 ( 6.46x) detect_range_8_c: 609.1 ( 1.00x) detect_range_8_avx2: 239.4 ( 2.54x) detect_range_8_avx512icl: 89.0 ( 6.84x) detect_range_16_c: 463.9 ( 1.00x) detect_range_16_avx2: 127.4 ( 3.64x) detect_range_16_avx512icl: 86.4 ( 5.37x) Signed-off-by: Kacper Michajłow <kasper93@gmail.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.
Description
Languages
C
89.4%
Assembly
8.3%
Makefile
1.3%
C++
0.3%
GLSL
0.3%
Other
0.2%