FFmpeg git repo
Go to file
Mans Rullgard 5b170c0bea x86: remove FASTDIV inline asm
GCC 4.3 and later do the right thing with the plain C code.  Earlier
versions in 32-bit mode generate one extra instruction, needlessly
zeroing what would be the high half of the shifted value.  At least
two gcc configurations miscompile the inline asm in some situations.

In 64-bit mode, all gcc versions generate imul r64, r64 followed by
shr.  On Intel i7 and later, this imul is faster 32-bit mul.  On
older Intel and all AMD, it is slightly slower.  On Atom it is much
slower.

Considering where the FASTDIV macro is used, any overall negative
performance impact of this change should be negligible.  If anyone
cares, they should file a bug against gcc and get the instruction
selection fixed.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-22 14:29:10 +01:00
compat getopt: Remove an unnecessary define 2012-08-16 23:12:50 +03:00
doc lavc: add Ut Video encoder 2012-08-20 11:22:59 +02:00
libavcodec build: x86: Only compile mpegvideo optimizations when necessary 2012-08-22 01:06:33 +02:00
libavdevice Don't include common.h from avutil.h 2012-08-15 22:32:06 +03:00
libavfilter Add missing includes for code relying on external libraries 2012-08-16 16:47:02 +03:00
libavformat libavformat: add const to AVCodec pointers 2012-08-18 14:20:57 +01:00
libavresample Don't include common.h from avutil.h 2012-08-15 22:32:06 +03:00
libavutil x86: remove FASTDIV inline asm 2012-08-22 14:29:10 +01:00
libswscale swscale: x86: fix #endif comments in rgb2rgb template file 2012-08-19 21:50:09 +02:00
presets
tests fate: flac: Only run tests requiring samples when samples are available 2012-08-22 00:58:44 +02:00
tools Don't include common.h from avutil.h 2012-08-15 22:32:06 +03:00
.gitignore build: change checkheaders to use regular build rules 2012-08-07 21:36:51 +01:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
Changelog lavc: add Ut Video encoder 2012-08-20 11:22:59 +02:00
Doxyfile x86: build: replace mmx2 by mmxext 2012-08-03 22:51:05 +02:00
INSTALL
LICENSE doc: Clarify licensing issues arising from external libraries 2012-08-12 13:28:58 +02:00
Makefile build: add HOSTOBJS to SUBDIR_VARS list 2012-08-09 03:49:19 +02:00
README
RELEASE
arch.mak
avconv.c avconv: make -shortest a per-output file option. 2012-08-18 08:48:30 +02:00
avconv.h avconv: make -shortest a per-output file option. 2012-08-18 08:48:30 +02:00
avconv_filter.c cmdutils: extend -h to allow printing codec details. 2012-08-19 19:22:08 +02:00
avconv_opt.c avconv: mark more options as expert. 2012-08-19 19:26:20 +02:00
avplay.c avconv: split printing "main options" into global and per-file. 2012-08-19 19:23:43 +02:00
avprobe.c avconv: split printing "main options" into global and per-file. 2012-08-19 19:23:43 +02:00
avserver.c avconv: split printing "main options" into global and per-file. 2012-08-19 19:23:43 +02:00
cmdutils.c avconv: split printing "main options" into global and per-file. 2012-08-19 19:23:43 +02:00
cmdutils.h avconv: split printing "main options" into global and per-file. 2012-08-19 19:23:43 +02:00
cmdutils_common_opts.h cmdutils: extend -h to allow printing codec details. 2012-08-19 19:22:08 +02:00
common.mak build: change checkheaders to use regular build rules 2012-08-07 21:36:51 +01:00
configure configure: Drop fastdiv option 2012-08-22 01:02:18 +02:00
library.mak build: Remove all installed headers and header directories on uninstall 2012-08-07 22:54:43 +02:00
version.sh

README

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

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

* Read the documentation in the doc/ directory.

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

* See the LICENSE file.