1
0
mirror of https://git.ffmpeg.org/ffmpeg.git synced 2026-10-28 15:19:38 +03:00
Niklas Haas 4bf82ad8df avfilter/x86/vf_colordetect: split into offset and non-offset variants
This partially addresses a a performance regression otherwise introduced by
f37b9a3f, which matters especially for 8-bit content where the default
threshold value rounds down to an offset of 0.

The numbers are still slower than before because the scalar tail handling
code is slower by ~200 cycles, since we benchmark across an unaligned
width.

checkasm:
 - CPU: AMD Ryzen 9 9950X3D 16-Core Processor (00B40F40)
 - Timing source: x86 (rdtsc)
 - Bench duration: 100000 µs per function (460518890 cycles)
 - Random seed: 2935750295

Benchmark results:
  name                                  cycles (vs ref)
  detect_alpha_8_full_c:                7877.4
  detect_alpha_8_full_avx2:             1063.4 ( 7.41x)
  detect_alpha_8_full_avx512icl:         872.1 ( 9.03x)
  detect_alpha_8_full_off_c:            7890.3
  detect_alpha_8_full_off_avx2:         1085.5 ( 7.27x)
  detect_alpha_8_full_off_avx512icl:     873.0 ( 9.04x)
  detect_alpha_16_full_c:               3700.9
  detect_alpha_16_full_avx2:             797.7 ( 4.64x)
  detect_alpha_16_full_avx512icl:        612.1 ( 6.05x)
  detect_alpha_16_full_off_c:           3701.8
  detect_alpha_16_full_off_avx2:         801.2 ( 4.62x)
  detect_alpha_16_full_off_avx512icl:    684.8 ( 5.41x)

Sponsored-by: nxtedition AB
Signed-off-by: Niklas Haas <git@haasn.dev>
2026-09-01 13:15:06 +02:00
2025-08-08 21:51:15 +00:00
…
2025-06-23 14:48:40 +02:00
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.

Description
FFmpeg - это набор библиотек и инструментов для обработки мультимедийного контента, такого как аудио, видео, субтитры и связанные с ними метаданные
https://ffmpeg.org/ Readme 437 MiB
Languages
C 88.6%
Assembly 8.3%
Makefile 1.6%
GLSL 0.4%
C++ 0.3%
Other 0.6%