FFmpeg git repo
Go to file
James Almer e2b7ae4b19 avutil/md5: fix misaligned reads
This makes ubsan happy and also considerably increases performance on
big endian systems.

Tested on an IBM POWER7 3.55 GHz

Before:

2.24user 0.14system 0:02.39elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
2.26user 0.11system 0:02.38elapsed 99%CPU (0avgtext+0avgdata 2688maxresident)k
2.23user 0.15system 0:02.38elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
2.25user 0.12system 0:02.38elapsed 100%CPU (0avgtext+0avgdata 2624maxresident)k
2.20user 0.15system 0:02.36elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k

After:

1.86user 0.13system 0:02.00elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
1.89user 0.11system 0:02.01elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
1.85user 0.14system 0:02.00elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
1.84user 0.15system 0:01.99elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
1.89user 0.13system 0:02.02elapsed 99%CPU (0avgtext+0avgdata 2688maxresident)k

Tested-by: Nicolas George <george@nsup.org>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-03 13:36:49 -03:00
compat compat/cuda: fix ulong size on cygwin 2017-03-01 12:08:34 +01:00
doc ffmpeg: restructure sending EOF to filters 2017-03-03 08:45:43 +01:00
libavcodec avcodec/vp3: Do not return random positive values but the buf size 2017-03-03 17:17:53 +01:00
libavdevice
libavfilter
libavformat lavf/matroska: Support codec ID V_FFV1 for demuxing. 2017-03-03 02:04:34 +01:00
libavresample
libavutil avutil/md5: fix misaligned reads 2017-03-03 13:36:49 -03:00
libpostproc
libswresample
libswscale
presets
tests ffmpeg: init filtergraphs only after we have a frame on each input 2017-03-03 08:45:43 +01:00
tools
.gitattributes
.gitignore
.travis.yml
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
Changelog avcodec: add ClearVideo decoder 2017-03-02 11:39:54 +01:00
INSTALL.md
LICENSE.md
MAINTAINERS MAINTAINERS: Add Rodger Combs to ffmpeg-security 2017-02-28 01:13:52 +01:00
Makefile Makefile: Clean compat/atomics/pthread subdirectory. 2017-03-01 13:43:03 +01:00
README.md
RELEASE
arch.mak
cmdutils.c
cmdutils.h
cmdutils_common_opts.h
cmdutils_opencl.c
common.mak
configure
ffmpeg.c ffmpeg: delay processing of subtitles before filters are initialized 2017-03-03 08:45:43 +01:00
ffmpeg.h ffmpeg: delay processing of subtitles before filters are initialized 2017-03-03 08:45:43 +01:00
ffmpeg_cuvid.c ffmpeg_cuvid: adapt for recent filter graph initialization changes 2017-03-03 08:45:43 +01:00
ffmpeg_dxva2.c
ffmpeg_filter.c ffmpeg: properly cleanup filter graph on init failure 2017-03-03 08:45:43 +01:00
ffmpeg_opt.c ffmpeg: init filtergraphs only after we have a frame on each input 2017-03-03 08:45:43 +01:00
ffmpeg_qsv.c ffmpeg: init filtergraphs only after we have a frame on each input 2017-03-03 08:45:43 +01:00
ffmpeg_vaapi.c
ffmpeg_vdpau.c
ffmpeg_videotoolbox.c
ffplay.c
ffprobe.c
ffserver.c
ffserver_config.c
ffserver_config.h
library.mak
version.sh

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 a mean to alter decoded Audio and Video through chain of 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.
  • ffserver is a multimedia streaming server for live broadcasts.
  • 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.