1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
Go to file
Christophe Gisquet 110d0cdc9d rv40dsp x86: MMX/MMX2/3DNow/SSE2/SSSE3 implementations of MC
Code mostly inspired by vp8's MC, however:
- its MMX2 horizontal filter is worse because it can't take advantage of
  the coefficient redundancy
- that same coefficient redundancy allows better code for non-SSSE3 versions

Benchmark (rounded to tens of unit):
        V8x8  H8x8  2D8x8  V16x16  H16x16  2D16x16
C       445    358   985    1785    1559    3280
MMX*    219    271   478     714     929    1443
SSE2    131    158   294     425     515     892
SSSE3   120    122   248     387     390     763

End result is overall around a 15% speedup for SSSE3 version (on 6 sequences);
all loop filter functions now take around 55% of decoding time, while luma MC
dsp functions are around 6%, chroma ones are 1.3% and biweight around 2.3%.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-05-10 18:42:43 +02:00
doc lavc: pad last audio frame with silence when needed. 2012-05-09 17:46:54 +02:00
libavcodec rv40dsp x86: MMX/MMX2/3DNow/SSE2/SSSE3 implementations of MC 2012-05-10 18:42:43 +02:00
libavdevice build: cosmetics: Split HEADERS/OBJS/PROGS lists into one entry per line. 2012-05-07 14:01:32 +02:00
libavfilter lavfi: move audio-related functions to a separate file. 2012-05-09 20:32:49 +02:00
libavformat rtmp: Implement check bandwidth notification. 2012-05-10 13:55:32 +03:00
libavresample lavr: replace the SSE version of ff_conv_fltp_to_flt_6ch() with SSE4 and AVX 2012-05-09 16:17:59 -04:00
libavutil lavr: replace the SSE version of ff_conv_fltp_to_flt_6ch() with SSE4 and AVX 2012-05-09 16:17:59 -04:00
libswscale build: cosmetics: Split HEADERS/OBJS/PROGS lists into one entry per line. 2012-05-07 14:01:32 +02:00
presets
tests fate: cosmetics: lowercase some comments 2012-05-09 18:12:28 +02:00
tools Fix a bunch of common typos. 2012-03-09 22:02:49 +01:00
.gitignore gitignore: add Win32 library suffixes 2012-05-02 12:38:22 -04:00
arch.mak build: Consistently handle conditional compilation for all optimization OBJS. 2012-04-12 09:00:49 +02:00
avconv.c lavc: pad last audio frame with silence when needed. 2012-05-09 17:46:54 +02:00
avplay.c lavfi: add video buffer sink, and use it in avtools 2012-05-09 08:59:37 +02:00
avprobe.c avprobe: allow showing only one container/stream property. 2012-05-07 08:08:46 +02:00
avserver.c avserver: check return value of ftruncate() 2012-05-06 12:04:23 +01:00
Changelog Add libavresample 2012-04-24 21:28:27 -04:00
cmdutils_common_opts.h
cmdutils.c cmdutils: Add fallback case to switch in check_stream_specifier(). 2012-05-10 00:01:45 +02:00
cmdutils.h lavfi: add video buffer sink, and use it in avtools 2012-05-09 08:59:37 +02:00
common.mak build: Drop leftover .exp pattern from LIBSUFFIXES list. 2012-05-05 16:32:56 +02:00
configure configure: Add _XOPEN_SOURCE=600 to Solaris preprocessor flags. 2012-05-10 00:01:44 +02:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1 cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
COPYING.LGPLv3
CREDITS
Doxyfile Fix a bunch of platform name and other typos. 2012-01-11 13:48:30 +01:00
INSTALL
library.mak build: Only clean the architecture subdirectory we build for. 2012-03-26 13:29:03 +02:00
LICENSE Remove libpostproc. 2012-02-23 19:36:16 +01:00
Makefile Add libavresample 2012-04-24 21:28:27 -04:00
README
RELEASE Prepare for 0.8 Release 2012-01-21 14:54:31 +01:00
version.sh

Libav README
------------

1) Documentation
----------------

* Read the documentation in the doc/ directory.

2) Licensing
------------

* See the LICENSE file.