1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-12 19:18:44 +02:00
Go to file
Rémi Denis-Courmont 08edacc248 lavc/aacpsdsp: precompute constant factors
The input complex factors are constant for each iterations. This
substitudes 4 loads, 2 additions and 2 subtractions per iteration of
the inner-loop with another 4 loads. Thus effectively 4 arithmetic
operations per iteration of the inner loop are avoided, i.e. 24
operations per iteration of the outer loop, or 24 * (n - 1) operations
in total.

If the inner loop is not unrolled by the compiler, this also might
also save some pointer arithmetic as most instruction sets do not
have addressing modes with negated register offsets (12 - j). Unless
the compiler is optimising for code size, this is unlikely though.
2022-09-22 13:27:43 -03:00
compat compat/cuda: switch from powf to __powf intrinsic 2022-09-03 20:27:34 +02:00
doc doc/filters: add speechnorm examples 2022-09-18 19:43:42 +02:00
ffbuild
fftools fftools/ffmpeg: fix av_display_rotation_set() type cast 2022-09-22 20:03:57 +08:00
libavcodec lavc/aacpsdsp: precompute constant factors 2022-09-22 13:27:43 -03:00
libavdevice avutil/internal: Move avpriv-file API to a header of its own 2022-09-03 15:41:44 +02:00
libavfilter avfilter/avfilter: Make ff_command_queue_pop() static 2022-09-21 13:01:20 +02:00
libavformat avformat/icodec: Check nb_pal 2022-09-22 17:44:05 +02:00
libavutil avutil/channel_layout: mention how the API user should treat channel orders it does not understand 2022-09-22 10:22:19 -03:00
libpostproc configure: always enable gnu_windres if available 2022-08-13 14:42:36 +02:00
libswresample swsresample/swresample: error out on invalid layouts 2022-09-14 09:52:33 -03:00
libswscale swscale/output: Don't call av_pix_fmt_desc_get() in a loop 2022-09-19 23:40:41 +02:00
presets
tests fate/checkasm: add LPC test to list 2022-09-22 04:27:20 +02:00
tools tools/target_dec_fuzzer: Adjust threshold for Jpeg2000 2022-09-16 21:30:59 +02:00
.gitattributes
.gitignore
.mailmap
.travis.yml
Changelog avformat: add LAF demuxer 2022-09-16 10:02:19 +02:00
configure configure: Remove obsolete APTX decoder dependencies 2022-09-18 22:43:47 +02:00
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
INSTALL.md
LICENSE.md
MAINTAINERS MAINTAINERS: Add ED25519 key for signing my commits in the future 2022-08-09 21:57:31 +02:00
Makefile Makefile: Prompt for reconfigure on lavc/hwaccels.h modification 2022-07-01 00:34:38 +02:00
README.md
RELEASE RELEASE: update after 5.1 branch 2022-07-13 00:31:42 +02: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.