Age | Commit message (Collapse) | Author |
|
Firstly, this test never worked as intended, always reporting
success. Secondly, bswap is available from 486 onward and can
thus be assumed present.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
With these changes, gcc 4.5 and later recognise it as a bswap
and use the proper instructions on ARM and x86. On x86, the
16-bit bswap is recognised from gcc 4.1.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
Solaris Studio (suncc) has difficulty with filling in
members of a union. Instead, let's retrieve and store the
cpuid() results separately. This is still a compiler bug,
however this fix does not cause a regression on other platforms.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
|
|
Without this, code like "shufps m0, m1, m2, 0xaa" would not work in CPUs
not supporting SSE2.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
|
|
|
|
We keep INIT_AVX (for backwards compatibility). 3arg AVX ops with
a memory arg can only have it in src2, whereas SSE emulation of
3arg prefers to have it in src1 (i.e. the mov). So, if the op is
symmetric and the wrong one is memory, swap them.
|
|
|
|
|
|
1<<31 overflows because 1 is signed, so force it to unsigned.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
|
|
This allows sharing them between multiple .asm files.
|
|
This allows using it in swscale also.
|
|
This allows using it in libswscale/ also.
|
|
This prevents a call to bytestream_get_be16() using a movzwl both before
and after the ror instruction, which is obviously inefficient. Arm uses
the same trick also.
Sintel decoding goes from (avg+SD) 9.856 +/- 0.003 to 9.797 +/- 0.003 sec.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
|
|
|
|
The Atom has SSSE3 support, which is useful in many cases, but sometimes the
SSSE3 version is slower than the SSE2 equivalent on the Atom, but is generally
faster on other processors supporting SSSE3. This flag allows for selectively
disabling certain SSSE3 functions on the Atom.
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
This allows the CPU detection to work with assemblers not supporting
the xgetbv mnemonic. These include clang and some BSD versions.
All AVX code will be written for yasm, where the main assembler
is not involved.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
This adds configure and runtime checks for AVX support on x86 CPUs.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
|
|
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
|
|
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
|
|
Originally committed as revision 25088 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Instead of defining functions in per-arch header files included
by the main cpu.c, define them normally and call them from the
generic one.
Originally committed as revision 25084 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
function and rename it to av_get_cpu_flags().
Originally committed as revision 25076 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.
Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
This reduces the number of false dependencies on header files and
speeds up compilation.
Originally committed as revision 22407 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 22337 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 21335 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Add x86 implementation using MMX/SSE.
Originally committed as revision 21281 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 18304 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.
Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
They are now always defined to either 0 or 1.
Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 15663 to svn://svn.ffmpeg.org/ffmpeg/trunk
|