No description
Find a file
Georgii Zagoruiko 90431417cb aarch64/vvc: Optimisations of put_luma_hv() functions for 10/12-bit
Apple M2:
put_luma_hv_10_4x4_c:                                   36.3 ( 1.00x)
put_luma_hv_10_8x8_c:                                   82.9 ( 1.00x)
put_luma_hv_10_8x8_neon:                                34.9 ( 2.37x)
put_luma_hv_10_16x16_c:                                239.2 ( 1.00x)
put_luma_hv_10_16x16_neon:                             119.0 ( 2.01x)
put_luma_hv_10_32x32_c:                                900.3 ( 1.00x)
put_luma_hv_10_32x32_neon:                             429.3 ( 2.10x)
put_luma_hv_10_64x64_c:                               2984.7 ( 1.00x)
put_luma_hv_10_64x64_neon:                            1736.2 ( 1.72x)
put_luma_hv_10_128x128_c:                            11194.2 ( 1.00x)
put_luma_hv_10_128x128_neon:                          6357.3 ( 1.76x)
put_luma_hv_12_4x4_c:                                   35.9 ( 1.00x)
put_luma_hv_12_8x8_c:                                   82.6 ( 1.00x)
put_luma_hv_12_8x8_neon:                                34.3 ( 2.41x)
put_luma_hv_12_16x16_c:                                240.2 ( 1.00x)
put_luma_hv_12_16x16_neon:                             115.3 ( 2.08x)
put_luma_hv_12_32x32_c:                                787.7 ( 1.00x)
put_luma_hv_12_32x32_neon:                             414.2 ( 1.90x)
put_luma_hv_12_64x64_c:                               3058.4 ( 1.00x)
put_luma_hv_12_64x64_neon:                            1592.3 ( 1.92x)
put_luma_hv_12_128x128_c:                            11350.8 ( 1.00x)
put_luma_hv_12_128x128_neon:                          6378.3 ( 1.78x)

RPi4:
put_luma_hv_10_4x4_c:                                  637.8 ( 1.00x)
put_luma_hv_10_8x8_c:                                 1044.9 ( 1.00x)
put_luma_hv_10_8x8_neon:                               483.7 ( 2.16x)
put_luma_hv_10_16x16_c:                               3098.0 ( 1.00x)
put_luma_hv_10_16x16_neon:                            1603.1 ( 1.93x)
put_luma_hv_10_32x32_c:                              10054.8 ( 1.00x)
put_luma_hv_10_32x32_neon:                            5843.6 ( 1.72x)
put_luma_hv_10_64x64_c:                              40506.2 ( 1.00x)
put_luma_hv_10_64x64_neon:                           24384.0 ( 1.66x)
put_luma_hv_10_128x128_c:                           130604.2 ( 1.00x)
put_luma_hv_10_128x128_neon:                         99746.6 ( 1.31x)
put_luma_hv_12_4x4_c:                                  638.2 ( 1.00x)
put_luma_hv_12_8x8_c:                                 1074.6 ( 1.00x)
put_luma_hv_12_8x8_neon:                               482.6 ( 2.23x)
put_luma_hv_12_16x16_c:                               3094.0 ( 1.00x)
put_luma_hv_12_16x16_neon:                            1602.5 ( 1.93x)
put_luma_hv_12_32x32_c:                              10034.4 ( 1.00x)
put_luma_hv_12_32x32_neon:                            5843.3 ( 1.72x)
put_luma_hv_12_64x64_c:                              40447.5 ( 1.00x)
put_luma_hv_12_64x64_neon:                           24377.2 ( 1.66x)
put_luma_hv_12_128x128_c:                           130610.4 ( 1.00x)
put_luma_hv_12_128x128_neon:                         99765.8 ( 1.31x)
2026-03-04 12:53:16 +00:00
.forgejo .forgejo/workflows: Test hardcoded tables 2026-02-14 20:15:13 +01:00
compat compat: Fix .def file generation for ARM64EC builds on Windows 2025-12-19 10:01:16 +00:00
doc avformat/mov: add support for multiple decryption keys 2026-02-28 04:01:08 +01:00
ffbuild vulkan: support shader compression 2026-01-12 17:28:41 +01:00
fftools fftools/cmdutils: constify string 2026-02-28 13:42:01 +01:00
libavcodec aarch64/vvc: Optimisations of put_luma_hv() functions for 10/12-bit 2026-03-04 12:53:16 +00:00
libavdevice avdevice/gdigrab: suppress int to pointer cast warning 2025-12-03 23:45:44 +00:00
libavfilter avfilter: add d3d12 deinterlace filter deinterlace_d3d12 2026-03-02 16:59:32 -05:00
libavformat avformat,avcodec: use PRI format macros for uint32_t in log messages 2026-03-04 10:40:12 +00:00
libavutil avutil/cpu: add static CPU feature flag for AArch64 CRC32 2026-03-03 21:38:00 +00:00
libswresample swresample/resample_template: add casts to avoid undefined overflows 2026-03-02 18:11:58 +01:00
libswscale swscale/vulkan: fix include order (cosmetic) 2026-03-04 12:04:12 +01:00
presets
tests tests/checkasm: add rgb32tobgr24 and rgb24tobgr32 tests 2026-03-04 10:30:08 +00:00
tools tools/target_dec_fuzzer: Adjust threshold for G2M 2026-02-23 23:45:14 +01:00
.gitattributes gitattributes: End merge conflicts in Changelog 2025-03-17 15:26:10 +01:00
.gitignore vulkan: support shader compression 2026-01-12 17:28:41 +01:00
.mailmap mailmap: add entry for myself 2025-08-08 21:51:15 +00:00
Changelog avfilter: add d3d12 deinterlace filter deinterlace_d3d12 2026-03-02 16:59:32 -05:00
configure avfilter: add d3d12 deinterlace filter deinterlace_d3d12 2026-03-02 16:59:32 -05:00
CONTRIBUTING.md CONTRIBUTING.md: Add Forgejo 2026-02-22 04:39:22 +00:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1 all: fix whitespace/new-line issues 2025-08-03 13:48:47 +02:00
COPYING.LGPLv3
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: add myself as whip maintainer 2026-01-11 04:24:55 +00:00
Makefile Makefile: add missing vpath for glsl/spv 2026-01-12 19:18:36 +01: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.