FFmpeg git repo
Go to file
James Almer 15574c505b x86/hevcdsp: add ff_hevc_sao_edge_filter_{10,12}_{sse2,avx2}
Original x86 intrinsics code by Pierre-Edouard Lepere.
Yasm port, refactoring and optimizations by James Almer.

Benchmarks of BQTerrace_1920x1080_60_qp22.bin with an Intel Core i5-4200U

Width 32
342694 decicycles in sao_edge_filter_10, 16384 runs, 0 skips
29476 decicycles in ff_hevc_sao_edge_filter_32_10_ssse3, 16384 runs, 0 skips
13996 decicycles in ff_hevc_sao_edge_filter_32_10_avx2, 16381 runs, 3 skips

Width 64
581163 decicycles in sao_edge_filter_10, 8192 runs, 0 skips
59774 decicycles in ff_hevc_sao_edge_filter_64_10_ssse3, 8192 runs, 0 skips
28383 decicycles in ff_hevc_sao_edge_filter_64_10_avx2, 8191 runs, 1 skips

Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-05 15:02:33 -03:00
compat compat/avisynth/avxsynth_c: Clear all unused fields in returned structs 2014-12-11 16:12:47 +01:00
doc doc/muxers/image2: remove the non-negative number requirement for start_number 2015-02-04 13:17:30 +01:00
libavcodec x86/hevcdsp: add ff_hevc_sao_edge_filter_{10,12}_{sse2,avx2} 2015-02-05 15:02:33 -03:00
libavdevice lavd/libcdio: add more paranoia mode constants 2015-01-31 11:32:05 +01:00
libavfilter avfilter/vf_fps: update frame drop comment 2015-02-05 06:03:11 +01:00
libavformat Fix compilation with --disable-protocol=udp 2015-02-05 10:07:03 +01:00
libavresample Merge commit '963f76144897d3f7684d82ec21e51dd50ea1106e' 2014-10-18 22:53:23 +02:00
libavutil x86: lavu/x264asm: fix ymm register instantiation 2015-02-04 00:18:29 +01:00
libpostproc Add FFMPEG_VERSION into the binary libs 2014-12-19 19:32:40 +01:00
libswresample swresample: Use int instead of enum for fields which are accessed through AVOptions as int 2015-02-02 23:27:26 +01:00
libswscale swscale/utils: Limit filter shifting so as not to read from prior the array 2015-02-05 00:33:50 +01:00
presets
tests tests/utils: Remove unneeded L suffix 2015-02-01 22:38:11 +01:00
tools tools/crypto_bench: add Camellia support 2015-01-26 13:37:57 -03:00
.gitattributes Treat all '*.pnm' files as non-text file 2014-11-28 17:52:43 -05:00
.gitignore Merge commit '11e05533170485b593974cf90916425a0188e7bd' 2015-02-02 21:16:15 +01:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
Changelog remove libmpcodecs 2015-01-31 12:01:54 +00:00
INSTALL.md
LICENSE.md remove libmpcodecs 2015-01-31 12:01:54 +00:00
MAINTAINERS Adding Closed caption accessories 2015-01-11 22:19:48 +01:00
Makefile Makefile: add dependencies which require ffversion.h 2014-12-20 04:17:03 +01:00
README.md README: fix 2 typo in the doc/examples sentence 2014-11-03 09:21:45 +01:00
RELEASE RELEASE: Bump 2014-12-04 11:44:35 +01:00
RELEASE_NOTES avformat/mov: Disable XMP metadata by default 2014-12-11 21:47:37 +01:00
arch.mak
cmdutils.c stop embedding the build date 2015-02-02 05:04:14 +01:00
cmdutils.h opts: add list device sources/sinks options 2014-10-25 20:20:31 +02:00
cmdutils_common_opts.h opts: add list device sources/sinks options 2014-10-25 20:20:31 +02:00
cmdutils_opencl.c
common.mak
configure Merge commit 'd615187f74ddf3413778a8b5b7ae17255b0df88e' 2015-02-04 13:49:17 +01:00
ffmpeg.c ffmpeg: Make CFR frame drop threshold user adjustable 2015-02-04 02:40:41 +01:00
ffmpeg.h ffmpeg: Make CFR frame drop threshold user adjustable 2015-02-04 02:40:41 +01:00
ffmpeg_dxva2.c ffmpeg_dxva2: add hevc support 2015-01-27 12:37:34 +01:00
ffmpeg_filter.c ffmpeg: fix accurate seeking with -copyts 2014-11-24 17:31:26 +01:00
ffmpeg_opt.c ffmpeg: Make CFR frame drop threshold user adjustable 2015-02-04 02:40:41 +01:00
ffmpeg_vda.c
ffmpeg_vdpau.c Merge commit '1f9237f2ac46dfbed1bfa1f4f0f1314c2a1d62ec' 2014-12-27 13:26:38 +01:00
ffplay.c ffplay: Fallback to dts if pts is unavailable in pkt_in_play_range calculation 2015-02-02 02:50:33 +01:00
ffprobe.c stop embedding the build date 2015-02-02 05:04:14 +01:00
ffserver.c ffserver: reflow find_stream_in_feed() 2015-01-24 02:22:09 -03:00
ffserver_config.c ffserver_config: reflow add_codec() 2014-12-09 01:03:01 -03:00
ffserver_config.h ffserver: dont leak child arguments 2014-11-26 23:32:33 +01:00
library.mak Merge commit 'bb0babd7054bed7edfd9f4d6b20cdba864de1830' 2014-07-22 02:45:45 +02:00
version.sh version.sh: Print versions based on the last git tag for release branches 2014-07-28 15:44:59 +02: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 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 analisys 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.