FFmpeg git repo
Go to file
Rémi Denis-Courmont 3a134e8299 lavu/fixed_dsp: optimise R-V V fmul_reverse
Gathers are (unsurprisingly) a notable exception to the rule that R-V V
gets faster with larger group multipliers. So roll the function to speed
it up.

Before:
vector_fmul_reverse_fixed_c:       2840.7
vector_fmul_reverse_fixed_rvv_i32: 2430.2

After:
vector_fmul_reverse_fixed_c:       2841.0
vector_fmul_reverse_fixed_rvv_i32:  962.2

It might be possible to further optimise the function by moving the
reverse-subtract out of the loop and adding ad-hoc tail handling.
2023-11-23 18:57:18 +02:00
compat configure: Set WIN32_LEAN_AND_MEAN at configure time 2023-08-14 22:57:28 +03:00
doc doc/git-howto: use less weird username for git URL 2023-11-22 10:21:50 +01:00
ffbuild ffbuild: Add gzip -n flag to fix reproducible builds 2023-11-05 11:30:13 +01:00
fftools fftools/ffplay: add hwaccel decoding support 2023-11-15 01:20:11 +08:00
libavcodec avcodec/ac3dsp: make len a size_t in float_to_fixed24 2023-11-22 18:33:00 -03:00
libavdevice avdevice/decklink_dec: add explicit specifier 2023-11-21 08:02:29 +08:00
libavfilter avfilter/asrc_afirsrc: fix by one smaller allocation of buffer 2023-11-23 15:01:55 +01:00
libavformat avformat/rtmpproto: Pass rw_timeout to underlying transport protocol 2023-11-22 21:02:04 +08:00
libavutil lavu/fixed_dsp: optimise R-V V fmul_reverse 2023-11-23 18:57:18 +02:00
libpostproc Bump versions after 6.1 2023-10-29 16:19:14 +01:00
libswresample Bump versions after 6.1 2023-10-29 16:19:14 +01:00
libswscale sws/rgb2rgb: fix unaligned accesses in R-V V YUYV to I422p 2023-11-13 18:34:29 +02:00
presets
tests test/checkasm: test llauddsp 2023-11-22 14:22:19 -03:00
tools tools/general_assembly: update to conform to new rules 2023-11-19 12:58:47 +01:00
.gitattributes
.gitignore
.mailmap mailmap: remap my email accounts 2023-11-03 20:57:49 +08:00
.travis.yml
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
Changelog avcodec: bump version after EVC additions 2023-11-20 11:55:51 -03:00
INSTALL.md
LICENSE.md
MAINTAINERS MAINTAINERS: add myself as a mediacodec and videotoolbox maintainer 2023-11-08 16:15:04 +08:00
Makefile tools: Don't include the direct library names when linking 2023-10-02 22:49:07 +03:00
README.md
RELEASE
configure avcodec/evc_decoder: Provided support for EVC decoder 2023-11-20 11:55:51 -03:00

README.md

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.